Paolo Dal Checco, Alessandro Rossetti, Stefano Fratepietro - Manuale DEFT 7

7,002 views

Published on

il manuale in lingua Italiana di DEFT 7

Published in: Business, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,002
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Paolo Dal Checco, Alessandro Rossetti, Stefano Fratepietro - Manuale DEFT 7

  1. 1. 1 Manuale DEFT 7Gli autoriStefano “youngSTEr” FratepietroSi 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 daltitolo “Uno studio del caso virus Vierika”; certificato Offensive Security OSCP e ISECOMOPST, attualmente è un security specialist presso l’ufficio IT-security del CSE (ConsorzioServizi Bancari) ed effettua attività peritali per tribunali, forze dell’ordine e privatipartecipando come consulente tecnico a casi di fama nazionale come “Buongiorno!Vitaminic” e “Pirelli-Telecom-Ghioni”. Dal 2005 è creatore e project leader del sistemaDEFT. Saltuariamente effettua attività di docenza in Informatica Forense per Universitàitaliane e corsi privati.Sandro “bUSBoy” RossettiAlessandro Rossetti vive e lavora a Roma. Molti dei suoi interessi personali riguardanolInformation Technology, in particolare le problematiche di intelligence e forensic. Èmembro di diverse organizzazioni indipendenti quali ISACA ed IACIS.Paolo Dal CheccoHa conseguito il titolo di Dottore di Ricerca nel 2006 presso l’Università degli Studi diTorino, nel Gruppo di Sicurezza del Dipartimento di Informatica. Ha svolto docenza inambiti universitari, ICT e aziendali oltre a collaborazioni con aziende che operano nelsettore della sicurezza e privacy delle comunicazioni. È socio fondatore dello studio diconsulenza informatica forense “Digital Forensics Bureau” (www.difob.it) di Torino. ÈSocio Amministratore della Digit Law Srl (www.digitlaw.it). Effettua attività di consulenzatecnica per tribunali e procure, forze dell’ordine e privati.
  2. 2. 2 Manuale DEFT 7Licenza d’usoAttribuzione - Non commerciale 3.0 ItaliaTu sei libero di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,rappresentare, eseguire, recitare e di modificare questopera alle seguenti condizioni:Attribuzione — Devi attribuire la paternità dellopera nei modi indicati dallautore o da chiti ha dato lopera in licenza e in modo tale da non suggerire che essi avallino te o il modoin cui tu usi lopera.Non commerciale — Non puoi usare questopera per fini commerciali.Rinuncia — È possibile rinunciare a qualunque delle condizioni sopra descritte se ottienilautorizzazione dal detentore dei diritti.Pubblico Dominio — Nel caso in cui lopera o qualunque delle sue componenti siano nelpubblico dominio secondo la legge vigente, tale condizione non è in alcun modomodificata dalla licenza.Altri Diritti — La licenza non ha effetto in nessun modo sui seguenti diritti:Le eccezioni, libere utilizzazioni e le altre utilizzazioni consentite dalla legge sul dirittodautore;I diritti morali dellautore;Diritti che altre persone possono avere sia sullopera stessa che su come lopera vieneutilizzata, come il diritto allimmagine o alla tutela dei dati personali.Nota — Ogni volta che usi o distribuisci questopera, devi farlo secondo i termini di questalicenza, che va comunicata con chiarezza.Questo è un riassunto in linguaggio accessibile a tutti della licenza integrale:http://creativecommons.org/licenses/by-nc/3.0/it/legalcode
  3. 3. 3 Manuale DEFT 7Dedicato 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. 4 Manuale DEFT 7RingraziamentiCi teniamo a ringraziare quanti nel corso degli ultimi anni hanno contribuito alla nostracrescita 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 CeroDavide “Rebus” GabriniBartolomeo “Meo” BoglioloValerio LeomporraMarco GiorgiEmanuele GentiliUn doveroso ringraziamento va anche a Simone e Ivan per il loro aiuto nel ricontrollarequesto manuale.Vogliamo infine ringraziare Architecture Technology Corporation per averci permesso diinserire “Dropbox Reader™” in questa distribuzione.
  5. 5. 5 Manuale DEFT 7PremessaTramite questo manuale vogliamo dare al lettore un assaggio delle principali funzioni epotenzialità della distribuzione DEFT, un punto di partenza per stimolare la crescita delleproprie conoscenze tecniche.Non troverete quindi in queste pagine spiegazioni esaustive sull’utilizzo di tutti gliapplicativi e comandi attualmente presenti nella distribuzione.Per cercare di facilitare lo studio, abbiamo inserito alcuni esempi che suggerisconoall’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. 6 Manuale DEFT 7SommarioCAPITOLO 1: INTRODUZIONE.................................................................................................. 91.1 COS’È DEFT?............................................................................................................................ 91.2 PERCHÉ DEFT È IMPIEGABILE NELLATTIVITÀ DI DIGITAL FORENSICS?.................................................. 10CAPITOLO 2: REQUISITI DI SISTEMA.......................................................................................112.1 DEFT..................................................................................................................................... 112.2 DART.................................................................................................................................... 11CAPITOLO 3: ELENCO DELLE APPLICAZIONI............................................................................123.1 DEFT LINUX............................................................................................................................ 123.2 DART 1.0 .............................................................................................................................. 13CAPITOLO 4: AVVIARE DEFT LINUX LIVE DVD.........................................................................154.1 VERIFICARE L’INTEGRITÀ DELL’IMMAGINE DI DEFT SCARICATA DA INTERNET ........................................ 154.2 MASTERIZZARE DEFT LINUX SU UN SUPPORTO OTTICO.................................................................... 164.3 CREARE UNA PENNA USB AVVIABILE CONTENENTE DEFT LINUX........................................................ 174.4 IMPOSTAZIONE DEL BIOS E/O DEL BOOT SELECTION POPUP/MENU .................................................. 184.5 PARAMETRI DI AVVIO DI DEFT.................................................................................................... 194.6 INSTALLAZIONE DI DEFT LINUX 7 ................................................................................................ 22CAPITOLO 5: DEFT LINUX TEXT MODE ...................................................................................245.1 GESTIONE DELLE MEMORIE DI MASSA ........................................................................................... 245.1.1 Comandi utili.............................................................................................................. 255.1.2 Mount delle memorie ................................................................................................ 255.1.3 Mount di un device (hard disk, penna USB, floppy disk, CDROM, ecc...) ................... 265.1.4 Mount di un file immagine DD/RAW ......................................................................... 275.1.5 Mount di un file immagine DD/RAW suddiviso in più file (split raw)......................... 285.1.6 File di tipo EWF/Encase.............................................................................................. 305.1.7 File di tipo AFF............................................................................................................ 305.2 CALCOLO DELL’HASH................................................................................................................. 315.2.1 Md5sum..................................................................................................................... 315.2.2 Sha1sum..................................................................................................................... 325.2.3 Md5 e sha deep.......................................................................................................... 325.2.4 Dhash......................................................................................................................... 325.3 ACQUISIZIONE MEMORIE DI MASSA .............................................................................................. 335.3.1 dd............................................................................................................................... 335.3.2 ddrescue..................................................................................................................... 33
  7. 7. 7 Manuale DEFT 75.3.3 dcfldd ......................................................................................................................... 345.3.4 Dhash......................................................................................................................... 345.4 CREAZIONE DI UNA TIME LINE...................................................................................................... 355.4.1 fls ............................................................................................................................... 355.4.2 mactime..................................................................................................................... 365.5 CREAZIONE DI UNA SUPERTIMELINE.............................................................................................. 385.6 RICERCA FILE E CARTELLE............................................................................................................ 425.6.1 Locate......................................................................................................................... 425.6.2 Find ............................................................................................................................ 435.7 CARVING DI FILE....................................................................................................................... 435.7.1 Foremost.................................................................................................................... 43CAPITOLO 6: DEFT LINUX GUI MODE .....................................................................................456.1 INTRODUZIONE ........................................................................................................................ 456.2 GESTIONE DELLA MEMORIA DI MASSA........................................................................................... 486.3 MOUNT MANAGER ................................................................................................................... 496.4 CALCOLO DELL’HASH................................................................................................................. 506.5 ACQUISIZIONE DI MEMORIE DI MASSA........................................................................................... 506.5.1 Dhash......................................................................................................................... 516.5.2 Guymager .................................................................................................................. 526.6 RICERCA DI FILE E CARTELLE ........................................................................................................ 536.6.1 Catfish........................................................................................................................ 536.7 FINDWILD ............................................................................................................................... 546.8 CARVING DI FILE DA GUI............................................................................................................ 556.9 GESTIONE DI UN CASO CON AUTOPSY ........................................................................................... 576.10 XPLICO .............................................................................................................................. 656.10.1 Creazione di un caso.............................................................................................. 666.11 HYDRA .............................................................................................................................. 706.12 KEEPNOTE.......................................................................................................................... 726.13 MALTEGO .......................................................................................................................... 73CAPITOLO 7: MOBILE FORENSICS...........................................................................................747.1 ANDROID................................................................................................................................ 767.2 BREVE PANORAMICA SULLE APPLICAZIONI GOOGLE ......................................................................... 777.2.1 Gmail.......................................................................................................................... 787.2.2 Market ....................................................................................................................... 797.2.3 File System in uso....................................................................................................... 797.2.4 EXT4 file system ......................................................................................................... 80
  8. 8. 8 Manuale DEFT 77.2.5 Policy di utilizzo delle memorie di massa................................................................... 817.2.6 Accesso al file system del sistema operativo ............................................................. 817.3 SAMSUNG GALAXY S I9000– CARATTERISTICHE HARDWARE ............................................................. 83Processore: S5PC110 CPU, 45 nm 1 GHz ARM Cortex-A8 based PowerVR SGX 540 GPU consupporto OpenGL ES 1.1/2.0. ................................................................................................... 837.3.1 Procedura per il “rooting” del dispositivo .................................................................. 847.3.2 Samsung Galaxy S - acquisizione fisica della memoria flash interna......................... 857.4 SAMSUNG GALAXY S - ACQUISIZIONE FISICA DELLA MEMORIA ESTERNA ............................................... 877.4.1 Lavorare direttamente sullo smartphone .................................................................. 887.4.2 Posizione e analisi delle applicazioni e dei file di comune interesse .......................... 887.4.3 Esempio di analisi sullapplicazione Google Maps..................................................... 90CAPITOLO 8: DART – DIGITAL ADVANCED RESPONSE TOOLKIT..............................................92CAPITOLO 9: PER APPROFONDIRE .........................................................................................96CAPITOLO 10: APPENDICE 1 – PARAMETRI PER IL BOOT DEL KERNEL ......................................97CAPITOLO 11: APPENDICE 2 – MAN PAGE..............................................................................18411.1 MOUNT........................................................................................................................... 18411.2 AFFUSE............................................................................................................................ 21511.3 SHA1SUM........................................................................................................................ 22111.4 MD5, SHA1, SHA256 DEEP ................................................................................................. 22311.5 DHASH ............................................................................................................................ 22711.6 GREP .............................................................................................................................. 22811.7 DD.................................................................................................................................. 24111.8 DD RESCUE ...................................................................................................................... 24411.9 DCFLDD.......................................................................................................................... 24611.10 FLS ................................................................................................................................. 25111.11 MACTIME ........................................................................................................................ 25311.12 LOCATE............................................................................................................................ 25411.13 FIND ............................................................................................................................... 25911.14 FOREMOST....................................................................................................................... 285
  9. 9. 9 Manuale DEFT 7Capitolo 1: Introduzione1.1 Cos’è DEFT?La distribuzione Linux1DEFT2è composta da un sistema Gnu/Linux e da DART (DigitalAdvanced Response Toolkit), suite dedicata alle attività di digital forensics3edintelligence4.È attualmente sviluppata e gestita da Stefano Fratepietro, con il supporto di MassimilianoDal Cero, Sandro Rossetti, Paolo Dal Checco, Davide Gabrini, Bartolomeo Bogliolo, ValerioLeomporra e Marco Giorgi.La prima versione di DEFT Linux ha visto la luce nel 2005 grazie anche all’aiuto del corso diInformatica Forense della facoltà di Giurisprudenza dell’Università degli Studi di Bologna.Questa distribuzione è tutt’oggi utilizzata durante le ore di laboratorio del corso diInformatica Forense nell’Università di Bologna ed in molte altre università internazionalied enti privati.È inoltre una delle principali soluzioni impiegate durante l’attività di Digital Forensics dimolte forze dell’ordine.Oltre ad un numero considerevole di applicazioni e script linux, Deft contiene anche lasuite DART contenente applicazioni Windows (sia open source5sia closed source) di cuiancora 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.1GNU/Linux è un sistema operativo libero di tipo Unix (o unix-like) costituito dallintegrazione del kernel Linux con elementidel sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere. Wikipedia2Acronimo di Digital Evidence & Forensic Toolkit.3Scienza che studia lindividuazione, la conservazione, la protezione, lestrazione, la documentazione e ogni altra forma ditrattamento del dato informatico al fine di essere valutato in un processo giuridico e studia, ai fini probatori, le tecniche e glistrumenti per lesame metodologico dei sistemi informatici. Wikipedia4Questo aspetto della distribuzione sarà affrontato in un altro documento.5Il termine indica un software i cui autori permettono il libero studio e lapporto di modifiche da parte di altriprogrammatori indipendenti.
  10. 10. 10 Manuale DEFT 71.2 Perché DEFT è impiegabile nellattività di Digital Forensics?Un software è considerato adatto per l’attività di Digital Forensics quando assicura che lastruttura e i metadati dei file6o del sistema sottoposto ad analisi non siano alterati e sia ingrado di fornisce gli strumenti idonei a garantire la catena di conservazione del repertoacquisito7.In DEFT, a tale scopo, sono state implementate alcune caratteristiche che riducono alminimo 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 sistemasottoposto 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 nonalterano l’integrità del dato sottoposto ad acquisizione.6RFC 3227: “Minimise changes to the data as you are collecting it. This is not limited to content changes; you should avoidupdating file or directory access times.”7Art. 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. 11 Manuale DEFT 7Capitolo 2: Requisiti di sistema2.1 DEFTPer l’utilizzo delle funzionalità di DEFT, è sufficiente avviare con il CDROM o penna USB diDEFT 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 inmodalità testuale, 200Mhz per eseguire DEFT Linux in modalità grafica;64 Mbyte di memoria RAM per eseguire DEFT Linux in modalità testuale o 128 perla modalità grafica.Sono inoltre supportate le nuove architetture Apple con processori Intel.2.2 DARTLa suite DART può essere eseguita in tutti i sistemi Microsoft Windows a 32bit. Nelleversioni a 64bit sono state riscontrate alcune piccole limitazioni per alcuni tool che non negarantiscono il totale supporto.DART può essere eseguita direttamente in DEFT Linux mediante l’utilizzo di Wine8.8Wine è un framework per Linux che permette l’esecuzione di applicativi Windows che possono essere installati o avviatidirettamente all’interno di una distribuzione Linux (www.winehq.org)
  12. 12. 12 Manuale DEFT 7Capitolo 3: Elenco delle applicazioni3.1 DEFT Linuxsleuthkit 3.2.3autopsy 2.24dff 1.2ptk forensic 1.0.5maltego CEkeepNote 0.7.6hunchbackeed file carver 0.6findwild 1.3bulk extractor 1.2emule forensic 1.0dhash 2.0.1libewf 20120304aff lib 3.6.14disk utility 2.30.1guymager 0.6.5-1dd rescue 1.14dcfldd 1.3.4.1dc3dd 7foremost 1.5.6photorec 6.13mount manager 0.2.6scalpel 2wipe 0.21hex dumpoutguess 0.2sqlite database browser 2.0b1bitpim 1.0.7bbwhatsapp database converterdropbox readeriphone backup analyzer 10/2012iphone analyzercreepy 0.1.9xprobe2 0.3xmount 0.4.6trID 2.11 DEFT editionreadpst 0.6.41chkrootkitrkhunter 1.3.8john 1.7.8catfishpasco 1.0md5sumsha1sumsha224sumsha256sumsha512summd5deepsha1deepsha256deeppdfcrack cracking toolfcrackzip cracking toolclam antivirus 0.97.3mc 4.7.0.9dmraidtestdisk 6.11ghex, light gtk hex editorvinetto 0.6xplico 1.0 DEFT editionwireshark 1.6
  13. 13. 13 Manuale DEFT 7ettercap 0.7.3nmap 5.21hydra 7.1log2timeline 0.60rifiuti2wine 1.3.28mobius forensic3.2 DART 1.0WinAudit 2.28.2MiTeCWindows Registry Recovery 1.5.1.0Zeroview 1.0FTK Imager 3Nigilant32 0.1Windows Forensic Toolchest 3.0.05MoonSols Win32dd 1.0.2.20100417MoonSols Win64dd 1.0.2.20100417Windows File Analyzer 1.0UltraSearch 1.40Pre-Search xx.08XnView 1.97.8X-AgentRansackk 2010 (build 762)Index.dat Analyzer 2.5AccessEnum 1.2Autoruns 10.03DiskView 2.4FilemonProcess eXPlorer 12.04RAM Map 1.1RegmonRootkit Revealer 1.71VMMap 2.62WinObj 2.15AlternateStreamView 1.15ChromeCacheView 1.25CurrPorts x86 e x64 1.83CurrProcess 1.13FoldersReport 1.21IE Cache View 1.32IE Cookie View 1.74IE History View 1.50Inside Clipboard 1.11Live Contacts View 1.07Mozilla Cache View 1.30Mozilla History View 1.25Mozilla Cookie View 1.30Opened File View 1.46Opera Cache View 1.37Outlook Attack View x86 e x64 1.35Process Activity View x86 e x64 1.11Recent File View 1.20Regscanner x86, x64 e win98 1.82ServiWin 1.40MUI Cache View 1.01MyEventView 1.37SkypeLogView 1.15SmartSniff x86 e x641.71StartupRun 1.22MyLastSearch 1.44Mozilla Cookie View 1.30Opened File View 1.46Opera Cache View 1.37
  14. 14. 14 Manuale DEFT 7Outlook Attack View x86 e x64 1.35Process Activity View x86 e x64 1.11Recent File View 1.20Regscanner x86, x64 e win98 1.82ServiWin 1.40USBdeview x86 e x64 1.80User Assist View 1.01User Profile View 1.01Video Cache View 1.78WhatInStartup 1.25WinPerfectView 1.10Password ToolChromePass 1.10Dialupass 3.10IE PassView 1.20LSA Secrets Dump x86 e x64 1.21LSA Secrets View x86 e x64 1.21Mail PassView 1.65MessenPass 1.35Network PassRecovery x86 e x64 1.30Opera PassView 1.01PasswordFOX 1.25PC AnyPass 1.12Protected Pass View 1.63PST Password 1.12Remote Desktop PassView 1.01VNC PassView 1.02Win9x Passview 1.1WirelessKeyView x86 e x64 1.34AViScreen Portable 3.2.2.0Hoverdesk 0.8File Restore Plus 3.0.1.811WinVNC 3.3.3.2TreeSizeFree 2.40PCTimeLTFViewer 5.2Sophos Anti-Rootkit 1.5.4Terminal with tools command lineSpartakus 1.0Testdisk 6.11.3Photorec 6.11.3
  15. 15. 15 Manuale DEFT 7Capitolo 4: Avviare DEFT Linux live DVD4.1 Verificare l’integrità dell’immagine di DEFT scaricata da InternetTrattandosi di una distribuzione destinata ad attività di computer forensics è buonanorma, prima di masterizzare il file scaricato da internet, verificare che corrispondaesattamente a quello presente online.La verifica può esser fatta tramite il calcolo del valore hash MD59sull’immagine osull’archivio scaricato e il successivo confronto con i valori presenti nel file md5.txtpresente nella root della directory di download.DEFT/DART: Directory di downloadAd esempio, nel caso del file “deft7.iso”, il calcolo dell’hash MD5 deve dare come risultatolo stesso indicato all’interno del file md5.txt, un valore del tipo“d98307dc53ca83358a2dfdb33afc2672”.Per calcolare il valore hash MD5 di un file è possibile utilizzare diversi tool: ad esempiomd5summer10o hashmyfiles11(su Windows) o il tool a linea di comando md5sum perLinux/MacOS.Se l’hash del file scaricato non coincide con quello presente sul sito wew può significareche il file, seppure di dimensione uguale a quello online, presenta errori dovuti a probleminello scaricamento o corruzione di una o più parti.9http://it.wikipedia.org/wiki/MD510http://www.md5summer.org/11http://www.nirsoft.net/utils/hash_my_files.htm . Il programma è già incluso in DART.
  16. 16. 16 Manuale DEFT 74.2 Masterizzare DEFT Linux su un supporto otticoDEFT 7 Linux, nella versione destinata all’utilizzo Live su macchine fisiche, viene distribuitasotto forma di un’immagine ISO che, per poter essere utilizzata, è necessario masterizzaresu un supporto ottico – nel caso di DEFT 7 su un DVD12.Per masterizzare un’immagine ISO è sufficiente utilizzare un qualsiasi programma dimasterizzazione, seguendo le procedure che possono variare da programma aprogramma.Le immagini ISO sono una sorta di “fotografia” dell’intero filesystem (in realtà degli interifilesystem, 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 deveessere 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 copiaavviabile da un nuovo supporto.La masterizzazione d’immagini ISO è possibile con quasi tutti i software dimasterizzazione13, semplicemente selezionando la voce riguardante le immagini.ImgBurn permette di scrivere file immagine su disco12Data la loro dimensione ridotta, DEFT 6 e precedenti potevano essere masterizzate anche su CD .13Su Windows suggeriamo di utilizzare, per comodità, i tool gratuiti Imgburn o Infrarecorder. Su Linux il software dimasterizzazione K3B ha le funzionalità necessarie per poter masterizzare file immagine. In Mac OS è sufficiente, invece,utilizzare l’applicazione Disk Utility.
  17. 17. 17 Manuale DEFT 7In rete sono disponibili migliaia di link e howto che illustrano in dettaglio le modalità discrittura di immagini ISO su CD/DVD con i più disparati sistemi operativi.4.3 Creare una penna USB avviabile contenente DEFT LinuxIn alternativa all’utilizzo di un supporto ottico, è possibile creare una penna USBcontenente DEFT Linux e avviabile come se fosse un Live CD/DVD (sui PC che supportanol’avvio da periferica USB).Ci sono diversi modi di creare periferiche di archiviazione di massa USB contenenti DEFTLinux Live. Per sistemi Windows, Linux e Mac consigliamo l’utilizzo dell’applicazionegratuita universale UNetBootin14.Essa permette di eseguire l’operazione di scrittura, selezionando semplicementel’immagine ISO da riversare su penna USB e la lettera di sistema acquisita dalla pennaUSB.Consigliamo di formattare la chiavetta USB con filesystem FAT32, impostandopossibilmente una “volume label” tale da ricordarvi, in futuro, quale distribuzione e qualeversione è presente nella chiavetta.Preparazione della penna USB14http://unetbootin.sourceforge.net/
  18. 18. 18 Manuale DEFT 7Avviate il programma UNetbootin – non richiede installazione – e, abilitando il radiobutton “Diskimage”, selezionate il file ISO che volete convertire in Live USB avviabile,scegliendo la lettera della chiavetta USB che desiderate utilizzare.UNetbootin: Schermata principaleAl termine dell’operazione di scrittura otterrete una versione Live USB che potrà essereutilizzata per avviare DEFT Linux su qualsiasi PC in grado di supportare l’avvio da portaUSB, 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 daCDROM/DVDROM/BDROM o da memorie di massa esterne (in base al supporto in cui èpresente DEFT). In caso contrario configurate il BIOS, salvate e riavviate il sistema con ildvd 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 nelBIOS per evitare che un riavvio accidentale della macchina (ad esempio dovuto a sbalzi dicorrente) provochi il boot del sistema operativo originario.15In genere, durante l’avvio è indicato il tasto da premere per visualizzare il boot meu, spesso chiamato “Boot SelectionPopup” o “Boot Device Menu”. I tasti solitamente dedicati al Boot Menu sono F8, F9 e F12, ma in alcune architetture ilmenù di avvio può anche essere richiamato dal tasto ESC.
  19. 19. 19 Manuale DEFT 74.5 Parametri di avvio di DEFTAvviato il boot loader di DEFT, ci si trova di fronte ad una schermata con diverse opzioni diavvio. La prima scelta che è richiesta riguarda la lingua dell’interfaccia di DEFT16.Scelta della linguaUna volta selezionata la lingua, è possibile utilizzare le frecce su/giù per spostarsi nelmenù a tendina. Tramite i tasti funzione è possibile impostare ulteriori parametri quali: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 aggiungere altri in base alleproprie necessità.16Richiamabile con il tasto F2 nella finestra di impostazioni di avvio
  20. 20. 20 Manuale DEFT 7I parametri del kernel accesibili premendo il tasto F6 sono:acpi=offAl boot non sono utilizzate le funzioni ACPI per la gestione dell’energiaelettrica usata dal proprio sistema. Utile in caso di problemi ad avviare lalive, nel caso in cui il PC non supporti ACPI oppure se l’implementazioneACPI crea problemi di reboot o blocchi di sistema.noapicDisabilita il controller interrupt APIC (Advanced Programmable InterruptController).nolapic Disabilita la funzione APIC per le architetture basate su CPU Intel.edd=on Abilita l’Enhanced Disk Drive.nodmraid Disabilita l’opzione del kernel dmraid per i raid di tipo software.vga=xxxSetta la risoluzione del framebuffer se la scheda video è in vesa mode. Èpossibile scegliere tra le seguenti modalità:In rosso i parametri deprecati, in nero i parametri che non hannoriscontrato alcun problema di funzionamento. Per maggiori informazionisui parametri modificabili al boot, è possibile consultare l’Appendice 1.nomodesetPer eseguire il boot di DEFT Linux su un Mac Book Air è necessarioaggiungere il paramentro nomodeset17al boot. Tale parametro permettedi gestire correttamente i driver video e di poter usare il sistema senzaalcun problema di visualizzazione delle schermate.17Tratto da www.kernel.org/doc/Documentation/kernel-parameters.txtThis is a kernel boot option that tells the kernel not to enable kernel mode setting (KMS). Video support is usually acombination of a drm kernel driver and a Xorg driver working together. KMS is used with Intel, Nouveau, and Radeon kernelmodules. 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 kernelmodules, you may need to boot with nomodeset, or blacklist the matching module, or just delete the module. The moduleswill be found in /lib/modules/<kernel-version>/kernel/drivers/gpu/drm/
  21. 21. 21 Manuale DEFT 7toramImpone (quando possibile) il caricamento dell’intera immagine di DEFT inRAM, permettendo la rimozione del DVD o della penna USB. La velocità diesecuzione è incrementata notevolmente poiché non si rendono piùnecessarie operazioni di lettura da disco o da flash. È Inoltre possibileutilizzare il lettore DVD per eventuali acquisizioni forensi (ad esempiotramite guymager18) oppure per masterizzare dati (ad esempio tramite ilprogramma di masterizzazione xfburn19presente nel menù “Sound &Video”). Il parametro “toram” viene attivato solo se la memoria RAMpresente è sufficiente per contenere l’immagine del DVD/USB DEFT20. Ladistribuzione DEFT 7 occupa circa 1.4GB, consigliamo quindi di avviarla inmodalità “toram” soltanto quando il PC dispone di almeno 2GB dimemoria. La distribuzione DEFT 6, invece, occupa soltanto 700MB, èquindi avviabile in modalità “toram” anche su PC che possiedono soltanto1GB di memoria.Per selezionare i parametri del kernel mostrati sul menù, premere la barra spaziatrice o iltasto INVIO in corrispondenza di quelli prescelti: una ‘X’ verrà inserita a confermarel’aggiunta al kernel.Nel caso in cui si desideri specificare ulteriori parametri del kernel, dopo aver premuto F6premere il tasto “ESC” per far scomparire il menù e visualizzare sullo sfondo la riga diavvio del kernel dove potete digitate direttamente il o i parametri prescelti mantenendoliseparati tra di loro con degli spazi.18http://guymager.sourceforge.net/19http://www.xfce.org/projects/xfburn20Si raccomanda in ogni caso di lasciare una parte di RAM libera per le normali attività del sistema
  22. 22. 22 Manuale DEFT 74.6 Installazione di DEFT Linux 7Dalla 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 minimiCPU x86 200Mhz128 MB di memoria RAMDisco rigido da 20 GBScheda Video Vesa compatibile16MBScheda di rete 10/100Interfacce USB 2.0Lettore DVDRequisiti ottimaliCPU Intel dual core2GB di memoria RAMDisco rigido SATA da 500 GBScheda Video intel con memoriadedicataScheda di rete 10/100/1000 -WiFi NInterfacce USB 3.0 ed e-sataLettore DVDL’installazione del sistema avviene tramite una procedura guidata standard in cui l’utentedeve rispondere ad alcune domande. L’operazione dove è richiesta maggior attenzione è ilpartizionamento della memoria di massa che ospiterà il sistema.Nonostante le esigenze cambino sulla base dell’esperienza e il modo di lavoraredell’operatore, ci permettiamo di dare alcuni suggerimenti sul come ottenereun’installazione ottimale:Riservare al sistema almeno 20GB di memoria;Partizionare il disco secondo le proprie esigenze creando una partizione di SWAPcon un livello di swappiness21pari a 10. in questo modo si ridurranno irallentamenti improvvisi dovuti all’utilizzo della partizione di swap23;Creare un utente durante l’installazione ricordandosi però di utilizzare DEFT Linuxsempre con l’account root per evitare problemi dovuti alla richiesta di permessida 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 propriapassword) oppure “su –“ (verrà richiesta la password di root);21Per maggiori informazioni https://help.ubuntu.com/community/SwapFaq23Nel caso in cui il computer sia dotato di più di 4GB di RAM, potrebbe essere considerata una soluzione il non creare unapartizione di SWAP: in questo modo si eviteranno rallentamenti improvvisi dovuti all’utilizzo della partizione di swap.
  23. 23. 23 Manuale DEFT 7Non rimuovere PER ALCUN MOTIVO il freezing sull’aggiornamento di alcunipacchetti volutamente bloccato: sono parte di un processo di personalizzazione ditutti i meccanismi di protezione delle memorie di massa collegate al sistema.
  24. 24. 24 Manuale DEFT 7Capitolo 5: DEFT Linux text modeCompletata la fase di boot, il sistema presenta la sessione ad interfaccia testuale (con seiterminali accesibili tramite la combinazione di tasti ALT + F1 -> ALT + F6) con una shellbash dotata di permessi di root24.DEFT: sessione ad interfaccia testuale5.1 Gestione delle memorie di massaDEFT, anche in versione live, supporta le memorie di massa ed i filesystem più diffusi.Come già accennato DEFT non esegue il mount automatico tipico delle distribuzioni Live(es. Knoppix, Ubuntu, ecc...) evitando l’alterazione accidentale della memoria di massacollegata.Il contenuto di una memoria di massa può essere comunque alterato dall’operazione dimount eseguita in modalità read/write, azione che DEFT non esegue in automatico.24Questa implementazione si rivela molto utile quando si avvia DEFT Linux su computer molto vecchi che non permettonol’utilizzo ottimale dell’interfaccia grafica oppure per l’utente esperto che preferisce operare direttamente da linea dicomando.
  25. 25. 25 Manuale DEFT 75.1.1 Comandi utiliRiportiamo alcuni comandi utili per eseguire operazioni inerenti alla gestione dellememorie 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 perifericao nell’immagine raw indicando l’offset di partenza di ogni partizione e gli spazi nonallocati;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 lamodalità con la quale sono state montate (read only / read-write);df –h: visualizza informazioni sulla dimensione dei dispositivi montati e lo spaziolibero.5.1.2 Mount delle memorieIl comando mount permette di collegare un file system – presente su in una perifericaoppure 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, chiavettaUSB, CD/DVD/CDROM, floppy disk, ecc... si utilizzerà come sorgente il device stesso che loidentifica. Avremo in questo caso:/dev/fdX25per 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 chiavettaUSB, 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 contenutoall’interno di un file memorizzato su disco e contenente il dump o l’immagine forense bit-25La X identifica il numero di periferica presente sul sistema, così avremo /dev/sda per il primo disco e /dev/sdb per ilsecondo, 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.26Le best practice indicano chiaramente che non si dovrebbe lavorare mai sulla memoria di massa originale ma sempre esolo su una copia.
  26. 26. 26 Manuale DEFT 7stream 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 uncomando di tipo:mount –t tipo –o opzioni sorgente punto_di_mountdovetipo è la tipologia del filesystem, solitamente vfat, ntfs-3g, ext3… ecc., o auto quandonon si è sicuri del tipo di file system28(se si omette il parametro il mount cercaautonomamente 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 creataprima di eseguire il comando di mount29.Le opzioni di uso frequente (che devono seguire il delimitatore –o nella riga di comando dimount) 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 nelparagrafo successivo) fornisce il numero di byte da saltare per puntare all’inizio dellapartizione logica da montare (recuperabile con mmls o fdisk –lu).Esempio 1: montare in scrittura una partizione NTFS sulla quale verrà salvato il dump diun device (risultato di un’acquisizione forense):mount –t ntfs-3g –o rw /dev/sdb1 /media/dest27Spesso il formato bit-stream viene suddiviso in file di dimensione ridotta (2-4 Gbytes l’uno) in modo da poter esseresalvato su filesystem con filesize limit (es. FAT32), in tal caso viene definito split raw.28Se omesso in genere il comando mount riesce ad identificare autonomamente il tipo di filesystem.29Ad esempio con il comando mkdir /media/nomecartellachevoglio30Da usare per la directory dove verra salvata la copia
  27. 27. 27 Manuale DEFT 7Esempio 2: montare in sola lettura una partizione NTFS di un disco di cui si desidera fareacquisizione forense, ad esempio per avere un’anteprima dei file in essa contenuti magaridurante un’attività sul campo (è essenziale utilizzare l’opzione -o ro per impedire qualsiasiscrittura accidentale sul disco):mount –t ntfs-3g –o ro /dev/sdb1 /media/evidence5.1.4 Mount di un file immagine DD/RAWPer eseguire il mount in sola lettura di un file immagine (contenente il dump di un interodisco, non di una singola partizione) si può utilizzare il seguente comando:mount –t tipo –o ro,loop,offset=$((512*partition-start)) opzioni file_immagine.ddpunto_di_mountLe opzioni ed il formato del comando mount sono le stesse indicate nel paragrafoprecedente.In questo caso però deve essere obbligatoriamente utilizzata una modalità di mountbasata su loop device che “converte” (in modo virtuale, senza quindi andare ad alterare ilsorgente) un file immagine (statico) in un device linux (dinamico), permettendo quindi alkernel 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 eautomatica al layer sottostante del comando losetup, tramite il quale è possibile associareun device loop all’immagine della memoria image.dd.In questo modo è possibile utilizzare le applicazioni funzionati su device anche suimmagini di memorie di massa.Se si vuole vuole evitare di inserire -o loop, è necessario far precedere al mount lacreazione di un loop device tramite il comando:losetup -r /dev/loop0 /media/disco1/dump.ddTale 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 stessiun 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 contenentel’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:31Sarà necessario quindi un comando tipo mount –o ro /dev/loop0 /mnt/dest
  28. 28. 28 Manuale DEFT 7mmls dump.ddl’output ottenuto sarà simile al seguente:DOS Partition TableOffset Sector: 0Units are in 512-byte sectorsSlot Start End Length Description00: Meta 0000000000 0000000000 0000000001 Primary Table (#0)01: ----- 0000000000 0000002047 0000002048 Unallocated02: 00:00 0000002048 0000032255 0026624000 Unknown Type (0x27)03: 00:01 0000032256 0086598247 0000204800 NTFS (0x07)05: ----- 0086598248 0976773167 0000002048 UnallocatedMontiamo la partizione identificata come 03 dall’output di mmls specificando l’offsetmoltiplicato per 51232:mount –t ntfs –o ro,loop,noatime,noauto,noexec,offset=16515072 dump.dd/media/destInvece di eseguire il calcolo dell’offset moltiplicando per 512 il punto di “Start” dellapartizione ricavato dal comando mmls, è possibile utilizzare un operatore di calcolo dellashell: inserendo come offset il valore $((512*partition-start)), dove “partition-start” indical’offset in byte della partizione che si intende montare (nell’esempio precedente è ilvalore 33256).Avremmo quindi il comando di mount:mount –t ntfs –o ro,loop,noatime,noauto,noexec,offset=$((512*32256)) dump.dd/media/destPortate a termine le operazioni sulle memorie, prima di scollegare dal sistema la perifericamontata, è 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 diun file contenente il dump di un intero disco. Nel caso in cui – raro ma possibile – sia fattoil dump di una singola partizione, non è necessario utilizzare il parametro “offset” inquanto 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 undisco) sia splittato (suddiviso) in più file, è necessario preparare il file su cui si andrà a fareil comando di mount mostrato nel paragrafo precedente.32512 byte è la grandezza di default di un settore che compone una memoria di massa
  29. 29. 29 Manuale DEFT 7Ipotizziamo di avere un’immagine composta dai file dump.001, dump.002, dump.003,dump.004 e dump.005. Non possiamo applicare direttamente le azioni illustrate nelparagrafo precedente, perché non abbiamo in questo caso un solo file immagine su cuilanciare il comando mount, bensì cinque33.Per montare file immagini raw suddivisi, in formato split-raw, abbiamo a disposizione trepossibilità.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 filedump.dd. Lo svantaggio evidente è che, in questo caso, lo spazio richiesto perl’operazione sarà pari a quello occupato dalla somma dei singoli file poiché li copieremmoconcatenandoli in un nuovo file unico34.Il comando da eseguire è il seguente:cat dump.* > image.rawSi ottiene così un unico file image.raw contenente l’intero disco ricavato dallaconcatenazione 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 talecomando creeremo una sorta d’immagine “virtuale” (quindi visibile dal sistema ma nonesistente nella realtà36) che sarà montata come descritto nel paragrafo precedente. Ilcomando da eseguire, dopo aver creato la directory /mnt/raw, sarà:affuse dump.001 /mnt/rawTale comando produrrà, all’interno della directory /mnt/raw, un file “virtuale” contenentel’immagine dd/raw composta dalla concatenazione dei vari file che la compongono nellarealtà. Tale file sarà visibile con il nome dump.001.raw e sarà utilizzabile come parametrodel mount visto nel paragrafo precedente.mount –t ntfs ro,loop,noatime,noauto,noexec,offset=16515072/mnt/raw/dump.001.raw /media/destVa ricordato che, quando prepariamo il mount tramite il comando affuse, è necessariosmontare oltre alla partizione montata anche il file “virtuale” contenente l’immagine,tramite il comando:33Nella realtà, nel caso di acquisizioni di grossi dischi, il numero salirà a decine o centinaia.34Questa soluzione è illustrata solo a scopo didattico, poiché in genere si preferisce una delle due seguenti.35http://afflib.org/36Similmente a quanto accade ai file contenuti nella cartella /proc del filesystem
  30. 30. 30 Manuale DEFT 7fusermount –u /mnt/rawIl terzo metodo per montare un’immagine split-raw è quello di utilizzare il tool da linea dicomando xmount37. Similmente a quanto visto con il comando affuse, xmount creaanch’esso un file virtuale contenente l’immagine composta dalla concatenazione deisingoli segmenti che la compongono nella realtà.Il comando in questo caso è:xmount --in dd --out dd dump. * /mnt/rawSarà creato un file “virtuale” nella directory /mnt/raw, denominato “dump” senza alcunaestensione. 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/EncaseIl mount di una memoria acquisita in formato EWF è possibile mediante l’applicazionemount_ewf. Questo programma è in grado di convertire virtualmente i file EWF nelformato raw permettendo così il mount del device come se fosse una memoria acquisitain formato dd.Esempio: la memoria disk01 suddivisa nei seguenti file:disk01.E01 disk01.E07 disk01.E13 disk01.E19 disk01.E02 disk01.E08 disk01.E14disk01.E20 disk01.E03 disk01.E09 disk01.E15 disk01.info disk01.E04 disk01.E10disk01.E16 disk01.E05 disk01.E11 disk01.E17 disk01.E06 disk01.E12 disk01.E18Tramite il comandomount_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 nellacartella /mnt/raw/.Esso sarà visto dal sistema come un unico file dd, anche se virtuale, e potrà esseremontato seguendo la procedura indicata nel paragrafo precedente.Esempio:mount –t ntfs –o ro,loop,offset=$((512*63)) /mnt/raw/disk01 /mnt/c5.1.7 File di tipo AFFCome per il formato EWF, anche per le memorie acquisite in formato AFF è possibileeseguire il mount, grazie all’utility affuse. Essa permette di utilizzare acquisizioni informato aff come se fossero immagini raw.37http://www.forensicswiki.org/wiki/Xmount
  31. 31. 31 Manuale DEFT 7La sintassi è la seguente:affuse /media/disk/disk01.aff /mnt/rawL’output sarà il file /mnt/raw/disk01.aff.raw che potrà essere montato seguendo laprocedura per il mount di immagini raw illustrata in precedenza.5.2 Calcolo dell’hashL’hash di un blocco di dati (es. un file) è una sequenza di caratteri alfanumerici dilunghezza fissa generata da una funzione matematica.Questa funzione è mono direzionale: dato un hash è impossibile ricostruire il blocco chelo ha originato.Qualsiasi modifica dei dati, seppur minima, porterà alla creazione di un hash totalmentediverso.All’interno del sistema Linux quest’operazione è possibile mediante l’utilizzo delleseguenti applicazioni:md5sum;sha1sum;md5, sha1 e sha256 deep;dhash.5.2.1 Md5sumLacronimo MD538(Message Digest algorithm 5) identifica un algoritmo crittografico dihashing realizzato da Ronald Rivest nel 1991 e standardizzato con la Request forComments RFC 1321.Quest’algoritmo, presa in input una stringa di lunghezza arbitraria (ad esempio un file), neproduce in output unaltra di 128 bit utilizzabile per calcolare la firma digitale dellinput. Lacodifica è molto veloce e loutput restituito (noto anche come "MD5 Checksum" o "MD5Hash") è tale per cui è altamente improbabile che avvenga una collisione (cioè l’esattacoincidenza) tra gli hash di due file diversi. Infine, come per la maggior parte deglialgoritmi di hashing, la possibilità di risalire alla stringa iniziale partendo dall’hashprodotto è 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/sda38http://it.wikipedia.org/wiki/MD539La gamma di possibili valori in output è infatti pari a 2 alla 128esima potenza.
  32. 32. 32 Manuale DEFT 75.2.2 Sha1sumIl termine SHA40indica una famiglia di cinque diverse funzioni crittografiche di hashsviluppate dal 1993 dalla National Security Agency (NSA) e pubblicate dal NIST comestandard federale dal governo degli USA.Come ogni algoritmo di hash, lo SHA produce un valore di lunghezza fissa partendo da unmessaggio 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 produconodigest 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 innumerose applicazioni e protocolli.Per calcolare il valore di hash SHA-1, ad esempio di un disco, si utilizza il comando:sha1sum /dev/sda5.2.3 Md5 e sha deepMd5, sha1, sha256 e sha512 deep permettono di calcolare hash di più file ricorsivamente.Esempio:md5deep –l /root/evidence/ > hash_device.txtLa 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.txt5.2.4 DhashDhash, disponibile in italiano ed in inglese, permette di calcolare gli hash di file e memoriedi massa fornendo in tempo reale informazioni quali il tempo stimato prima del terminel’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 toolprecedentemente elencati.Esempio:dhash -t -f /dev/sda --md5 --sha1 -l dhashlog.htmlLa sintassi sopra citata calcola simultaneamente l’hash md5 e sha1 sul device /dev/sda ene riporta i valori nel file dhashlog.html.40Secure Hash Algorithm - http://it.wikipedia.org/wiki/Secure_Hash_Algorithm41Es.: SHA-256 produce un digest di 256 bit.42Dhash è inoltre in grado di eseguire allo stesso tempo le operazioni di acquisizione e calcolo del hash.
  33. 33. 33 Manuale DEFT 75.3 Acquisizione memorie di massaPer acquisizione di una memoria di massa s’intende l’operazione che permette una vera epropria clonazione della memoria fisica oggetto di analisi. All’interno del sistema Linuxquest’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 daterminale per l’acquisizione guidata tramite la semplice risposta alle domande cheappaiono su schermo.5.3.1 dddd prende in input un file o un device e ne restituisce, su un altro file o device, l’esattasequenza binaria che lo compone.Esempio:dd if=/dev/sda of=/media/diskimage.imgIl comando prende in input la memoria di massa /dev/sda e restituisce come output il suoclone all’interno del file diskimage.img contenuto nella cartella /media/.È possibile eseguire l’acquisizione da memoria di massa a file (o viceversa) ma anche damemoria di massa a memoria di massa43.Esempio:dd if=/dev/sda of=/dev/sdbSi raccomanda di avere la massima attenzione con quest’ultimo commando poiché ildevice di destinazione (nell’esempio /dev/sdb) è cancellato e sovrascritto per tutta ladimensione 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, ilcomando 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 datipresenti nella parte non sovrascritta del disco.5.3.2 ddrescueCome dd, ddrescue permette di clonare il contenuto di un disco riversandolo direttamente43Questa è una pratica molto meno usata in campo di computer forensics.
  34. 34. 34 Manuale DEFT 7in un’altra memoria.ddrescue rappresenta un’evoluzione di dd: permette, infatti, l’acquisizione di memorie dimassa che presentano errori durante l’accesso a determinati settori del disco.L’acquisizione tramite ddrescue permette di includere anche quei settori danneggiati chesaranno acquisiti impostando su zero tutti i bit non leggibili in essi contenuti. Durantel’acquisizione della memoria l’applicazione fornisce aggiornamenti su quanti byte sonostati letti e scritti, quanti errori di lettura sono stati riscontrati e la velocità di acquisizionecalcolata per byte/s.Esempio:ddrescue /dev/sda /media/disco.img5.3.3 dcfldddcfldd è un’altra evoluzione di dd che permette il calcolo dell’hash (sia md5 che sha1,singolarmente o contemporaneamente) durante l’acquisizione della memoria. Durante leoperazioni di acquisizione sono fornite informazioni dettagliate su quanto è stato letto escritto.Esempio:dcfldd if=/dev/sda of=/media/disco.img hash=sha1 hash=md55.3.4 DhashQuesto software permette l’acquisizione in formato dd e il calcolo contemporaneo deglihash.È risultato più veloce del 10% rispetto agli altri programmi in circolazione.Esempio:dhash -t -f /dev/sda --md5 --sha1-o disco.ddLa sintassi sopra citata acquisisce e calcola contemporaneamente l’hash md5 e sha1 deldevice /dev/sda riportandone infine i valori nel file dhashlog.html.
  35. 35. 35 Manuale DEFT 75.4 Creazione di una time lineUno degli strumenti più noti per la creazione di time line è mac-time, applicazione dellasuite Sleuthkit realizzata da Brian Carrier.Sono due i comandi principali per generare timeline del filesystem:fls44prende come input un file raw derivante dall’acquisizione di un memoria dimassa (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 utilizzaresuccessivamente con mac-time;mactime45prende in input un elenco, creato mediante fls, completo dei daticontenuti all’interno del file system posto ad analisi e fornisce una timeline informato ASCII.5.4.1 flsÈ riportato un esempio di come utilizzare fls nel caso in cui l’immagine image-1.ddcontenga un singolo filesystem/partizione46:fls -z GMT -s 0 -m C: -f ntfs -r /images/disco-c.dd > /workdir/disco-c.bodyNell’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 estrattadall’immagine data in input.Nel caso in cui l’immagine dd contenga invece più partizioni, è necessario utilizzare ilparametro -o per indicare a fls l’offset in settori (e non in byte, come nel caso delparametro offset del comando mount) dal quale comincia la partizione in analisi. Peravere l’elenco delle partizioni e dei relativi valori di offset (espressi in settori e non inbyte), si raccomanda l’utilizzo del comando mml della suite TSK oppure il comando fdisk44http://wiki.sleuthkit.org/index.php?title=Fls45http://wiki.sleuthkit.org/index.php?title=Mactime46Va notata l’assenza del parametro “offset”.47Si ricava verificando nel bios, durante l’acquisizione, la differenza tra l’orario di sistema e quello reale.48In genere si indica la lettera su cui è montato il drive, quindi “C:”, “D:” e così via.
  36. 36. 36 Manuale DEFT 7con i parametri “-lu”. Nel caso di un’immagine contenente un disco con una partizione alsettore 63 (in genere le partizioni uniche o la prima partizione cominciano sempre alsettore 63) avremmo quindi:fls –o 63 -z GMT -s 0 -m C: -f ntfs -r /images/disco-c.dd > /workdir/disco-c.bodyA 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 ledate codificate e i record non ordinati. È quindi necessario elaborarlo in modo da renderloleggibile, 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|12992577180|C:/WINDOWS/inf/mdmpn1.inf|804-128-3|r/rrwxrwxrwx|0|0|6376|1299257379|1092916800|1299257709|10929168000|C:/WINDOWS/inf/mdmpn1.PNF|4717-128-3|r/rrwxrwxrwx|0|0|10424|1299255392|1299255392|1299255392|12992577180|C:/WINDOWS/inf/mdmmod.PNF|4747-128-3|r/rrwxrwxrwx|0|0|18540|1299255386|1299255386|1299255386|12992577190|C:/WINDOWS/inf/mdmmoto.inf|779-128-3|r/rrwxrwxrwx|0|0|96032|1299257378|1092916800|1299257709|1092916800[...]5.4.2 mactimeMactime è lo strumento della suite TSK che si occupa di convertire le timeline dal formatobody al formato CSV, ordinandone le voci e modificando i parametri di visualizzazione inbase 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 ilfile di output contenente la time line in formato csv51.Aspetto da non sottovalutare, il comando mactime ha una funzionalità di reportisticariassuntiva dell’attività giornaliera ed oraria rilevata sul filesystem, che si va ad aggiungerealla funzione di conversione in formato CSV e ordinamento dei record generati dalcomando fls. Tale informazione può essere indispensabile per valutare in quali giorni – oin quali orari – sono rilevabili sul PC attività marcate di utilizzo, evidenziando picchi e49http://wiki.sleuthkit.org/index.php?title=Body_file50In 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. 37 Manuale DEFT 7anomalie magari dovute ad attività durante il week-end che in una timeline tradizionaledifficilmente saltano all’occhio.Per avere un report delle attività su filesystem avvenute giornalmente, è sufficienteaggiungere i parametri –d –i seguiti dal nome del file in cui si desidera salvare tale report.L’attività oraria si ottiene, invece, con i parametri –h –i seguiti dal nome del file in cui sidesidera salvare tale report.Otterremo, in questo modo, un file contenente record simili ai seguenti:[...]Wed Oct 12 2011: 801Thu Oct 13 2011: 987Fri Oct 14 2011: 252Sun Oct 16 2011: 25352Mon Oct 17 2011: 463Tue Oct 18 2011: 711[..]Nell’esempio precedente si può notare che in data 16 ottobre 2011 si sono verificate25352 attività su file52. Tale valore potrebbe non essere d’interesse ma può, in alcunicontesti, essere di grande importanza53.è consigliabile dare verificare la continuità o la media dei valori durante la maggior partedei giorni analizzati, che si attesta magari su un determinato valore (es. <1000), eraggiungere, come nell’esempio, picchi di decine di migliaia in un giorno specifico.L’operatore dovrebbe procedere, a questo punto, ad analizzare più in dettaglio la timelinedel giorno in cui è stata rilevata l’anomalia54.La tabella seguente è utile per interpretare il significato dei valori che appaiono nellacolonna “Activity Type”. Essi indicano le azioni compiute su file e cartelle in undeterminato arco temporale.52Si intende accesso, creazione o modifica di file a livello di entry MFT o di file.53Ad 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.54Eseguendo ad esempio nuove analisi del registro, inserimento di penne USB, avvio di programmi, creazione di file LNK,ecc.
  38. 38. 38 Manuale DEFT 7Vediamo ora un esempio di risultato dell’elaborazione di un file in formato body generatodal comando mactime:[…]Fri Mar 04 2011 16:08:04 618605 .ac. r/rrwxrwxrwx 0 0 10618-128-1C:/WINDOWS/system32/dllcache/fp4autl.dllFri Mar 04 2011 16:08:11 17672 ...b r/rrwxrwxrwx 0 0 10624-128-4C:/WINDOWS/Prefetch/IMAPI.EXE-0BF740A4.pfFri Mar 04 2011 16:11:20 3014 ...b r/rrwxrwxrwx 0 0 10630-128-3C:/WINDOWS/system32/wbem/Logs/wmiadap.logFri Mar 04 2011 16:11:29 10296 ..cb r/rrwxrwxrwx 0 0 10631-128-3C:/WINDOWS/system32/drivers/ASUSHWIO.SYS[…]5.5 Creazione di una supertimelineLe timeline, così come illustrate al paragrafo precedente, sono molto utili ma limitate alleattività rilevate sul filesytem55. Oltre ai timestamp riguardanti i file, sono numerosissimi imetadati presenti sul sistema in analisi che possono essere integrati con la timeline delfilesystem56.Gli strumenti per generare questo genere di “timeline arricchite”57sono 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’interfacciagrafica Autopsy).Lo strumento specifico che utilizzeremo è log2timeline58, framework scritto da KristinnGudjonsson e al cui sviluppo dei plugin ha collaborato l’intera comunità scientifica.Log2timeline lavora elaborando (parsing), in modo ricorsivo, i file contenuti in unapartizione montata con alcuni parametri specifici, per permettere l’accesso ai metadatidel filesystem. In particolare, i metadati che log2timeline è in grado ad oggi di elaborareed 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);55Quindi limitate alle mere operazioni di creazione, modifica o accesso dei file.56Alcuni esempi: i log di visite del browser, le modifiche alle chiavi di registro del sistema, i log degli antivirus, l’attività delregistro di sistema, i file link in formato LNK, i prefetch ecc.57Nel gergo forense si indicano ormai con il termine di “supertimeline”.58http://log2timeline.net
  39. 39. 39 Manuale DEFT 77. 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 anche59https://it.wikipedia.org/wiki/Comma-separated_values
  40. 40. 40 Manuale DEFT 7semplicemente tramite editor testuali.L’elenco completo degli output modes nei quali è attualmente possibile esportarel’elaborazione della supertimeline è il seguente:BeeDocs;CEF;CFTL;CSV;Mactime;SIMILE;SQLite;TLN;TLNX.Il primo passo per generare una supertimeline è, come già scritto, l’avere l’immagine rawcontenente la partizione da esaminare. Si può utilizzare un device (es. /dev/sda), un fileimmagine dd/raw oppure ancora file EWF, AFF o split raw convertiti come spiegato neiparagrafi precedenti.Ipotizziamo di avere un file image.dd contenente l’immagine del disco che intendiamoanalizzare. La prima cosa è montare, nelle modalità precedentemente indicate, lepartizioni di cui intendiamo ottenere una supertimeline.Decidiamo di voler analizzare l’unica partizione NTFS del disco posizionata all’offset 63 eidentificata 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/cIl disco C: sarà montato nella directory /mnt/c da dove eseguiremo il programmalog2timeline:log2timeline -p –f winxp -r -z Europe/Rome /mnt/c/ -m C: -w c-log2t-unsorted.csvI parametri suggeriti sono i seguenti:-p: indica a log2timeline di fare un “preprocessing” ricorsivo della directory inanalisi allo scopo di ottenere informazioni utili per i plugin che saranno avviati inseguito60;-f: indica il tipo di sistema operativo (e quindi il set di plugin) che si desideraapplicare alla directory passata in input61;-r: indica a log2timeline di analizzare i file ricorsivamente senza quindi limitarsiquindi 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 digenerazione della supertimeline, in genere si utilizza per indicare la lettera del60Ad esempio può essere ricavato l’hostname della macchina, gli utenti, il browser predefinito, la timezone, ecc.61Può essere omesso, indicando quindi a log2timeline di testare tutti i plugin su tutti i file.62Può essere ricavato automaticamente tramite il parametro “-p” ma spesso è utile indicarlo manualmente.
  41. 41. 41 Manuale DEFT 7drive 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 deidiversi artefatti, disposti nell’ordine in cui sono stati analizzati.è quindi necessario utilizzare un strumento per ordinare le entry, selezionareeventualmente un periodo di interesse e filtrare, se necessario, contemporaneamente suparole chiave di interesse.Lo strumento dotato di queste funzionalità è l2t_process, anch’esso parte del frameworklog2timeline.Per ordinare e visualizzare, ad esempio, l’attività del PC avvenuta nel 2011, registrata nelfile 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.csvLe opzioni interessanti dello script l2t_process sono:-i: sono inserite in output anche entry fuori dall’intervallo temporale indicato, sequeste contengono informazioni che fanno sospettare attività ditimestomping63;-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, escludendodall’output i record che non le contengono.Il risultato dell’esecuzione di log2timeline e l2t_process sarà un lungo elenco di attivitàrilevate su filesystem64e dai metadati ricavati dai tipi di file indicati in precedenza(registro, eventi, link, browser history, ecc...).63Es. MFT record con valore 0 sui millisecondi.64Nel caso di NTFS avremo voci ricavate dalla tabella MFT.
  42. 42. 42 Manuale DEFT 7Le colonne del file avranno l’intestazione seguente:1. Date2. Time3. Timezone4. MACB5. Source6. Sourcetype7. Type8. User9. Host10. Short11. Desc12. Version13. Filename14. Inode15. Notes16. Format17. ExtraA questo punto la difficoltà sarà nel filtrare le migliaia, a volte centinaia di migliaia, di vociper concentrarsi su quelle rilevanti.Da linea di comando, il programma grep può fornire un valido aiuto per escludere o, aposteriori, includere nella lista alcuni tipi di attività.È altresì possibile importare la supertimeline in un foglio di calcolo65per filtrare edanalizzare il contenuto utilizzando le funzionalità tipiche di questo tipo di applicazione.Una delle categorie principali sulla quale è interessante applicare filtri è quellaconcernente il tipo di metadato rilevato, nella colonna 6 Sourcetype. Tra i tipi disponibilicui 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 LocateLocate permette la ricerca di file all’interno di memorie di massa.Prima è necessario eseguire un’indicizzazione tramite il comando updatedb.Esempio:locate finanza –q–i65Deft presenta la suite libreoffice che include il foglio di calcolo Calc,
  43. 43. 43 Manuale DEFT 7Esegue una ricerca, senza distinguere tra maiuscole e minuscole (-i), dei file checontengono nella propria nomenclatura la parola finanza. Grazie all’opzione -q sarannosegnalati gli errori di accesso a determinate directory del sistema indicandone anche ilmotivo (es. errori di tipo “access denied”).Esempio:locate “*.png” -qEsegue una ricerca di tutti i file con estensione png.5.6.2 FindFind 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.txtTrova tutti i file creati negli ultimi 2 giorni e riportandone l’elenco nel file lista.txt5.7 Carving di fileL’attività di carving consiste nel recupero di file non più referenziati dal file system,attraverso il riconoscimento di header e footer66del file. È un procedimento molto lungoperché il disco è esaminato dal primo all’ultimo bit.Metaforicamente parlando, possiamo paragonare questo processo di lettura a quello diun’unità nastro.5.7.1 ForemostForemost permette il recupero di file cancellati direttamente da memorie di massa o,preferibilmente, da file bit stream image.Il comandoforemost -o outpdir dump.imgesegue il carving sul file dump.img secondo la configurazione impostata in/etc/foremost.conf e salva i file estratti nella directory outpdir.66Header e footer sono firme che caratterizzano l’inizio e la fine di un determinato tipo di file; nel dettaglio consistono in ungruppo di valori ottali o esadecimali consecutivi sempre presenti in una certa posizione di un determinato file allinizio o allafine dello stesso.
  44. 44. 44 Manuale DEFT 7Il comandoforemost -t png -o outpdir dump.imgesegue il carving di tutti i file png sul file dump.img e salva i file estratti nella cartellaoutpdir.Tramite il parametro –t è possibile ricercare i seguenti tipi di file:jpggifpngbmpaviexempgwavriffwmvmovpdfoledocziprarhtmcpp
  45. 45. 45 Manuale DEFT 7Capitolo 6: DEFT Linux GUI mode6.1 IntroduzioneL’interfaccia grafica di DEFT Linux è basata sul “desktop environment” LXDE (LightweightX11 Desktop Environment)67. La scelta del desktop manager è caduta su questo progettoperchè 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 programmiche non nascono per l’utilizzo a riga di comando, come ad esempio, Digital ForensicFramework (DFF)68o Catfish.Dalla versione 6 le applicazioni native per sistemi Microsoft Windows, di cui non esiste unequivalente altrettanto potente per Linux, sono stati integrate ed emulate direttamenteda DEFT Linux mediante il software Wine69.Per avviare l’interfaccia grafica di DEFT Linux è sufficiente digitare il comando deft-gui.67http://www.lxde.org68http://www.digital-forensic.org/69http://www.winehq.org/
  46. 46. 46 Manuale DEFT 7Deft: Linux GUIIl desktop presenta i seguenti elementi:1. Directory per la raccolta delle evidenze2. Procedura per l’installazione di DEFT Linux3. Terminale dei comandi4. Menu applicazioni5. PcmanFM File Manager6. Gestione lingua tastiera7. Mostra Desktop8. Gestione multi desktop9. Controllo audio del sistema10. Network manager11. Data e ora12. Gestione fuso orario13. Spegnimento e riavvio sistema
  47. 47. 47 Manuale DEFT 7DEFT: Linux menuNel dettaglio il Menu Applicazioni presenta le seguenti sezioni:Accessories: Archive Manager, Character Map, Disk Utility, File Manager, Galculator,Image Viewer, Leafpad, LXTerminal, Truecrypt e Xpad.DEFT: Analisys tool, Antimalware tools, Carving tools, Hashing tools, Imaging tools,Mobile forensics, Network forensics, Osint tools, Password recovery, Reporting tools,Disk utility, File Manager, Gparted, Midnight commander, Mount ewf,MountManager, Wipe e Xmount.Graphics: Document viewer.Internet: Firefox e Sun Java 6 web start.Services: Apache start, Apache stop, Mysql start, Mysql stop, Samba start, Sambastop, SSH start, SSH stop, Xplico start, Xplico stop.Sound & Video: Audacious, Desktop recorder, VLC media player e Xfburn.Wine.System tools: Gdebi package installer, Gparted, Printing, Synaptic package manager,System Profiler and benchmark, Task manager, Time and date, update manager, Usersand groups e Windows wireless drivers.
  48. 48. 48 Manuale DEFT 7Preferences: Additional drivers, Adobe Flash Player, Customize look, Desktop sessionsetting, Disk utility, Keyboard and mouse, Language support, Lxkeymap, Monitorsettings, 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 massaCome già scritto in precedenza, il sistema non compie alcuna azione ad eccezione delrilevamento dei device collegati al sistema.Utilizzando il file manager, tutte le memorie di massa, interne ed esterne, direttamentecollegate al sistema non saranno mai montate in automatico.Facendo clic con il tasto destro sullicona della memoria di massa saranno visualizzate lepolicy per il mount:Mount Read Only: permette l’accesso alla memoria di massa in sola letturaevitando qualsiasi tipo di alterazione dei dati contenuti e della memoria stessa;Mount Volume: permette l’accesso alla memoria di massa in lettura e scrittura;Eject volume: permette la rimozione sicura della memoria dal sistema.Tramite l’applicazione Mount Manager l’operatore potrà definire le policy di mount sullabase delle sue esigenze operative.Attività di Mount usando PcmanFMr
  49. 49. 49 Manuale DEFT 76.3 Mount managerMount manager permette di creare in semplici clic policy di mount avanzate.Nell’immagine abbiamo riportarto la procedura per eseguire il mount di una memoria dimassa in RO (read only) bloccando qualsiasi azione che possa alterare il file system.Policy di mount per bloccare le possibili alterazioni al file systemPer eseguire il mount è necessario associare una directory esistente ad una partizionedella 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. Soloin questo modo sarà possibile accedere al file system in sola lettura e usarlo senzaaggiornare l’inode access time70.Con Mount Manager è possibile eseguire anche il mount di file di acquisizioni in formatodd e di file system di rete come Samba (Windows share) e NFS.70Informazione temporale di ultimo accesso ad una risorsa del file system
  50. 50. 50 Manuale DEFT 76.4 Calcolo dell’hashDhash è l’unico strumento in DEFT Linux dedicato al calcolo di hash in modalità grafica.dhash: Calcolo dell’hash di un deviceAvviato il programma, fate clic su open device per scegliere una memoria di massa o suOpen file per selezionare un file.Indicate la tipologia di hash da calcolare (md5, sha1 od entrambi) e fate clic su Starts.Una volta terminata l’operazione è possibile salvare un report html dei risultati facendoclic su save log.6.5 Acquisizione di memorie di massaCome già indicato, in DEFT Linux è possibile acquisire memorie di massa anche tramiteinterfaccia grafica utilizzando Dhash o Guymager. Il primo è adatto per le acquisizioni informato dd, mentre il secondo è caldamente consigliato per le acquisizioni in parallelo edin formato ewf.
  51. 51. 51 Manuale DEFT 76.5.1 DhashIn Dhash, la procedura per l’acquisizione è simile a quella per il calcolo dell’hash.Selezionate il device da acquisire facendo clic su open device e poi su Acquire.Potete inoltre decidere di acquisire e comprimere in formato gz spuntando la casellaCompress e/o scegliere se eseguire il calcolo del o degli hash.Acquisizione con calcolo simultaneo degli hash md5 e sha1Premendo il pulsante Starts è avviata l’acquisizione.Al termine delle attività, è possibile salvare un report in formato html facendo clic sulpulsante Save log.
  52. 52. 52 Manuale DEFT 76.5.2 GuymagerGuymager permette una gestione più avanzata delle acquisizioni rispetto a Dhash.Guymage: Gestione caso per la fase di acquisizioneGuymager permette, oltre all’acquisizione simultanea di più memorie di massa, anchel’inserimento di informazioni quali:Codice caso;Catalogazione dell’evidence;Nome dell’operatore che sta compiendo le operazioni;Descrizione dell’oggetto che si sta acquisendo.Il programma supporta tutti i principali formati di acquisizione (dd, aff ed encase) epermette di eseguire il controllo d’integrità, tramite verifica dell’hash md5 o sha256, siadell’immagine creata sia del device originale (anche su immagini “splittate”).Per avviare il processo di acquisizione in Guymager fate clic con il tasto destro del mouse
  53. 53. 53 Manuale DEFT 7sulla memoria di massa da clonare e selezionare la funzione Acquire image.Nella finestra Acquire Image è possibile indicare numerosi parametri dell’acquisizione odella gestione del caso.6.6 Ricerca di file e cartelle6.6.1 CatfishCatfish permette di compiere le stesse operazioni che si possono eseguire a riga dicomando tramite i comandi find e locate.Nell’esempio riportato nell’immagine, selezionata la memoria o la cartella dove compierela ricerca, è stata lanciata una ricerca di tutti i file aventi estensione JPG scrivendo nelcampo di ricerca *.jpg. Una volta terminata la ricerca è possibile aprire i vari file elencaticon un semplice doppio clic.Catfish: Ricerca di fileNella finestra sono riportate anche ulteriori informazioni dei file riguardanti la datadell’ultima modifica, il percorso del file e la sua dimensione sul disco.
  54. 54. 54 Manuale DEFT 76.7 FindwildFindwild è un programma che permettere di ricercare parole all’interno di file.Specificando la directory d’interesse e le parole chiave, è possibile ottenere un elenco deifile contenenti le chiavi di ricerca.Findwild: Ricerca di contenuti
  55. 55. 55 Manuale DEFT 76.8 Carving di file da GUIHunchbacked 4most (H4m), disponibile in italiano e inglese, è un’interfaccia grafica per lagestione delle principali funzioni di foremost e scalpel.Tramite H4m, una volta scelto il programma da impiegare come file carver, è possibileeseguire il carving con alcuni semplici clic.Hunchbacked 4most: Carving di file con ForemostH4m, una volta indicati il file o il device in cui eseguire la ricerca e la cartella dovememorizzare i file recuperati, ricerca e salva tutti i file con header e footer specificatidall’operatore.
  56. 56. 56 Manuale DEFT 7Hunchbacked 4most: Carving di file con ScalpelOltre ai tradizionali formati di file supportati da Foremost e Scalpel, è possibilepersonalizzare la ricerca indicando un nuovo file di configurazione contenente gli headered i footer d’interesse.
  57. 57. 57 Manuale DEFT 76.9 Gestione di un caso con AutopsyAutopsy forensic browser è un’interfaccia grafica per la gestione delle funzionalità di TheSleuth Kit71.È utilizzata principalmente per la gestione dei casi in cui è richiesta l’analisi di memorie dimassa.Autopsy permette di:utilizzare direttamente il device o le acquisizioni in formato dd, aff ed encase;visualizzare informazioni sul tipo di file system;analizzare e identificare il contenuto di file e directory e i loro riferimentitemporali;recuperare file cancellati;gestire un database degli hash di file del caso posto ad analisi;creare ed analizzare timeline;eseguire ricerche di file per parola chiave;analizzare meta dati;creazione di report delle evidenze riscontrate;creazione di un caso.Avviato Autopsy dalla sezione Disk Forensic, è richiesto all’operatore se intende creare unnuovo caso o aprirne uno esistente.In questo esempio faremo clic su new per la creazione del caso di prova ed inseriremo idati in nostro possesso per la catalogazione, come nome, descrizione e nominativi degliinvestigatori:71http://www.sleuthkit.org/
  58. 58. 58 Manuale DEFT 7Creazione nuovo casoUna volta confermati i dati, in /root/evidence/nome caso sarà creata una directorycontenente tutti i dati del caso.All’interno di un caso possono essere aggiunti uno o più oggetti (raffiguranti o i soggettiappartenenti o i sistemi informatici) facendo clic su add host all’interno del caso edinserendo i dati richiesti:
  59. 59. 59 Manuale DEFT 7Aggiunta di oggetti che compongono il casoAd ogni oggetto possono essere aggiunte una o più memorie di massa: è sufficiente fareclic su add image file, inserire nel campo location o il collegamento diretto ad unamemoria di massa (es: /dev/sdx) o il path contenente il file dell’acquisizione (es:/media/forensic/disco001.dd) e specificare se la memoria che stiamo aggiungendo è unapartizione o l’intera memoria di massa; per quanto riguarda l’import method, percomodità d’uso è caldamente consigliato lasciare il valore predefinito symlink.
  60. 60. 60 Manuale DEFT 7Aggiunta di memoria di massa all’interno dell’oggettoUna volta aggiunta la memoria sarà chiesto se calcolare, o inserire manualmente se giàcalcolato, il valore dell’hash md572e di specificare il nome simbolico della partizione ed ilsuo file system.72Autopsy supporta solo l’algoritmo di hash md5.
  61. 61. 61 Manuale DEFT 7Gestione valore dell’hash e tipo di file system della/e partizioniLa creazione dell’oggetto Disco001 sarà completa al termine delle operazioni precedenti. Èpossibile continuare ad aggiungere altre memorie all’oggetto o iniziare la nostra analisifacendo clic su Analyze.
  62. 62. 62 Manuale DEFT 7Gestione dell’oggetto Disco001 appartenente al casoL’interfaccia del modulo di analisi permette all’operatore di visualizzare l’albero delledirectory della partizione sottoposta ad analisi e, una volta selezionato un file, divisualizzarne un’anteprima del contenuto.L’accesso al file è in sola lettura in modo da non alterarne né i riferimenti temporali né imetadati.Nella schermata di analisi è visualizzato:Il nome file/directory ed il suo percorso;I valori temporali come data creazione, ultimo accesso ed ultima modifica;Il tipo di dato;Se il dato è stato cancellato o meno (in rosso se vi è stata richiesta l’azione dieliminazione del dato).
  63. 63. 63 Manuale DEFT 7Autopsy: File analysisUn’altra funzione interessante è la ricerca per parola chiave. Tale funzione permette laricerca mediante il comando grep e si estende su tutto l’albero del file system, compresolo spazio non allocato.Tale funzione può essere molto lenta nel caso in cui si lanci la ricerca su memoriecontenenti molti file o memorie di grandi dimensioni.In questi casi raccomandiamo di avviare la ricerca per parola chiave utilizzando una shelldi sistema ed eseguire il grep a riga di comando.La stessa raccomandazione è valida per la creazione di time line.
  64. 64. 64 Manuale DEFT 7Ricerca di file per argomento
  65. 65. 65 Manuale DEFT 76.10 XplicoIl progetto DEFT ha sempre sostenuto, sin dalle primissime release di DEFT Linux,l’evoluzione del progetto Xplico73.L’utilizzo di Xplico è molto semplice: dato in input un file pcap74contenente un dump ditraffico di rete IP, il programma è in grado di ricostruire i contenuti dei dati transitati inquel momento nella rete IP rendendoli disponibili e consultabili grazie ad una comodainterfaccia web.Dalla release 7 di DEFT, Xplico viene gestito come servizio. Pertanto, per poter eseguirel’applicativo, sarà necessario avviare i seguenti servizi in sequenza:1. Apache web server;2. Xplico.L’avvio dei servizi sopra citati può avvenire tramite menu DEFT > menu services, oppuretramite l’utilizzo della linea di comando.Una volta avviati i servizi è possibile lanciare l’icona Xplico dal menu Network Forensics.73Il tool, reperibile presso questo indirizzo http://www.xplico.org/, è diventato nel tempo uno dei più potenti NetworkForensic Tool open source.74Questo tipo di file contiene pacchetti di dati catturati tramite i programmi "packet sniffing". Solitamente sono pacchettiche sono stati registrati durante la trasmissione in una rete.
  66. 66. 66 Manuale DEFT 76.10.1 Creazione di un casoManca la didascaliaAvviamo Xplico dalla sezione Network Forensics del menu di DEFT ed inseriamo leseguenti credenziali per ottenere l’accesso al gestore casi:user: xplicopassword: xplicoQueste credenziali riguardano l’utente predefinito che può creare e gestire solo i casi manon modificare le impostazioni dell’applicazione.Per poter personalizzare le impostazioni del pannello di controllo, creare nuovi utenti,ecc., è necessario eseguire il login con le credenziali di administrator:user: adminpassword: xplicoNell’esempio seguente abbiamo creato un nuovo caso denominato Pippo dove è acquisitoed analizzato tutto il traffico che in quel momento è passato attraverso l’interfaccia eth0della nostra postazione.Login Xplico
  67. 67. 67 Manuale DEFT 7Xplico: Gestione casiAl Termine della fase di acquisizione, Xplico avrà già decodificato e ricostruito tutti i tipi didati supportati, cioè:httpdnsweb mailsmtppop3imapsiptelnetftptftprtppjlfacebook chatmsnirc
  68. 68. 68 Manuale DEFT 7Report dei dati ricostruitiNell’esempio precedente abbiamo visitato il sito http://www.libero.it richiesto dall’utenteintercettato.L’elenco contenente le ricostruzioni di tutti i siti web e di tutti i contenuti visualizzati èconsultabile alla voce site del menu web.
  69. 69. 69 Manuale DEFT 7Lista di tutte le get eseguite dal browserVa tenuto conto che l’elenco di tutte le get75eseguite comprende anche quelle chel’utente esegue involontariamente come ad esempio tutte le richieste che vengono fattedalla pagina web ai vari url contenenti pubblicità o script per il tracciamento.75Richiesta ad un web server per la visualizzazione di un determinato url.
  70. 70. 70 Manuale DEFT 76.11 HydraHydra è uno dei più noti software utilizzati per la forzatura di login e password medianteattacco a forza bruta76.Hydra : selezione dei protocolli76http://it.wikipedia.org/wiki/Metodo_forza_bruta
  71. 71. 71 Manuale DEFT 7L’elenco seguente indica i protocolli ed applicativi su cui si può eseguire un attacco bruteforce utilizzando Hydra:AFPCisco AAACisco authCisco enableCVSFirebirdFTPHTTP-FORM-GETHTTP-FORM-POSTHTTP-GETHTTP-HEADHTTP-PROXYHTTPS-FORM-GETHTTPS-FORM-POSTHTTPS-GETHTTPS-HEADHTTP-ProxyICQIMAPIRCLDAPMS-SQLMYSQLNCPNNTPOracle ListenerOracle SIDOraclePC-AnywherePCNFSPOP3POSTGRESRDPRexecRloginRshSAP/R3SIPSMBSMTPSMTP EnumSNMPSOCKS5SH (v1 and v2),SubversionTeamspeak(TS2)TelnetVMware-AuthVNCXMPPAll’interno di DEFT Linux non sono inclusi dizionari per eseguire le attività di “violazione”password.Tramite l’applicazione cupp è possibile generare dizionari personalizzati: rispondendo alledomande che vi pone l’applicazione è possibile generare una elenco di parole chiavebasate sulle informazioni presenti nella macchina protetta dalle credenziali da forzare77.77Le wordlist sono reperibili facilmente in rete in diverse tipologie: lingue, raccolte di password, ecc. come ad esempioftp://ftp.ox.ac.uk/pub/wordlists/ o http://wordlist.sourceforge.net/
  72. 72. 72 Manuale DEFT 76.12 KeepnoteKeepnote è un software utilizzato per la raccolta e la classificazione di informazioni.Nel campo della Computer Forensics può essere usato per la gestione delle evidence,catalogando le memorie di massa e tutte i risultati delle analisi all’interno di altri oggetti.KeepNote: la raccolta di evidenceÈ possibile creare un albero di oggetti (directory e pagine), strutturarlo secondo le proprieesigenze ed inserire all’interno delle pagine informazioni quali:Testo non formattato;Html;Immagini;File.Le informazioni inserite all’interno del notebook creato con KeepNote possono esseresalvate nel formato KeepNote o esportate in un file html.
  73. 73. 73 Manuale DEFT 76.13 MaltegoMaltego78può essere utilizzato sia nell’ambito della Computer Forensics sia di CyberIntelligence.È multi-piattaforma, scritto in Java, in grado di trovare e rappresentare graficamentecollegamenti tra persone, gruppi, aziende, siti web, città, vie, e-mail, numeri di telefono,indirizzi IP, nomi di dominio, file, documenti, ecc.Maltego CE, creazione di un diagrammaPoiché l’utilizzo di questo programma esula dagli scopi di questo documento, il suofunzionamento non verrà trattato nel dettaglio.Vi suggeriamo di fare riferimento all’esaustiva documentazione ufficiale presso questoindirizzo:http://www.paterva.com/web5/documentation/userguide.php78http://www.paterva.com/
  74. 74. 74 Manuale DEFT 7Capitolo 7: Mobile forensicsDalla release 7 di DEFT Linux sono inclusi alcuni strumenti destinati all’analisi deidispositivi cellulari.È ora disponibile Sqlite database browser per permettere l’analisi dei database Sqlite,usati nella maggior parte delle applicazioni dei dispositivi Android, Iphone e Ipad.Per l’analisi dei cellulari è stato incluso:Ipddump per l’analisi dei backup di dispositivi BlackBerry;Iphone Analyzer per l’analisi di iPhone dalla versione 3 e precedenti;Iphone backup analyzer per l’analisi dei backup di dispositivi iPhone;Bitpim che supporta i seguenti dispositivi:Audiovox CDM8900LG AX-8600LG C2000LG G4015LG LX570LG PM225LG UX-5000LG VX-3200LG VX-4400LG VX-4500LG VX-4650LG VX-5200LG VX-5300LG VX-6000LG VX-6100LG VX-7000LG VX-8000LG VX-8100LG VX-8300LG VX-8500LG VX-8560LG VX-8600LG VX-8610LG VX-8700LG VX-8600LG VX-8800LG VX-9100LG VX-9200LG VX-9600LG VX-9700LG VX-9800LG VX-9900LG VX-10000LG VX-11000Motorola E815Motorola E815mMotorola K1mMotorola V325Motorola V325MMotorola V3cMotorola V3cmMotorola V3mMotorola V3mMMotorola V710Motorola V710mSamsung SCH-A870Samsung SCH-A930Samsung SCH-A950Samsung SCH-U470Samsung SCH-U740Samsung SCH-U750Samsung SPH-M300Sanyo SCP-6600(Katana)Other Sanyo PhonesToshiba VM-4050

×