• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,338
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
57
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1 Manuale DEFT 7 Gli autori Stefano “youngSTEr” Fratepietro Si laurea nel 2006 in Information Technology and Management (Scienze di Internet) presso l’Università degli Studi di Bologna con tesi di laurea in Informatica Forense dal titolo “Uno studio del caso virus Vierika”; certificato Offensive Security OSCP e ISECOM OPST, attualmente è un security specialist presso l’ufficio IT-security del CSE (Consorzio Servizi Bancari) ed effettua attività peritali per tribunali, forze dell’ordine e privati partecipando come consulente tecnico a casi di fama nazionale come “Buongiorno! Vitaminic” e “Pirelli-Telecom-Ghioni”. Dal 2005 è creatore e project leader del sistema DEFT. Saltuariamente effettua attività di docenza in Informatica Forense per Università italiane e corsi privati. Sandro “bUSBoy” Rossetti Alessandro Rossetti vive e lavora a Roma. Molti dei suoi interessi personali riguardano lInformation Technology, in particolare le problematiche di intelligence e forensic. È membro di diverse organizzazioni indipendenti quali ISACA ed IACIS. Paolo Dal Checco Ha conseguito il titolo di Dottore di Ricerca nel 2006 presso l’Università degli Studi di Torino, nel Gruppo di Sicurezza del Dipartimento di Informatica. Ha svolto docenza in ambiti universitari, ICT e aziendali oltre a collaborazioni con aziende che operano nel settore della sicurezza e privacy delle comunicazioni. È socio fondatore dello studio di consulenza informatica forense “Digital Forensics Bureau” (www.difob.it) di Torino. È Socio Amministratore della Digit Law Srl (www.digitlaw.it). Effettua attività di consulenza tecnica per tribunali e procure, forze dell’ordine e privati.
  • 2. 2 Manuale DEFT 7 Licenza d’uso Attribuzione - Non commerciale 3.0 Italia Tu sei libero di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, distribuire, rappresentare, eseguire, recitare e di modificare questopera alle seguenti condizioni: Attribuzione — Devi attribuire la paternità dellopera nei modi indicati dallautore o da chi ti ha dato lopera in licenza e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi lopera. Non commerciale — Non puoi usare questopera per fini commerciali. Rinuncia — È possibile rinunciare a qualunque delle condizioni sopra descritte se ottieni lautorizzazione dal detentore dei diritti. Pubblico Dominio — Nel caso in cui lopera o qualunque delle sue componenti siano nel pubblico dominio secondo la legge vigente, tale condizione non è in alcun modo modificata dalla licenza. Altri Diritti — La licenza non ha effetto in nessun modo sui seguenti diritti: cenza Le eccezioni, libere utilizzazioni e le altre utilizzazioni consentite dalla legge sul diritto dautore; I diritti morali dellautore; Diritti che altre persone possono avere sia sullopera stessa che su come lopera viene che utilizzata, come il diritto allimmagine o alla tutela dei dati personali. Nota — Ogni volta che usi o distribuisci questopera, devi farlo secondo i termini di questa licenza, che va comunicata con chiarezza. Questo è un riassunto in linguaggio accessibile a tutti della licenza integrale: to http://creativecommons.org/licenses/by-nc/3.0/it/legalcode http://creativecommons.org/licenses/by
  • 3. 3 Manuale DEFT 7 Dedicato ad Ele ed a Silvia per la infinita pazienza. Dedicato anche a Stefano e Alessandro, sperando che prendano più dalle madri che dai loro padri. A Samanta e Kim.
  • 4. 4 Manuale DEFT 7 Ringraziamenti Ci teniamo a ringraziare quanti nel corso degli ultimi anni hanno contribuito alla nostra crescita personale. Ringraziamo anche chi ha lavorato dietro le quinte per la realizzazione di DEFT, contribuendo anche indirettamente alla realizzazione del manuale d’uso. Massimiliano Dal Cero Valerio Leomporra Davide “Rebus” Gabrini Marco Giorgi Bartolomeo “Meo” Bogliolo Emanuele Gentili Un doveroso ringraziamento va anche a Simone e Ivan per il loro aiuto nel ricontrollare questo manuale. Vogliamo infine ringraziare Architecture Technology Corporation per averci permesso di inserire “Dropbox Reader™” in questa distribuzione.
  • 5. 5 Manuale DEFT 7 Premessa Tramite questo manuale vogliamo dare al lettore un assaggio delle principali funzioni e potenzialità della distribuzione DEFT, un punto di partenza per stimolare la crescita delle proprie conoscenze tecniche. Non troverete quindi in queste pagine spiegazioni esaustive sull’utilizzo di tutti gli applicativi e comandi attualmente presenti nella distribuzione. Per cercare di facilitare lo studio, abbiamo inserito alcuni esempi che suggeriscono all’utente come poter svolgere alcune delle principali attività di Digital Forensics quali: • l’acquisizione e preservazione di memorie di massa (dischi rigidi, penne USB, lettori mp3, Smartphone, ecc.) o traffico telematico su rete IP; • l’analisi e la gestione di casi. Buona lettura!
  • 6. 6 Manuale DEFT 7 Sommario CAPITOLO 1: INTRODUZIONE .................................................................................................. 9 1.1 COS’È DEFT? ............................................................................................................................ 9 1.2 PERCHÉ DEFT È IMPIEGABILE NELLATTIVITÀ DI DIGITAL FORENSICS? .................................................. 10 CAPITOLO 2: REQUISITI DI SISTEMA.......................................................................................11 2.1 DEFT..................................................................................................................................... 11 2.2 DART .................................................................................................................................... 11 CAPITOLO 3: ELENCO DELLE APPLICAZIONI ............................................................................12 3.1 DEFT LINUX............................................................................................................................ 12 3.2 DART 1.0 .............................................................................................................................. 13 CAPITOLO 4: AVVIARE DEFT LINUX LIVE DVD .........................................................................15 4.1 VERIFICARE L’INTEGRITÀ DELL’IMMAGINE DI DEFT SCARICATA DA INTERNET ........................................ 15 4.2 MASTERIZZARE DEFT LINUX SU UN SUPPORTO OTTICO .................................................................... 16 4.3 CREARE UNA PENNA USB AVVIABILE CONTENENTE DEFT LINUX ........................................................ 17 4.4 IMPOSTAZIONE DEL BIOS E/O DEL BOOT SELECTION POPUP/MENU .................................................. 18 4.5 PARAMETRI DI AVVIO DI DEFT .................................................................................................... 19 4.6 INSTALLAZIONE DI DEFT LINUX 7 ................................................................................................ 22 CAPITOLO 5: DEFT LINUX TEXT MODE ...................................................................................24 5.1 GESTIONE DELLE MEMORIE DI MASSA ........................................................................................... 24 5.1.1 Comandi utili .............................................................................................................. 25 5.1.2 Mount delle memorie ................................................................................................ 25 5.1.3 Mount di un device (hard disk, penna USB, floppy disk, CDROM, ecc...) ................... 26 5.1.4 Mount di un file immagine DD/RAW ......................................................................... 27 5.1.5 Mount di un file immagine DD/RAW suddiviso in più file (split raw) ......................... 28 5.1.6 File di tipo EWF/Encase .............................................................................................. 30 5.1.7 File di tipo AFF ............................................................................................................ 30 5.2 CALCOLO DELL’HASH ................................................................................................................. 31 5.2.1 Md5sum ..................................................................................................................... 31 5.2.2 Sha1sum..................................................................................................................... 32 5.2.3 Md5 e sha deep.......................................................................................................... 32 5.2.4 Dhash ......................................................................................................................... 32 5.3 ACQUISIZIONE MEMORIE DI MASSA .............................................................................................. 33 5.3.1 dd ............................................................................................................................... 33 5.3.2 ddrescue ..................................................................................................................... 33
  • 7. 7 Manuale DEFT 7 5.3.3 dcfldd ......................................................................................................................... 34 5.3.4 Dhash ......................................................................................................................... 34 5.4 CREAZIONE DI UNA TIME LINE...................................................................................................... 35 5.4.1 fls ............................................................................................................................... 35 5.4.2 mactime ..................................................................................................................... 36 5.5 CREAZIONE DI UNA SUPERTIMELINE .............................................................................................. 38 5.6 RICERCA FILE E CARTELLE ............................................................................................................ 42 5.6.1 Locate......................................................................................................................... 42 5.6.2 Find ............................................................................................................................ 43 5.7 CARVING DI FILE ....................................................................................................................... 43 5.7.1 Foremost .................................................................................................................... 43 CAPITOLO 6: DEFT LINUX GUI MODE .....................................................................................45 6.1 INTRODUZIONE ........................................................................................................................ 45 6.2 GESTIONE DELLA MEMORIA DI MASSA ........................................................................................... 48 6.3 MOUNT MANAGER ................................................................................................................... 49 6.4 CALCOLO DELL’HASH ................................................................................................................. 50 6.5 ACQUISIZIONE DI MEMORIE DI MASSA........................................................................................... 50 6.5.1 Dhash ......................................................................................................................... 51 6.5.2 Guymager .................................................................................................................. 52 6.6 RICERCA DI FILE E CARTELLE ........................................................................................................ 53 6.6.1 Catfish ........................................................................................................................ 53 6.7 FINDWILD ............................................................................................................................... 54 6.8 CARVING DI FILE DA GUI ............................................................................................................ 55 6.9 GESTIONE DI UN CASO CON AUTOPSY ........................................................................................... 57 6.10 XPLICO .............................................................................................................................. 65 6.10.1 Creazione di un caso.............................................................................................. 66 6.11 HYDRA .............................................................................................................................. 70 6.12 KEEPNOTE .......................................................................................................................... 72 6.13 MALTEGO .......................................................................................................................... 73 CAPITOLO 7: MOBILE FORENSICS ...........................................................................................74 7.1 ANDROID ................................................................................................................................ 76 7.2 BREVE PANORAMICA SULLE APPLICAZIONI GOOGLE ......................................................................... 77 7.2.1 Gmail .......................................................................................................................... 78 7.2.2 Market ....................................................................................................................... 79 7.2.3 File System in uso ....................................................................................................... 79 7.2.4 EXT4 file system ......................................................................................................... 80
  • 8. 8 Manuale DEFT 7 7.2.5 Policy di utilizzo delle memorie di massa ................................................................... 81 7.2.6 Accesso al file system del sistema operativo ............................................................. 81 7.3 SAMSUNG GALAXY S I9000– CARATTERISTICHE HARDWARE ............................................................. 83 Processore: S5PC110 CPU, 45 nm 1 GHz ARM Cortex-A8 based PowerVR SGX 540 GPU con supporto OpenGL ES 1.1/2.0. ................................................................................................... 83 7.3.1 Procedura per il “rooting” del dispositivo .................................................................. 84 7.3.2 Samsung Galaxy S - acquisizione fisica della memoria flash interna ......................... 85 7.4 SAMSUNG GALAXY S - ACQUISIZIONE FISICA DELLA MEMORIA ESTERNA ............................................... 87 7.4.1 Lavorare direttamente sullo smartphone .................................................................. 88 7.4.2 Posizione e analisi delle applicazioni e dei file di comune interesse .......................... 88 7.4.3 Esempio di analisi sullapplicazione Google Maps ..................................................... 90 CAPITOLO 8: DART – DIGITAL ADVANCED RESPONSE TOOLKIT ..............................................92 CAPITOLO 9: PER APPROFONDIRE .........................................................................................96 CAPITOLO 10: APPENDICE 1 – PARAMETRI PER IL BOOT DEL KERNEL ......................................97 CAPITOLO 11: APPENDICE 2 – MAN PAGE..............................................................................184 11.1 MOUNT ........................................................................................................................... 184 11.2 AFFUSE............................................................................................................................ 215 11.3 SHA1SUM ........................................................................................................................ 221 11.4 MD5, SHA1, SHA256 DEEP ................................................................................................. 223 11.5 DHASH ............................................................................................................................ 227 11.6 GREP .............................................................................................................................. 228 11.7 DD.................................................................................................................................. 241 11.8 DD RESCUE ...................................................................................................................... 244 11.9 DCFLDD .......................................................................................................................... 246 11.10 FLS ................................................................................................................................. 251 11.11 MACTIME ........................................................................................................................ 253 11.12 LOCATE............................................................................................................................ 254 11.13 FIND ............................................................................................................................... 259 11.14 FOREMOST ....................................................................................................................... 285
  • 9. 9 Manuale DEFT 7 Capitolo 1: Introduzione 1.1 Cos’è DEFT? La distribuzione Linux1 DEFT2 è composta da un sistema Gnu/Linux e da DART (Digital Advanced Response Toolkit), suite dedicata alle attività di digital forensics3 ed intelligence4. È attualmente sviluppata e gestita da Stefano Fratepietro, con il supporto di Massimiliano Dal Cero, Sandro Rossetti, Paolo Dal Checco, Davide Gabrini, Bartolomeo Bogliolo, Valerio Leomporra e Marco Giorgi. La prima versione di DEFT Linux ha visto la luce nel 2005 grazie anche all’aiuto del corso di Informatica Forense della facoltà di Giurisprudenza dell’Università degli Studi di Bologna. Questa distribuzione è tutt’oggi utilizzata durante le ore di laboratorio del corso di Informatica Forense nell’Università di Bologna ed in molte altre università internazionali ed enti privati. È inoltre una delle principali soluzioni impiegate durante l’attività di Digital Forensics di molte forze dell’ordine. Oltre ad un numero considerevole di applicazioni e script linux, Deft contiene anche la suite DART contenente applicazioni Windows (sia open source5 sia closed source) di cui ancora non esiste un equivalente altrettanto valido nel mondo *nix. Questo manuale contiene: • una breve descrizione dei principali applicativi che compongono la suite; • alcuni how-to esplicativi. DEFT è distribuita gratuitamente senza alcuna garanzia di funzionamento. 1 GNU/Linux è un sistema operativo libero di tipo Unix (o unix-like) costituito dallintegrazione del kernel Linux con elementi del sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere. Wikipedia 2 Acronimo di Digital Evidence & Forensic Toolkit. 3 Scienza che studia lindividuazione, la conservazione, la protezione, lestrazione, la documentazione e ogni altra forma di trattamento del dato informatico al fine di essere valutato in un processo giuridico e studia, ai fini probatori, le tecniche e gli strumenti per lesame metodologico dei sistemi informatici. Wikipedia 4 Questo aspetto della distribuzione sarà affrontato in un altro documento. 5 Il termine indica un software i cui autori permettono il libero studio e lapporto di modifiche da parte di altri programmatori indipendenti.
  • 10. 10 Manuale DEFT 7 1.2 Perché DEFT è impiegabile nellattività di Digital Forensics? Un software è considerato adatto per l’attività di Digital Forensics quando assicura che la struttura e i metadati dei file6 o del sistema sottoposto ad analisi non siano alterati e sia in grado di fornisce gli strumenti idonei a garantire la catena di conservazione del reperto acquisito7. In DEFT, a tale scopo, sono state implementate alcune caratteristiche che riducono al minimo il rischio di alterare il dato sottoposto ad analisi. Alcune di queste sono: 1. All’avvio, il sistema non utilizza le partizioni di swap presenti nel sistema sottoposto ad analisi; 2. Non vi sono automatismi di mount delle memorie di massa all’avvio del sistema; 3. Non vi sono automatismi di alcun tipo durante l’attività di analisi delle evidenze; 4. Tutti i software di acquisizione di memorie di massa e di traffico su rete IP non alterano l’integrità del dato sottoposto ad acquisizione. 6 RFC 3227: “Minimise changes to the data as you are collecting it. This is not limited to content changes; you should avoid updating file or directory access times.” 7 Art. 247 comma 1bis con modifiche apportate dalla ratifica della Convenzione di Budapest nella L. 18 marzo 2008, n. 48: “[…] adottando misure tecniche dirette ad assicurare la conservazione dei dati originali e ad impedirne l’alterazione”
  • 11. 11 Manuale DEFT 7 Capitolo 2: Requisiti di sistema 2.1 DEFT Per l’utilizzo delle funzionalità di DEFT, è sufficiente avviare con il CDROM o penna USB di DEFT Linux un qualsiasi sistema dotato delle seguenti caratteristiche: • Lettore CD/DVD-rom o porta USB da cui il BIOS supporti il boot. • Una CPU x86 (Intel, AMD o Citrix) 166 Mhz o superiore per eseguire DEFT Linux in modalità testuale, 200Mhz per eseguire DEFT Linux in modalità grafica; • 64 Mbyte di memoria RAM per eseguire DEFT Linux in modalità testuale o 128 per la modalità grafica. Sono inoltre supportate le nuove architetture Apple con processori Intel. 2.2 DART La suite DART può essere eseguita in tutti i sistemi Microsoft Windows a 32bit. Nelle versioni a 64bit sono state riscontrate alcune piccole limitazioni per alcuni tool che non ne garantiscono il totale supporto. DART può essere eseguita direttamente in DEFT Linux mediante l’utilizzo di Wine8. 8 Wine è un framework per Linux che permette l’esecuzione di applicativi Windows che possono essere installati o avviati direttamente all’interno di una distribuzione Linux (www.winehq.org)
  • 12. 12 Manuale DEFT 7 Capitolo 3: Elenco delle applicazioni 3.1 DEFT Linux sleuthkit 3.2.3 creepy 0.1.9 autopsy 2.24 xprobe2 0.3 dff 1.2 xmount 0.4.6trID 2.11 DEFT edition ptk forensic 1.0.5 readpst 0.6.41 maltego CE chkrootkit keepNote 0.7.6 rkhunter 1.3.8 hunchbackeed file carver 0.6 john 1.7.8 findwild 1.3 catfish bulk extractor 1.1 pasco 1.0 emule forensic 1.0 md5sum dhash 2.0.1 sha1sum libewf 20100226 sha224sum aff lib 3.6.14 sha256sum disk utility 2.30.1 sha512sum guymager 0.6.3-1 md5deep dd rescue 1.14 sha1deep dcfldd 1.3.4.1 sha256deep dc3dd 7 pdfcrack cracking tool foremost 1.5.6 fcrackzip cracking tool photorec 6.13 clam antivirus 0.97.3 mount manager 0.2.6 mc 4.7.0.9 scalpel 2 dmraid wipe 0.21 testdisk 6.11 hex dump ghex, light gtk hex editor outguess 0.2 vinetto 0.6 sqlite database browser 2.0b1 xplico 0.7.1 DEFT edition bitpim 1.0.7 wireshark 1.6 bbwhatsapp database converter ettercap 0.7.3 dropbox reader nmap 5.21
  • 13. 13 Manuale DEFT 7 hydra 7.1 wine 1.3.28 log2timeline 0.60 mobius forensic rifiuti2 3.2 DART 1.0 WinAudit 2.28.2 CurrProcess 1.13 MiTeC FoldersReport 1.21 Windows Registry Recovery 1.5.1.0 IE Cache View 1.32 Zeroview 1.0 IE Cookie View 1.74 FTK Imager 3 IE History View 1.50 Nigilant32 0.1 Inside Clipboard 1.11 Windows Forensic Toolchest 3.0.05 Live Contacts View 1.07 MoonSols Win32dd 1.0.2.20100417 Mozilla Cache View 1.30 MoonSols Win64dd 1.0.2.20100417 Mozilla History View 1.25 Windows File Analyzer 1.0 Mozilla Cookie View 1.30 UltraSearch 1.40 Opened File View 1.46 Pre-Search xx.08 Opera Cache View 1.37 XnView 1.97.8 Outlook Attack View x86 e x64 1.35 X-AgentRansackk 2010 (build 762) Process Activity View x86 e x64 1.11 Index.dat Analyzer 2.5 Recent File View 1.20 AccessEnum 1.2 Regscanner x86, x64 e win98 1.82 Autoruns 10.03 ServiWin 1.40 DiskView 2.4 MUI Cache View 1.01 Filemon MyEventView 1.37 Process eXPlorer 12.04 SkypeLogView 1.15SmartSniff x86 e x64 RAM Map 1.1 1.71 Regmon StartupRun 1.22 Rootkit Revealer 1.71 MyLastSearch 1.44 VMMap 2.62 Mozilla Cookie View 1.30 WinObj 2.15 Opened File View 1.46 AlternateStreamView 1.15 Opera Cache View 1.37 ChromeCacheView 1.25 Outlook Attack View x86 e x64 1.35 CurrPorts x86 e x64 1.83 Process Activity View x86 e x64 1.11
  • 14. 14 Manuale DEFT 7 Recent File View 1.20 PC AnyPass 1.12 Regscanner x86, x64 e win98 1.82 Protected Pass View 1.63 ServiWin 1.40 PST Password 1.12 USBdeview x86 e x64 1.80 Remote Desktop PassView 1.01 User Assist View 1.01 VNC PassView 1.02 User Profile View 1.01 Win9x Passview 1.1 Video Cache View 1.78 WirelessKeyView x86 e x64 1.34 WhatInStartup 1.25 AViScreen Portable 3.2.2.0 WinPerfectView 1.10 Hoverdesk 0.8 Password Tool File Restore Plus 3.0.1.811 ChromePass 1.10 WinVNC 3.3.3.2 Dialupass 3.10 TreeSizeFree 2.40 IE PassView 1.20 PCTime LSA Secrets Dump x86 e x64 1.21 LTFViewer 5.2 LSA Secrets View x86 e x64 1.21 Sophos Anti-Rootkit 1.5.4 Mail PassView 1.65 Terminal with tools command line MessenPass 1.35 Spartakus 1.0 Network PassRecovery x86 e x64 1.30 Testdisk 6.11.3 Opera PassView 1.01 Photorec 6.11.3 PasswordFOX 1.25
  • 15. 15 Manuale DEFT 7 Capitolo 4: Avviare DEFT Linux live DVD 4.1 Verificare l’integrità dell’immagine di DEFT scaricata da Internet scaricata Trattandosi di una distribuzione destinata ad attività di computer forensics è buona norma, prima di masterizzare il file scaricato da internet verificare che corrisponda internet, esattamente a quello presente online online. La verifica può esser fatta tramite il calcolo del valore hash MD59 sull’imm a sull’immagine o sull’archivio scaricato e il successivo confronto con i valori presenti nel file md5.txt presente nella root della directory di download download. DEFT/DART: Directory di download Ad esempio, nel caso del file “deft7.iso”, il calcolo dell’hash MD5 deve dare come risultato l lo stesso indicato all’interno del file md5.txt, un valore del tipo “d98307dc53ca83358a2dfdb33afc2672 8307dc53ca83358a2dfdb33afc2672”. Per calcolare il valore hash MD5 di un file è possibile utilizzare diversi tool ad esempio tool: 10 11 md5summer o hashmyfiles (su Windows) o il tool a linea di comando md5sum per Linux/MacOS. Se l’hash del file scaricato non coincide con quello presente sul sito wew può significare l w che il file, seppure di dimensione uguale a quello online, presenta errori dovuti a problemi , nello scaricamento o corruzione di una o più parti. 9 http://it.wikipedia.org/wiki/MD5 10 http://www.md5summer.org/ 11 http://www.nirsoft.net/utils/hash_my_files.htm . Il programma è già incluso in DART.
  • 16. 16 Manuale DEFT 7 4.2 Masterizzare DEFT Linux su un supporto ottico DEFT 7 Linux, nella versione destinata all’utilizzo Live su macchine fisiche, viene distribuita , sotto forma di un’immagine ISO che, per poter essere utilizzata, è necessario masterizzare immagine su un supporto ottico – nel caso di DEFT 7 su un DVD12. Per masterizzare un’immagine ISO è sufficiente utilizzare un qualsiasi programma di immagine masterizzazione, seguendo le procedure che possono variare da programma a programma. Le immagini ISO sono una sorta di “fotografia” dell’intero filesystem (in realtà degli interi filesystem, poiché ne può essere presente più di uno) contenuto all’interno del supporto. Si può pensare a una sorta di “copia forense” del CD/DVD. Come tale, il file ISO deve forense” essere masterizzato riapplicando in un certo senso la “fotografia” su un supporto, così come si farebbe con un’immagine DD/RAW di un disco del quale si vuole fare una copia avviabile da un nuovo supporto. La masterizzazione d’immagini ISO è possibile con quasi tutti i software di immagini 13 masterizzazione , semplicemente selezionando la voce riguardante le immagini. ImgBurn permette di scrivere file immagine su disco 12 Data la loro dimensione ridotta, DEFT 6 e precedenti potevano essere masterizzate anche su CD . 13 Su Windows suggeriamo di utilizzare, per comodità, i tool gratuiti Imgburn o Infrarecorder. Su Linux il software di masterizzazione K3B ha le funzionalità necessarie per poter masterizzare file immagine. In Mac OS è sufficiente, invece, e utilizzare l’applicazione Disk Utility.
  • 17. 17 Manuale DEFT 7 In rete sono disponibili migliaia di link e howto che illustrano in dettaglio le modalità di illustrano scrittura di immagini ISO su CD/DVD con i più disparati sistemi operativi. 4.3 Creare una penna USB avviabile contenente DEFT Linux In alternativa all’utilizzo di un supporto ottico, è possibile creare una penna USB o contenente DEFT Linux e avviabile come se fosse un Live CD/DVD (sui PC che supportano l’avvio da periferica USB). Ci sono diversi modi di creare periferiche di archiviazione di massa USB contenenti DEFT Linux Live. Per sistemi Windows, Linux e Mac consigliamo l’utilizzo dell’applicazione l’utilizzo 14 gratuita universale UNetBoot . etBootin Essa permette di eseguire l’operazione di scrittura, selezionando semplicemente ando l’immagine ISO da riversare su penna USB e la lettera di sistema acquisita dalla penna USB. Consigliamo di formattare la chiavetta USB con filesystem FAT32, impostando are possibilmente una “volume label tale da ricordarvi, in futuro, quale distribuzione e quale volume label” versione è presente nella chiavetta. lla Preparazione della penna USB 14 http://unetbootin.sourceforge.net/
  • 18. 18 Manuale DEFT 7 Avviate il programma UNet etbootin – non richiede installazione – e, abilitando il radio button “Diskimage”, selezionate il file ISO che volete convertire in Live USB avviabile, scegliendo la lettera della chiavetta USB che desiderate utilizzare. UNetbootin: Schermata principale Al termine dell’operazione di scrittura otterrete una versione Live USB che potrà essere ’operazione utilizzata per avviare DEFT Linux su qualsiasi PC in grado di supportare l’avvio da porta USB, funzionalità ormai peraltro diffusa su quasi tutte le più recenti macchine. 4.4 Impostazione del BIOS e/o del Boot Selection Popup/Menu È importante assicurarsi che il BIOS del sistema da analizzare sia impostato per l’avvio da CDROM/DVDROM/BDROM o da memorie di massa esterne (in base al supporto in cui è presente DEFT). In caso concontrario configurate il BIOS, salvate e riavviate il sistema con il dvd già inserito nel lettore cd/dvd o con la penna USB già collegata15. Si consiglia, in ogni caso, di modificare l’ordine di avvio delle periferiche direttamente nel BIOS per evitare che un riavvio accidentale della macchina (ad esempio dovuto a sbalzi di corrente) provochi il boot del sistema operativo originario. 15 In genere, durante l’avvio è indicato il tasto da premere per visualizzare il boot meu, spesso chiamato “Boot Selection Popup” o “Boot Device Menu”. I tasti solitamente dedicati al Boot Menu sono F8, F9 e F12, ma in alcune architetture il menù di avvio può anche essere richiamato dal tasto ESC.
  • 19. 19 Manuale DEFT 7 4.5 Parametri di avvio di DEFT Avviato il boot loader di DEFT, ci si trova di fronte ad una schermata con diverse opzioni di avvio. La prima scelta che è richiesta riguarda la lingua dell’interfaccia di DEFT16. ell’interfaccia Scelta della lingua Una volta selezionata la lingua, è possibile utilizzare le frecce su/giù per spostarsi nel menù a tendina. Tramite i tasti funzione è possibile impostare ulteriori parametri quali: lteriori • Help (F1) • Lingua (F2) • Tastiera (F3) • Modalità (F4) • Accessibilità (F5) • Altre opzioni (F6) Il tasto funzione F6 permette di personalizzare alcuni parametri di avvio di DEFT, scegliendo tra alcuni pre-impostati sul menù e potendone ag impostati aggiungere altri in base alle proprie necessità. 16 Richiamabile con il tasto F2 nella finestra di impostazioni di avvio
  • 20. 20 Manuale DEFT 7 I parametri del kernel accesibili premendo il tasto F6 sono: Al boot non sono utilizzate le funzioni ACPI per la gestione dell’energia elettrica usata dal proprio sistema. Utile in caso di problemi ad avviare la acpi=off live, nel caso in cui il PC non supporti ACPI oppure se l’implementazione ACPI crea problemi di reboot o blocchi di sistema. Disabilita il controller interrupt APIC (Advanced Programmable Interrupt noapic Controller). nolapic Disabilita la funzione APIC per le architetture basate su CPU Intel Intel. edd=on Abilita l’Enhanced Disk Drive Drive. nodmraid Disabilita l’opzione del kernel dmraid per i raid di tipo software software. Setta la risoluzione del framebuffer se la scheda video è in vesa mode. È possibile scegliere tra le seguenti modalità: vga=xxx In rosso i parametri deprecati, in nero i parametri che non hanno riscontrato alcun problema di funzionamento. Per maggiori informazioni aggiori sui parametri modificabili al boot, è possibile consultare l’Appendi 1. ppendice Per eseguire il boot di DEFT Linux su un Mac Book Air è necessario aggiungere il paramentro nomodeset17 al boot. Tale parametro permette nomodeset di gestire correttamente i driver video e di poter usare il sistema senza alcun problema di visualizzaz visualizzazione delle schermate. 17 Tratto da www.kernel.org/doc/Documentation/kernel ratto www.kernel.org/doc/Documentation/kernel-parameters.txt This is a kernel boot option that tells the kernel not to enable kernel mode setting (KMS). Video support is usually a combination of a drm kernel driver and a Xorg driver working together. KMS is used with Intel, Nouveau, and Radeon kernel nd modules. KMS is required for Intel and Nouveau, and optional for Radeon (although, with different features). If you want to use the vesa Xorg driver, and you have hardware that uses the Intel, Nouveau, or Radeon kernel hardware modules, you may need to boot with nomodeset, or blacklist the matching module, or just delete the module. The modules will be found in /lib/modules/<kernel- -version>/kernel/drivers/gpu/drm/
  • 21. 21 Manuale DEFT 7 Impone (quando possibile) il caricamento dell’intera immagine di DEFT in RAM, permettendo la rimozione del DVD o della penna USB. La velocità di esecuzione è incrementata notevolmente poiché non si rendono più necessarie operazioni di lettura da disco o da flash. È Inoltre possibile utilizzare il lettore DVD per eventuali acquisizioni forensi (ad esempio tramite guymager18) oppure per masterizzare dati (ad esempio tramite il programma di masterizzazione xfburn19 presente nel menù “Sound & toram Video”). Il parametro “toram” viene attivato solo se la memoria RAM presente è sufficiente per contenere l’immagine del DVD/USB DEFT20. La distribuzione DEFT 7 occupa circa 1.4GB, consigliamo quindi di avviarla in modalità “toram” soltanto quando il PC dispone di almeno 2GB di memoria. La distribuzione DEFT 6, invece, occupa soltanto 700MB, è quindi avviabile in modalità “toram” anche su PC che possiedono soltanto 1GB di memoria. Per selezionare i parametri del kernel mostrati sul menù, premere la barra spaziatrice o il tasto INVIO in corrispondenza di quelli prescelti: una ‘X’ verrà inserita a confermare l’aggiunta al kernel. Nel caso in cui si desideri specificare ulteriori parametri del kernel, dopo aver premuto F6 premere il tasto “ESC” per far scomparire il menù e visualizzare sullo sfondo la riga di avvio del kernel dove potete digitate direttamente il o i parametri prescelti mantenendoli separati tra di loro con degli spazi. 18 http://guymager.sourceforge.net/ 19 http://www.xfce.org/projects/xfburn 20 Si raccomanda in ogni caso di lasciare una parte di RAM libera per le normali attività del sistema
  • 22. 22 Manuale DEFT 7 4.6 Installazione di DEFT Linux 7 Dalla release 7 DEFT può essere installata su qualsiasi sistema x86. Di seguito sono riportati i requisiti del sistema minimi e consigliati per l’installazione: Requisiti minimi Requisiti ottimali • CPU x86 200Mhz • CPU Intel dual core • 128 MB di memoria RAM • 2GB di memoria RAM • Disco rigido da 20 GB • Disco rigido SATA da 500 GB • Scheda Video Vesa compatibile • Scheda Video intel con memoria 16MB dedicata • Scheda di rete 10/100 • Scheda di rete 10/100/1000 - • Interfacce USB 2.0 WiFi N • Lettore DVD • Interfacce USB 3.0 ed e-sata • Lettore DVD L’installazione del sistema avviene tramite una procedura guidata standard in cui l’utente deve rispondere ad alcune domande. L’operazione dove è richiesta maggior attenzione è il partizionamento della memoria di massa che ospiterà il sistema. Nonostante le esigenze cambino sulla base dell’esperienza e il modo di lavorare dell’operatore, ci permettiamo di dare alcuni suggerimenti sul come ottenere un’installazione ottimale: • Riservare al sistema almeno 20GB di memoria; • Partizionare il disco secondo le proprie esigenze creando una partizione di SWAP con un livello di swappiness21 pari a 10. in questo modo si ridurranno i rallentamenti improvvisi dovuti all’utilizzo della partizione di swap23; • Creare un utente durante l’installazione ricordandosi però di utilizzare DEFT Linux sempre con l’account root per evitare problemi dovuti alla richiesta di permessi da parte alcuni applicativi; o Per abilitare l’account root impostandone la password digitare il comando “sudo passwd” e rispondete alle domande; o Per diventare root digitare “sudo su -” (verrà richiesta la propria password) oppure “su –“ (verrà richiesta la password di root); 21 Per maggiori informazioni https://help.ubuntu.com/community/SwapFaq 23 Nel caso in cui il computer sia dotato di più di 4GB di RAM, potrebbe essere considerata una soluzione il non creare una partizione di SWAP: in questo modo si eviteranno rallentamenti improvvisi dovuti all’utilizzo della partizione di swap.
  • 23. 23 Manuale DEFT 7 • Non rimuovere PER ALCUN MOTIVO il freezing sull’aggiornamento di alcuni pacchetti volutamente bloccato: sono parte di un processo di personalizzazione di tutti i meccanismi di protezione delle memorie di massa collegate al sistema.
  • 24. 24 Manuale DEFT 7 Capitolo 5: DEFT Linux text mode Completata la fase di boot, il sistema presenta la sessione ad interfaccia testuale (con sei terminali accesibili tramite la combinazione di tasti ALT + F1 -> ALT + F6) con una shell bash dotata di permessi di root24. DEFT: sessione ad interfaccia testuale 5.1 Gestione delle memorie di mass massa DEFT, anche in versione live, supporta le memorie di massa ed i filesystem più diffusi n diffusi. Come già accennato DEFT non esegue il mount automatico tipico delle distribuzioni Live le (es. Knoppix, Ubuntu, ecc...) evitando l’alterazione accidentale della memoria di massa ...) collegata. Il contenuto di una memoria di massa può essere comunque alterato dall’ memoria dall’operazione di mount eseguita in modalità read/write azione che DEFT non esegue in automatico. read/write, 24 Questa implementazione si rivela molto utile quando si avvia DEFT Linux su computer molto vecchi che non permettono l’utilizzo ottimale dell’interfaccia grafica oppure per l’utente esperto che preferisce operare direttamente da linea di rfaccia comando.
  • 25. 25 Manuale DEFT 7 5.1.1 Comandi utili Riportiamo alcuni comandi utili per eseguire operazioni inerenti alla gestione delle memorie di massa: • fdisk –l: elenca tutte le partizioni e memorie di massa collegate al sistema; • mmls /dev/xxx oppure mmls nomefile.dd: elenca le partizioni presenti nella periferica o nell’immagine raw indicando l’offset di partenza di ogni partizione e gli spazi non allocati; • hdparm –Ig /dev/xxx: visualizza le caratteristiche della memoria di massa xxx; • tail –f /var/log/messages: visualizza in tempo reale i messaggi di information, warning e debug degli eventi che riguardano anche le memorie di massa; • mount: visualizza il tipo di filesystem delle memorie collegate al sistema e la modalità con la quale sono state montate (read only / read-write); • df –h: visualizza informazioni sulla dimensione dei dispositivi montati e lo spazio libero. 5.1.2 Mount delle memorie Il comando mount permette di collegare un file system – presente su in una periferica oppure in un file memorizzato su disco – a una directory di sistema. Nel caso in cui si desideri eseguire il mount di un dispositivo quale hard disk, chiavetta USB, CD/DVD/CDROM, floppy disk, ecc... si utilizzerà come sorgente il device stesso che lo identifica. Avremo in questo caso: • /dev/fdX25 per i floppy disk (in genere con un solo floppy si ha /dev/fd0); • /dev/hdX per gli hard disk IDE; • /dev/sdX per gli hard disk SATA o le periferiche USB; • /dev/cdrom per i CDROM. In ambito forense, il mount diretto di un’evidence (quindi di un disco, di una chiavetta USB, ecc...) deve essere fatto in sola lettura e solo nei casi in cui è realmente necessario26. In questo modo può essere garantita la totale inalterabilità della memoria. Il file system selezionato, oltre ad essere composto di un device, può essere contenuto all’interno di un file memorizzato su disco e contenente il dump o l’immagine forense bit- 25 La X identifica il numero di periferica presente sul sistema, così avremo /dev/sda per il primo disco e /dev/sdb per il secondo, mentre i numeri che si osservano dopo il device tramite il comando “fdisk –l” (/dev/sda1, /dev/sda2, ecc...) identificano il numero della partizione all’interno del device. 26 Le best practice indicano chiaramente che non si dovrebbe lavorare mai sulla memoria di massa originale ma sempre e solo su una copia.
  • 26. 26 Manuale DEFT 7 stream del device acquisito. Ci troveremo di fronte, in questo caso, a immagini: • nel formato “bit stream image”(dd o raw)27; • nel formato “Encase”(ewf); • nel formato “Advanced Forensic Format”(aff). 5.1.3 Mount di un device (hard disk, penna USB, floppy disk, CDROM, ecc...) Per eseguire il mount in sola lettura di file system di memorie basterà digitare un comando di tipo: mount –t tipo –o opzioni sorgente punto_di_mount dove • tipo è la tipologia del filesystem, solitamente vfat, ntfs-3g, ext3… ecc., o auto quando non si è sicuri del tipo di file system28 (se si omette il parametro il mount cerca autonomamente di riconoscere il tipo di filesystem e in genere ha successo); • sorgente può essere una partizione come ad esempio /dev/hda1 o /dev/sda1; • punto_di_mount è solitamente una directory di /media – che deve essere creata prima di eseguire il comando di mount29. Le opzioni di uso frequente (che devono seguire il delimitatore –o nella riga di comando di mount) sono: • ro - read-only: monta in sola lettura; • rw - read-write: monta in scrittura30; • loop - per montare un file immagine; • noatime - non modifica le date di ultimo accesso; • noexec - non permette l’esecuzione di file; • offset=N - quando si monta il file immagine di un disco (argomento approfondito nel paragrafo successivo) fornisce il numero di byte da saltare per puntare all’inizio della partizione logica da montare (recuperabile con mmls o fdisk –lu). Esempio 1: montare in scrittura una partizione NTFS sulla quale verrà salvato il dump di un device (risultato di un’acquisizione forense): mount –t ntfs-3g –o rw /dev/sdb1 /media/dest 27 Spesso il formato bit-stream viene suddiviso in file di dimensione ridotta (2-4 Gbytes l’uno) in modo da poter essere salvato su filesystem con filesize limit (es. FAT32), in tal caso viene definito split raw. 28 Se omesso in genere il comando mount riesce ad identificare autonomamente il tipo di filesystem. 29 Ad esempio con il comando mkdir /media/nomecartellachevoglio 30 Da usare per la directory dove verra salvata la copia
  • 27. 27 Manuale DEFT 7 Esempio 2: montare in sola lettura una partizione NTFS di un disco di cui si desidera fare acquisizione forense, ad esempio per avere un’anteprima dei file in essa contenuti magari durante un’attività sul campo (è essenziale utilizzare l’opzione -o ro per impedire qualsiasi scrittura accidentale sul disco): mount –t ntfs-3g –o ro /dev/sdb1 /media/evidence 5.1.4 Mount di un file immagine DD/RAW Per eseguire il mount in sola lettura di un file immagine (contenente il dump di un intero disco, non di una singola partizione) si può utilizzare il seguente comando: mount –t tipo –o ro,loop,offset=$((512*partition-start)) opzioni file_immagine.dd punto_di_mount Le opzioni ed il formato del comando mount sono le stesse indicate nel paragrafo precedente. In questo caso però deve essere obbligatoriamente utilizzata una modalità di mount basata su loop device che “converte” (in modo virtuale, senza quindi andare ad alterare il sorgente) un file immagine (statico) in un device linux (dinamico), permettendo quindi al kernel di farne il mount come se si trattasse di un dispositivo vero e proprio. L’opzione loop permette questo tipo di astrazione e deriva dall’applicazione implicita e automatica al layer sottostante del comando losetup, tramite il quale è possibile associare un device loop all’immagine della memoria image.dd. In questo modo è possibile utilizzare le applicazioni funzionati su device anche su immagini di memorie di massa. Se si vuole vuole evitare di inserire -o loop, è necessario far precedere al mount la creazione di un loop device tramite il comando: losetup -r /dev/loop0 /media/disco1/dump.dd Tale loop device sarà utilizzato come se fosse un disco sorgente da montare nella modalità descritta precedentemente31. Quindi, potendo utilizzare direttamente l’opzione -o loop si evita di dover creare noi stessi un loop device che poi dovremmo ricordare di rilasciare tramite il comando “losetup –d /dev/loop0”. L’altro parametro essenziale quando si fa il mount di un file immagine contenente l’acquisizione di un disco intero (e quindi non di una singola partizione) è il valore “offset”. Tramite l’utility mmls è possibile scoprire l’offset d’inizio di una partizione del disco: 31 Sarà necessario quindi un comando tipo mount –o ro /dev/loop0 /mnt/dest
  • 28. 28 Manuale DEFT 7 mmls dump.dd l’output ottenuto sarà simile al seguente: DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000000 0000002047 0000002048 Unallocated 02: 00:00 0000002048 0000032255 0026624000 Unknown Type (0x27) 03: 00:01 0000032256 0086598247 0000204800 NTFS (0x07) 05: ----- 0086598248 0976773167 0000002048 Unallocated Montiamo la partizione identificata come 03 dall’output di mmls specificando l’offset moltiplicato per 51232: mount –t ntfs ro,loop,noatime,noauto,noexec,offset=16515072 dump.dd /media/dest Invece di eseguire il calcolo dell’offset moltiplicando per 512 il punto di “Start” della partizione ricavato dal comando mmls, è possibile utilizzare un operatore di calcolo della shell: inserendo come offset il valore $((512*partition-start)), dove “partition-start” indica l’offset in byte della partizione che si intende montare (nell’esempio precedente è il valore 33256). Avremmo quindi il comando di mount: mount –t ntfs ro,loop,noatime,noauto,noexec,offset=$((512*32256)) dump.dd /media/dest Portate a termine le operazioni sulle memorie, prima di scollegare dal sistema la periferica montata, è necessario eseguire il comando umount: umount /media/punto_di_mount. Si è scritto più volte che i comandi citati possono essere utilizzati per eseguire il mount di un file contenente il dump di un intero disco. Nel caso in cui – raro ma possibile – sia fatto il dump di una singola partizione, non è necessario utilizzare il parametro “offset” in quanto l’inizio della partizione coincide con quella del file. 5.1.5 Mount di un file immagine DD/RAW suddiviso in più file (split raw) Nel caso in cui il file immagine dd/raw (quindi immagine bit-stream o bit-to-bit di un disco) sia splittato (suddiviso) in più file, è necessario preparare il file su cui si andrà a fare il comando di mount mostrato nel paragrafo precedente. Ipotizziamo di avere un’immagine composta dai file dump.001, dump.002, dump.003, 32 512 byte è la grandezza di default di un settore che compone una memoria di massa
  • 29. 29 Manuale DEFT 7 dump.004 e dump.005. Non possiamo applicare direttamente le azioni illustrate nel paragrafo precedente, perché non abbiamo in questo caso un solo file immagine su cui lanciare il comando mount, bensì cinque33. Per montare file immagini raw suddivisi, in formato split-raw, abbiamo a disposizione tre possibilità. Il primo metodo consiste nella concatenazione dei singoli file in un unico file immagine, riportandoci quindi al caso descritto nel paragrafo precedente di mount di un singolo file dump.dd. Lo svantaggio evidente è che, in questo caso, lo spazio richiesto per l’operazione sarà pari a quello occupato dalla somma dei singoli file poiché li copieremmo concatenandoli in un nuovo file unico34. Il comando da eseguire è il seguente: cat dump.* > image.raw Si ottiene così un unico file image.raw contenente l’intero disco ricavato dalla concatenazione dei singoli segmenti di immagine. Su tale file andremo a operare come indicato nel paragrafo precedente. Il secondo metodo prevede l’utilizzo del comando affuse, della suite Afflib35. Sarà utilizzato anche in seguito per il mount di immagini nel formato AFF. Con tale comando creeremo una sorta d’immagine “virtuale” (quindi visibile dal sistema ma non esistente nella realtà36) che sarà montata come descritto nel paragrafo precedente. Il comando da eseguire, dopo aver creato la directory /mnt/raw, sarà: affuse dump.001 /mnt/raw Tale comando produrrà, all’interno della directory /mnt/raw, un file “virtuale” contenente l’immagine dd/raw composta dalla concatenazione dei vari file che la compongono nella realtà. Tale file sarà visibile con il nome dump.001.raw e sarà utilizzabile come parametro del mount visto nel paragrafo precedente. mount –t ntfs ro,loop,noatime,noauto,noexec,offset=16515072 /mnt/raw/dump.001.raw /media/dest Va ricordato che, quando prepariamo il mount tramite il comando affuse, è necessario smontare oltre alla partizione montata anche il file “virtuale” contenente l’immagine, tramite il comando: 33 Nella realtà, nel caso di acquisizioni di grossi dischi, il numero salirà a decine o centinaia. 34 Questa soluzione è illustrata solo a scopo didattico, poiché in genere si preferisce una delle due seguenti. 35 http://afflib.org/ 36 Similmente a quanto accade ai file contenuti nella cartella /proc del filesystem
  • 30. 30 Manuale DEFT 7 fusermount –u /mnt/raw Il terzo metodo per montare un’immagine split-raw è quello di utilizzare il tool da linea di comando xmount37. Similmente a quanto visto con il comando affuse, xmount crea anch’esso un file virtuale contenente l’immagine composta dalla concatenazione dei singoli segmenti che la compongono nella realtà. Il comando in questo caso è: xmount --in dd --out dd dump. * /mnt/raw Sarà creato un file “virtuale” nella directory /mnt/raw, denominato “dump” senza alcuna estensione. Tale file potrà essere montato, come illustrato nel caso precedente, selezionando l’offset del filesystem desiderato in modalità read-only. 5.1.6 File di tipo EWF/Encase Il mount di una memoria acquisita in formato EWF è possibile mediante l’applicazione mount_ewf. Questo programma è in grado di convertire virtualmente i file EWF nel formato raw permettendo così il mount del device come se fosse una memoria acquisita in formato dd. Esempio: la memoria disk01 suddivisa nei seguenti file: disk01.E01 disk01.E07 disk01.E13 disk01.E19 disk01.E02 disk01.E08 disk01.E14 disk01.E20 disk01.E03 disk01.E09 disk01.E15 disk01.info disk01.E04 disk01.E10 disk01.E16 disk01.E05 disk01.E11 disk01.E17 disk01.E06 disk01.E12 disk01.E18 Tramite il comando mount_ewf /media /case1/disk01.E* /mnt/raw è possibile ricostruire lo split ed eseguire la conversione virtuale in formato raw. L’operazione darà luogo alla creazione del file raw /mnt/raw/disk01, contenuto nella cartella /mnt/raw/. Esso sarà visto dal sistema come un unico file dd, anche se virtuale, e potrà essere montato seguendo la procedura indicata nel paragrafo precedente. Esempio: mount –t ntfs –o ro,loop,offset=$((512*63)) /mnt/raw/disk01 /mnt/c 5.1.7 File di tipo AFF Come per il formato EWF, anche per le memorie acquisite in formato AFF è possibile eseguire il mount, grazie all’utility affuse. Essa permette di utilizzare acquisizioni in formato aff come se fossero immagini raw. 37 http://www.forensicswiki.org/wiki/Xmount
  • 31. 31 Manuale DEFT 7 La sintassi è la seguente: affuse /media/disk/disk01.aff /mnt/raw L’output sarà il file /mnt/raw/disk01.aff.raw che potrà essere montato seguendo la procedura per il mount di immagini raw illustrata in precedenza. 5.2 Calcolo dell’hash L’hash di un blocco di dati (es. un file) è una sequenza di caratteri alfanumerici di lunghezza fissa generata da una funzione matematica. Questa funzione è mono direzionale: dato un hash è impossibile ricostruire il blocco che lo ha originato. Qualsiasi modifica dei dati, seppur minima, porterà alla creazione di un hash totalmente diverso. All’interno del sistema Linux quest’operazione è possibile mediante l’utilizzo delle seguenti applicazioni: • md5sum; • sha1sum; • md5, sha1 e sha256 deep; • dhash. 5.2.1 Md5sum Lacronimo MD538 (Message Digest algorithm 5) identifica un algoritmo crittografico di hashing realizzato da Ronald Rivest nel 1991 e standardizzato con la Request for Comments RFC 1321. Quest’algoritmo, presa in input una stringa di lunghezza arbitraria (ad esempio un file), ne produce in output unaltra di 128 bit utilizzabile per calcolare la firma digitale dellinput. La codifica è molto veloce e loutput restituito (noto anche come "MD5 Checksum" o "MD5 Hash") è tale per cui è altamente improbabile che avvenga una collisione (cioè l’esatta coincidenza) tra gli hash di due file diversi. Infine, come per la maggior parte degli algoritmi di hashing, la possibilità di risalire alla stringa iniziale partendo dall’hash prodotto è in pratica nulla, se non per tentativi (forza bruta)39. Ad esempio per calcolare il valore dell’hash MD5 di un disco si utilizza il comando: md5sum /dev/sda 38 http://it.wikipedia.org/wiki/MD5 39 La gamma di possibili valori in output è infatti pari a 2 alla 128esima potenza.
  • 32. 32 Manuale DEFT 7 5.2.2 Sha1sum Il termine SHA40 indica una famiglia di cinque diverse funzioni crittografiche di hash sviluppate dal 1993 dalla National Security Agency (NSA) e pubblicate dal NIST come standard federale dal governo degli USA. Come ogni algoritmo di hash, lo SHA produce un valore di lunghezza fissa partendo da un messaggio di lunghezza variabile tramite una funzione non reversibile. Gli algoritmi della famiglia sono denominati SHA-1, SHA-224, SHA-256, SHA-384 e SHA- 512. Il primo tipo, SHA-1, produce una stringa di soli 160 bit, mentre gli altri producono digest di lunghezza in bit pari al numero indicato nella loro sigla41. In questo momento l’algoritmo più diffuso della famiglia SHA e lo SHA-1 ed è utilizzato in numerose applicazioni e protocolli. Per calcolare il valore di hash SHA-1, ad esempio di un disco, si utilizza il comando: sha1sum /dev/sda 5.2.3 Md5 e sha deep Md5, sha1, sha256 e sha512 deep permettono di calcolare hash di più file ricorsivamente. Esempio: md5deep –l /root/evidence/ > hash_device.txt La sintassi sopra citata calcola l’hash md5 di tutti i file contenuti nella cartella /root/evidence/ e salva i valori degli hash nel file hash_device.txt 5.2.4 Dhash Dhash, disponibile in italiano ed in inglese, permette di calcolare gli hash di file e memorie di massa fornendo in tempo reale informazioni quali il tempo stimato prima del termine l’operazione e lo stato di avanzamento del calcolo. Al termine è inoltre possibile generare un report in formato html42. Da test eseguiti in laboratorio Dhash è risultato essere 10% più veloce rispetto ai tool precedentemente elencati. Esempio: dhash -t -f /dev/sda --md5 --sha1 -l dhashlog.html La sintassi sopra citata calcola simultaneamente l’hash md5 e sha1 sul device /dev/sda e ne riporta i valori nel file dhashlog.html. 40 Secure Hash Algorithm - http://it.wikipedia.org/wiki/Secure_Hash_Algorithm 41 Es.: SHA-256 produce un digest di 256 bit. 42 Dhash è inoltre in grado di eseguire allo stesso tempo le operazioni di acquisizione e calcolo del hash.
  • 33. 33 Manuale DEFT 7 5.3 Acquisizione memorie di massa Per acquisizione di una memoria di massa s’intende l’operazione che permette una vera e propria clonazione della memoria fisica oggetto di analisi. All’interno del sistema Linux quest’operazione è possibile mediante l’utilizzo dei seguenti tool: • dd; • ddrescue; • dcfldd; • dhash. In aggiunta a questi comandi, il team DEFT ha creato Cyclone: un wizard eseguibile da terminale per l’acquisizione guidata tramite la semplice risposta alle domande che appaiono su schermo. 5.3.1 dd dd prende in input un file o un device e ne restituisce, su un altro file o device, l’esatta sequenza binaria che lo compone. Esempio: dd if=/dev/sda of=/media/diskimage.img Il comando prende in input la memoria di massa /dev/sda e restituisce come output il suo clone all’interno del file diskimage.img contenuto nella cartella /media/. È possibile eseguire l’acquisizione da memoria di massa a file (o viceversa) ma anche da memoria di massa a memoria di massa43. Esempio: dd if=/dev/sda of=/dev/sdb Si raccomanda di avere la massima attenzione con quest’ultimo commando poiché il device di destinazione (nell’esempio /dev/sdb) è cancellato e sovrascritto per tutta la dimensione del device sorgente (nell’esempio /dev/sda). Ciò significa che se /dev/sda è un hard disk di 60GB e /dev/sdb un disco da 250GB, il comando sopra riportato andrà a sovrascrivere i primi 60GB del disco destinazione (/dev/sdb) con l’intero contenuto bit-a-bit del disco sorgente (/dev/sda), rendendo così completamente irricuperabile quanto ivi contenuto e compromettendo anche i dati presenti nella parte non sovrascritta del disco. 5.3.2 ddrescue Come dd, ddrescue permette di clonare il contenuto di un disco riversandolo direttamente 43 Questa è una pratica molto meno usata in campo di computer forensics.
  • 34. 34 Manuale DEFT 7 in un’altra memoria. ddrescue rappresenta un’evoluzione di dd: permette, infatti, l’acquisizione di memorie di massa che presentano errori durante l’accesso a determinati settori del disco. L’acquisizione tramite ddrescue permette di includere anche quei settori danneggiati che saranno acquisiti impostando su zero tutti i bit non leggibili in essi contenuti. Durante l’acquisizione della memoria l’applicazione fornisce aggiornamenti su quanti byte sono stati letti e scritti, quanti errori di lettura sono stati riscontrati e la velocità di acquisizione calcolata per byte/s. Esempio: ddrescue /dev/sda /media/disco.img 5.3.3 dcfldd dcfldd è un’altra evoluzione di dd che permette il calcolo dell’hash (sia md5 che sha1, singolarmente o contemporaneamente) durante l’acquisizione della memoria. Durante le operazioni di acquisizione sono fornite informazioni dettagliate su quanto è stato letto e scritto. Esempio: dcfldd if=/dev/sda of=/media/disco.img hash=sha1 hash=md5 5.3.4 Dhash Questo software permette l’acquisizione in formato dd e il calcolo contemporaneo degli hash. È risultato più veloce del 10% rispetto agli altri programmi in circolazione. Esempio: dhash -t -f /dev/sda --md5 --sha1-o disco.dd La sintassi sopra citata acquisisce e calcola contemporaneamente l’hash md5 e sha1 del device /dev/sda riportandone infine i valori nel file dhashlog.html.
  • 35. 35 Manuale DEFT 7 5.4 Creazione di una time line Uno degli strumenti più noti per la creazione di time line è mac-time, applicazione della suite Sleuthkit realizzata da Brian Carrier. Sono due i comandi principali per generare timeline del filesystem: • fls44 prende come input un file raw derivante dall’acquisizione di un memoria di massa (sia essa una singola partizione o una raw image di un disco con più partizioni), e restituisce l’elenco di tutti i file (allocati e non ma di cui comunque il record è ancora contenuto nella tabella di allocazione del filesystem), da utilizzare successivamente con mac-time; • mactime45 prende in input un elenco, creato mediante fls, completo dei dati contenuti all’interno del file system posto ad analisi e fornisce una timeline in formato ASCII. 5.4.1 fls È riportato un esempio di come utilizzare fls nel caso in cui l’immagine image-1.dd contenga un singolo filesystem/partizione46: fls -z GMT -s 0 -m C: -f ntfs -r /images/disco-c.dd > /workdir/disco-c.body Nell’esempio, sono stati utilizzati i seguenti parametri: • -z: fuso orario impostato sul sistema in analisi; • -s: disallineamento in secondi dell’ora di sistema con l’ora reale47; • -m: il testo da anteporre al percorso e al nome del file nella timeline48; • -f: il file system della memoria acquisita; • /images/disco-c.dd: l’immagine data come input per l’estrazione della timeline; • /workdir/disco-c.body: il file, in formato bodyfile, contenente la timeline estratta dall’immagine data in input. Nel caso in cui l’immagine dd contenga invece più partizioni, è necessario utilizzare il parametro -o per indicare a fls l’offset in settori (e non in byte, come nel caso del parametro offset del comando mount) dal quale comincia la partizione in analisi. Per avere l’elenco delle partizioni e dei relativi valori di offset (espressi in settori e non in byte), si raccomanda l’utilizzo del comando mml della suite TSK oppure il comando fdisk 44 http://wiki.sleuthkit.org/index.php?title=Fls 45 http://wiki.sleuthkit.org/index.php?title=Mactime 46 Va notata l’assenza del parametro “offset”. 47 Si ricava verificando nel bios, durante l’acquisizione, la differenza tra l’orario di sistema e quello reale. 48 In genere si indica la lettera su cui è montato il drive, quindi “C:”, “D:” e così via.
  • 36. 36 Manuale DEFT 7 con i parametri “-lu”. Nel caso di un’immagine contenente un disco con una partizione al settore 63 (in genere le partizioni uniche o la prima partizione cominciano sempre al settore 63) avremmo quindi: fls –o 63 -z GMT -s 0 -m C: -f ntfs -r /images/disco-c.dd > /workdir/disco-c.body A questo punto avremo un file (per comodità con estensione .body) in formato body49, contenente la timeline del sistema in analisi. Tale formato non è immediatamente fruibile da parte dell’esaminatore poiché contiene le date codificate e i record non ordinati. È quindi necessario elaborarlo in modo da renderlo leggibile, ordinato e nel formato prescelto50. Riportiamo un estratto di un file body, dal quale si deduce chiaramente la difficoltà nell’interpretazione del contenuto da parte dell’operatore: [...] 0|C:/WINDOWS/inf/mdmpin.PNF|4718-128- 3|r/rrwxrwxrwx|0|0|19268|1299255392|1299255392|1299255392|1299257718 0|C:/WINDOWS/inf/mdmpn1.inf|804-128- 3|r/rrwxrwxrwx|0|0|6376|1299257379|1092916800|1299257709|1092916800 0|C:/WINDOWS/inf/mdmpn1.PNF|4717-128- 3|r/rrwxrwxrwx|0|0|10424|1299255392|1299255392|1299255392|1299257718 0|C:/WINDOWS/inf/mdmmod.PNF|4747-128- 3|r/rrwxrwxrwx|0|0|18540|1299255386|1299255386|1299255386|1299257719 0|C:/WINDOWS/inf/mdmmoto.inf|779-128- 3|r/rrwxrwxrwx|0|0|96032|1299257378|1092916800|1299257709|1092916800 [...] 5.4.2 mactime Mactime è lo strumento della suite TSK che si occupa di convertire le timeline dal formato body al formato CSV, ordinandone le voci e modificando i parametri di visualizzazione in base alle necessità dell’operatore. Solitamente il comando da eseguire è il seguente: mactime -b /workdir/disco-c.body -z gmt -d > /workdir/disco-c.csv -b specifica il file da dare in input, -z la time zone, -d > /workdir/disco-c.csv rappresenta il file di output contenente la time line in formato csv51. Aspetto da non sottovalutare, il comando mactime ha una funzionalità di reportistica riassuntiva dell’attività giornaliera ed oraria rilevata sul filesystem, che si va ad aggiungere alla funzione di conversione in formato CSV e ordinamento dei record generati dal comando fls. Tale informazione può essere indispensabile per valutare in quali giorni – o in quali orari – sono rilevabili sul PC attività marcate di utilizzo, evidenziando picchi e 49 http://wiki.sleuthkit.org/index.php?title=Body_file 50 In genere si utilizzerà il formato .CSV per la compatibilità con gli editor e con i fogli di calcolo. 51 È preferibile l’esportazione in formato csv per facilitare la consultazione tramite applicazioni come OpenOffice o Excel.
  • 37. 37 Manuale DEFT 7 anomalie magari dovute ad attività durante il week week-end che in una timeline tradizionale difficilmente saltano all’occhio. Per avere un report delle attività su filesystem avvenute giornalmente è sufficiente giornalmente, aggiungere i parametri –d – seguiti dal nome del file in cui si desidera salvare tale report. –i L’attività oraria si ottiene, invece, con i parametri –h –i seguiti dal nome del file in cui si ria desidera salvare tale report. Otterremo, in questo modo, un file contenente record simili ai seguenti: [...] Wed Oct 12 2011: 801 Thu Oct 13 2011: 987 87 Fri Oct 14 2011: 252 Sun Oct 16 2011: 25 25352 Mon Oct 17 2011: 463 63 Tue Oct 18 2011: 711 11 [..] Nell’esempio precedente si può notare che in data 16 ottobre 2011 si sono verificate 25352 attività su file52. Tale valore potrebbe non essere d’interesse ma può, in alcuni contesti, essere di grande importanza53. è consigliabile dare verificare la continuità o la media dei valori durante la maggior parte dei giorni analizzati, che si attesta magari su un determinato valore (es. <1000), e , raggiungere, come nell’esempio, picchi di decine di migliaia in un giorno specifico specifico. L’operatore dovrebbe procedere a questo punto, ad analizzare più in dettaglio la timeline procedere, del giorno in cui è stata rilevata l’anomalia54. iorno La tabella seguente è utile per interpretare il significato dei valori che appaiono nella colonna “Activity Type”. Essi indicano le azioni compiute su file e cartelle in un determinato arco temporale. 52 Si intende accesso, creazione o modifica di file a livello di entry MFT o di file. so, 53 Ad esempio, se il PC in analisi è un asset di un’azienda in cui l’attività lavorativa avviene dal lunedì al venerdì, l’investigatore dovrebbe approfondire il motivo per cui un’attività così elevata si sia verificata di domenica. così 54 Eseguendo ad esempio nuove analisi del registro, inserimento di penne USB, avvio di programmi, creazione di file LNK, ecc.
  • 38. 38 Manuale DEFT 7 Vediamo ora un esempio di risultato dell’elaborazione di un file in formato body generato dal comando mactime: […] Fri Mar 04 2011 16:08:04 618605 .ac. r/rrwxrwxrwx 0 0 10618-128-1 C:/WINDOWS/system32/dllcache/fp4autl.dll Fri Mar 04 2011 16:08:11 17672 ...b r/rrwxrwxrwx 0 0 10624-128-4 C:/WINDOWS/Prefetch/IMAPI.EXE-0BF740A4.pf Fri Mar 04 2011 16:11:20 3014 ...b r/rrwxrwxrwx 0 0 10630-128-3 C:/WINDOWS/system32/wbem/Logs/wmiadap.log Fri Mar 04 2011 16:11:29 10296 ..cb r/rrwxrwxrwx 0 0 10631-128-3 C:/WINDOWS/system32/drivers/ASUSHWIO.SYS […] 5.5 Creazione di una supertimeline Le timeline, così come illustrate al paragrafo precedente, sono molto utili ma limitate alle attività rilevate sul filesytem55. Oltre ai timestamp riguardanti i file, sono numerosissimi i metadati presenti sul sistema in analisi che possono essere integrati con la timeline del filesystem56. Gli strumenti per generare questo genere di “timeline arricchite”57 sono già inclusi in deft. Anche in questo caso il punto di partenza è l’immagine di un disco o un disco stesso, così come avviene per le timeline tradizionali realizzate tramite fls + mactime (o l’interfaccia grafica Autopsy). Lo strumento specifico che utilizzeremo è log2timeline58, framework scritto da Kristinn Gudjonsson e al cui sviluppo dei plugin ha collaborato l’intera comunità scientifica. Log2timeline lavora elaborando (parsing), in modo ricorsivo, i file contenuti in una partizione montata con alcuni parametri specifici, per permettere l’accesso ai metadati del filesystem. In particolare, i metadati che log2timeline è in grado ad oggi di elaborare ed inserire in una supertimeline sono elencati in questo elenco di input modes: 1. Apache2 Access log; 2. Apache2 Error log; 3. Google Chrome history; 4. Encase dirlisting; 5. Windows Event Log files (EVT); 6. Windows Event Log files (EVTX); 55 Quindi limitate alle mere operazioni di creazione, modifica o accesso dei file. 56 Alcuni esempi: i log di visite del browser, le modifiche alle chiavi di registro del sistema, i log degli antivirus, l’attività del registro di sistema, i file link in formato LNK, i prefetch ecc. 57 Nel gergo forense si indicano ormai con il termine di “supertimeline”. 58 http://log2timeline.net
  • 39. 39 Manuale DEFT 7 7. EXIF; 8. Firefox bookmark; 9. Firefox 2 history; 10. Firefox 3 history; 11. FTK Imager Dirlisting CSV file; 12. Generic Linux log file; 13. Internet Explorer history file, parsing index.dat; 14. Windows IIS W3C log file; 15. ISA server text export; 16. Mactime body file; 17. McAfee AntiVirus Log; 18. MS-SQL Error log; 19. Opera Global and Direct browser history; 20. OpenXML metadata (Office 2007); 21. PCAP files; 22. PDF; 23. Windows Prefetch directory; 24. Windows Recycle Bin (INFO2 or I$); 25. Windows Restore Point; 26. Safari Browser history file; 27. Windows XP SetupAPI.log file; 28. Adobe Local Shared Object file (SOL/LSO), aka Flash Cookies; 29. Squid Access Logs (httpd_emulate off); 30. TLN (timeline) body file; 31. UserAssist key of the Windows registry; 32. Volatility (psscan e psscan2 output); 33. Windows Shortcut files (LNK); 34. Windows WMIProv log file; 35. Windows XP Firewall Log file (W3C format). La supertimeline può essere salvata in diversi formati. Il più utilizzato è il formato CSV59, interpretabile dai più disparati fogli di calcolo e visualizzabile/modificabile anche 59 https://it.wikipedia.org/wiki/Comma-separated_values
  • 40. 40 Manuale DEFT 7 semplicemente tramite editor testuali. L’elenco completo degli output modes nei quali è attualmente possibile esportare l’elaborazione della supertimeline è il seguente: • BeeDocs; • CSV; • SQLite; • CEF; • Mactime; • TLN; • CFTL; • SIMILE; • TLNX. Il primo passo per generare una supertimeline è, come già scritto, l’avere l’immagine raw contenente la partizione da esaminare. Si può utilizzare un device (es. /dev/sda), un file immagine dd/raw oppure ancora file EWF, AFF o split raw convertiti come spiegato nei paragrafi precedenti. Ipotizziamo di avere un file image.dd contenente l’immagine del disco che intendiamo analizzare. La prima cosa è montare, nelle modalità precedentemente indicate, le partizioni di cui intendiamo ottenere una supertimeline. Decidiamo di voler analizzare l’unica partizione NTFS del disco posizionata all’offset 63 e identificata dalla lettera C: in Windows. Eseguendo il comando: mount -o ro,loop,show_sys_files,streams_interface=windows,offset=$((512*63)) /mnt/raw/img.dd /mnt/c Il disco C: sarà montato nella directory /mnt/c da dove eseguiremo il programma log2timeline: log2timeline -p –f winxp -r -z Europe/Rome /mnt/c/ -m C: -w c-log2t-unsorted.csv I parametri suggeriti sono i seguenti: • -p: indica a log2timeline di fare un “preprocessing” ricorsivo della directory in analisi allo scopo di ottenere informazioni utili per i plugin che saranno avviati in seguito60; • -f: indica il tipo di sistema operativo (e quindi il set di plugin) che si desidera applicare alla directory passata in input61; • -r: indica a log2timeline di analizzare i file ricorsivamente senza quindi limitarsi quindi a quelli contenuti nella directory indicata; • -z: indica il fuso orario (timezone) impostato nel PC in analisi62; • -m: indica la stringa da anteporre al percorso e al nome del file nell’output di generazione della supertimeline, in genere si utilizza per indicare la lettera del 60 Ad esempio può essere ricavato l’hostname della macchina, gli utenti, il browser predefinito, la timezone, ecc. 61 Può essere omesso, indicando quindi a log2timeline di testare tutti i plugin su tutti i file. 62 Può essere ricavato automaticamente tramite il parametro “-p” ma spesso è utile indicarlo manualmente.
  • 41. 41 Manuale DEFT 7 drive del disco in analisi (es. “C:”, “D:”, ecc.); • -w: indica il file in cui salvare la supertimeline generata in formato CSV. Risultato dell’operazione è un file CSV contenente le singole voci ricavate dall’analisi dei diversi artefatti, disposti nell’ordine in cui sono stati analizzati. è quindi necessario utilizzare un strumento per ordinare le entry, selezionare eventualmente un periodo di interesse e filtrare, se necessario, contemporaneamente su parole chiave di interesse. Lo strumento dotato di queste funzionalità è l2t_process, anch’esso parte del framework log2timeline. Per ordinare e visualizzare, ad esempio, l’attività del PC avvenuta nel 2011, registrata nel file CSV c-log2t-unsorted.csv ci avalleremo del seguente comando: l2t_process -i -b c-log2t-unsorted.csv -y 2008-01-01..2008-12-31 –k keywords.txt > c-log2t- 2008.csv Le opzioni interessanti dello script l2t_process sono: • -i: sono inserite in output anche entry fuori dall’intervallo temporale indicato, se queste contengono informazioni che fanno sospettare attività di timestomping63; • -y: forza il formato delle date in yyyy-mm-dd piuttosto del predefinito mm-dd- yyyy; • -b: indica quale file deve essere analizzato dallo script; • -k: indica il file contenente le parole chiave a cui siamo interessati, escludendo dall’output i record che non le contengono. Il risultato dell’esecuzione di log2timeline e l2t_process sarà un lungo elenco di attività rilevate su filesystem64 e dai metadati ricavati dai tipi di file indicati in precedenza (registro, eventi, link, browser history, ecc...). 63 Es. MFT record con valore 0 sui millisecondi. 64 Nel caso di NTFS avremo voci ricavate dalla tabella MFT.
  • 42. 42 Manuale DEFT 7 Le colonne del file avranno l’intestazione seguente: 1. Date 7. Type 13. Filename 2. Time 8. User 14. Inode 3. Timezone 9. Host 15. Notes 4. MACB 10. Short 16. Format 5. Source 11. Desc 17. Extra 6. Sourcetype 12. Version A questo punto la difficoltà sarà nel filtrare le migliaia, a volte centinaia di migliaia, di voci per concentrarsi su quelle rilevanti. Da linea di comando, il programma grep può fornire un valido aiuto per escludere o, a posteriori, includere nella lista alcuni tipi di attività. È altresì possibile importare la supertimeline in un foglio di calcolo65 per filtrare ed analizzare il contenuto utilizzando le funzionalità tipiche di questo tipo di applicazione. Una delle categorie principali sulla quale è interessante applicare filtri è quella concernente il tipo di metadato rilevato, nella colonna 6 Sourcetype. Tra i tipi disponibili cui avremo interesse a filtrare, ci saranno ad esempio NTFS $MFT, REG, Event Log, WEBHIST, XP Prefetch, ecc... che ci permetteranno di distinguere tra navigazione internet, inserimento di penne USB (cercando USBSTOR nei record relativi il registro), apertura file (NTFS $MFT), o quanto altro di nostro interesse. 5.6 Ricerca file e cartelle È possibile effettuare ricerche di file e cartelle utilizzando uno dei seguenti strumenti: • locate; • find. 5.6.1 Locate Locate permette la ricerca di file all’interno di memorie di massa. Prima è necessario eseguire un’indicizzazione tramite il comando updatedb. Esempio: locate finanza –q–i 65 Deft presenta la suite libreoffice che include il foglio di calcolo Calc,
  • 43. 43 Manuale DEFT 7 Esegue una ricerca, senza distinguere tra maiuscole e minuscole (-i), dei file che contengono nella propria nomenclatura la parola finanza. Grazie all’opzione -q saranno segnalati gli errori di accesso a determinate directory del sistema indicandone anche il motivo (es. errori di tipo “access denied”). Esempio: locate “*.png” -q Esegue una ricerca di tutti i file con estensione png. 5.6.2 Find Find permette di eseguire la ricerca di file senza alcuna indicizzazione preventiva. Esempio: find . -iwholename “*porn*.png” Ricerca tutti i file che contengono la stringa porn nel nome e che abbiano estensione .png, senza alcuna distinzione maiuscole e minuscole. Esempio: find . -ctime -2 > lista.txt Trova tutti i file creati negli ultimi 2 giorni e riportandone l’elenco nel file lista.txt 5.7 Carving di file L’attività di carving consiste nel recupero di file non più referenziati dal file system, attraverso il riconoscimento di header e footer66 del file. È un procedimento molto lungo perché il disco è esaminato dal primo all’ultimo bit. Metaforicamente parlando, possiamo paragonare questo processo di lettura a quello di un’unità nastro. 5.7.1 Foremost Foremost permette il recupero di file cancellati direttamente da memorie di massa o, preferibilmente, da file bit stream image. Il comando foremost -o outpdir dump.img esegue il carving sul file dump.img secondo la configurazione impostata in /etc/foremost.conf e salva i file estratti nella directory outpdir. 66 Header e footer sono firme che caratterizzano l’inizio e la fine di un determinato tipo di file; nel dettaglio consistono in un gruppo di valori ottali o esadecimali consecutivi sempre presenti in una certa posizione di un determinato file allinizio o alla fine dello stesso.
  • 44. 44 Manuale DEFT 7 Il comando foremost -t png -o outpdir dump.img esegue il carving di tutti i file png sul file dump.img e salva i file estratti nella cartella outpdir. Tramite il parametro –t è possibile ricercare i seguenti tipi di file: • jpg • mpg • ole • gif • wav • doc • png • riff • zip • bmp • wmv • rar • avi • mov • htm • exe • pdf • cpp
  • 45. 45 Manuale DEFT 7 Capitolo 6: DEFT Linux GUI mode 6.1 Introduzione L’interfaccia grafica di DEFT Linux è basata sul “desktop environment” LXDE (Lightweight X11 Desktop Environment)67. La scelta del desktop manager è caduta su questo progetto perchè ad oggi è una delle interfacce grafiche più leggere e perforanti del mondo Linux. L’utilizzo della modalità grafica è richiesto nei casi in cui si debbano utilizzare programmi che non nascono per l’utilizzo a riga di comando, come ad esempio, Digital Forensic Framework (DFF)68 o Catfish. Dalla versione 6 le applicazioni native per sistemi Microsoft Windows, di cui non esiste un equivalente altrettanto potente per Linux, sono stati integrate ed emulate direttamente da DEFT Linux mediante il software Wine69. Per avviare l’interfaccia grafica di DEFT Linux è sufficiente digitare il comando deft-gui. 67 http://www.lxde.org 68 http://www.digital-forensic.org/ 69 http://www.winehq.org/
  • 46. 46 Manuale DEFT 7 Deft: Linux GUI Il desktop presenta i seguenti elementi: 1. Directory per la raccolta delle evidenze ry 2. Procedura per l’installazione di DEFT Linux 3. Terminale dei comandi 4. Menu applicazioni 5. PcmanFM File Manager 6. Gestione lingua tastiera 7. Mostra Desktop 8. Gestione multi desktop 9. Controllo audio del sistema 10. Network manager 11. Data e ora 12. Gestione fuso orario 13. Spegnimento e riavvio sistema
  • 47. 47 Manuale DEFT 7 DEFT: Linux menu Nel dettaglio il Menu Applicazioni presenta le seguenti sezioni: • Accessories: Archive Manager, Character Map, Disk Utility, File Manager, Galculator, Manager, Image Viewer, Leafpad, LXTerminal Truecrypt e Xpad. LXTerminal, • DEFT: Analisys tool, Antimalware tools, Carving tools, Hashing tools, Imaging tools, Mobile forensics, Network forensics, Osint tools, Password recovery, Reporting tools, recovery, Disk utility, File Manager, Gparted, Midnight commander, Mount ewf, MountManager, Wipe e Xmount. • Graphics: Document viewer. • Internet: Firefox e Sun Java 6 web start start. • Services: Apache start, Apache stop, Mysql start, Mysql stop, Samba start, Samba Samba stop, SSH start, SSH stop, Xplico start, Xplico stop stop. • Sound & Video: Audacious, Desktop recorder, VLC media player e Xfburn Xfburn. • Wine. • System tools: Gdebi package installer, Gparted, Printing, Synaptic package manager, System Profiler and benchmark, Task manager, Time and date, update manager, Users benchmark, and groups e Windows wireless drivers drivers.
  • 48. 48 Manuale DEFT 7 • Preferences: Additional drivers, Adobe Flash Player, Customize look, Desktop session setting, Disk utility, Keyboard and mouse, Language support, Lxkeymap, Moni Monitor settings, Network connections, Openbox configuration, Preferred applications, Software sources, Sun Java 6 Plugin control panel e Sun Java 6 Policy tool. 6.2 Gestione della memoria di massa Come già scritto in precedenza, il sistema non compie alcuna azione ad eccezione de del rilevamento dei device collegati al sistema. Utilizzando il file manager, tutte le memorie di massa, interne ed esterne, direttamente collegate al sistema non saranno mai montate in automatico. Facendo clic con il tasto destro sullicona della memoria di massa saranno visualizzate le to policy per il mount: • Mount Read Only: permette l’accesso alla memoria di massa in sola lettura : accesso evitando qualsiasi tipo di alterazione dei dati contenuti e della memoria stessa stessa; • Mount Volume: permette l’accesso alla memoria di massa in lettura e scrittura l’accesso scrittura; • Eject volume: permette la rimozione sicura della memoria dal sistema sistema. Tramite l’applicazione Mount Manager l’operatore potrà definire le policy di m mount sulla base delle sue esigenze operative operative. Attività di Mount usando PcmanFMr
  • 49. 49 Manuale DEFT 7 6.3 Mount manager Mount manager permette di creare in semplici clic policy di mount avanzate. Nell’immagine abbiamo riportarto la procedura per eseguire il mount di una memoria di massa in RO (read only) bloccando qualsiasi azione che possa alterare il file system. Policy di mount per bloccare le possibili alterazioni al file system Per eseguire il mount è necessario associare una ddirectory esistente ad una partizione della memoria assicurandosi che siano stati configurati i parametri noatime, noauto, ro, noexec che garantiscono che la memoria di massa non sia alterata durante l’utilizzo. Solo in questo modo sarà possibile accedere al file system in sola lettura e usarlo senza o aggiornare l’inode access time70. Con Mount Manager è possibile eseguire anche il mount di file di acquisizioni in formato dd e di file system di rete come Samba (Windows share) e NFS. 70 Informazione temporale di ultimo accesso ad una risorsa del file system