Timeline e Supertimeline (Paolo DAL CHECCO)
Transcript
Timeline e Supertimeline (Paolo DAL CHECCO)
DEFTCON 2012 - Torino Timeline e Supertimeline Analisi temporale dell’attività di un PC con DEFT 7 Dr. Paolo Dal Checco [email protected] Creative Commons Attribuzione-Non opere derivate 2.5 Friday, March 30, 2012 DEFTCON 2012 - Torino La cosiddetta “timeline” • Con “timeline” ci si riferisce a un documento, un elenco, una lista di attività (manuali o automatiche) avvenute sul PC ordinata per giorno e ora esatta in cui sono avvenute • I formati di visualizzazione possono essere diversi, alcuni testuali, altri grafici, alcuni ideali per ricerche altri per display su video Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Un esempio naif di “timeline” • • • • • • • • • • • 2012 03 30 10:16 GMT+2 computer acceso • 2012 03 30 15:00 GMT +2 computer spento 2012 03 30 10:23 GMT+2 documento “deftcon-slides.key” aperto 2012 03 30 10:35 GMT+2 aperta pagina web “www.facebook.com/DEFTlinux” 2012 03 30 12:01 GMT +2 documento “deftcon-slides.key” salvato 2012 03 30 12:12 GMT +2 inserita USB key VERBATIM con s/n 234cb42a73 2012 03 30 12:18 GMT +2 PDF “deftcon-slides.pdf” creato 2012 03 30 12:22 GMT +2 documento “deftcon-slides.key” cancellato 2012 03 30 12:25 GMT+2 computer spento 2012 03 30 14:30 GMT+2 computer acceso 2012 03 30 14:35 GMT +2 driver schermo esterno PC avviato 2012 03 30 14:37 GMT +2 PDF “deftcon-slides.pdf” aperto su chiavetta con VOL ID 0x3bd2cd22 Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Cosa vogliamo ottenere • Vogliamo avere con immediatezza lo storico ordinato di: • • inserimento periferiche USB, utilizzo driver • • data di scatto delle fotografie o di documenti con exif • • • esecuzione programmi creazione, apertura, salvataggio e cancellazione file e documenti, valutandone le tempistiche (copia massiva) date rilevanti Office/PDF (creazione, stampa, salvataggio, autore, etc...) avvio e spegnimento del computer login/logout utenti Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Cosa vogliamo ottenere • Vogliamo avere con immediatezza lo storico ordinato di: • file ‘lnk’ di Windows (che mantengono info e S/N sulle periferiche su cui risiedevano i file aperti, comprese USB esterne) • navigazione internet (Chrome, Firefox, Explorer, Opera, Safari, etc...) • • • • • • eventi di sistema (errori, notifiche, violazioni, etc...) log antivirus traffico di rete cestino e punti di ripristino di Windows log webserver Apache/IIS Skype chat Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline vs Supertimeline • Timeline tradizionale: esaminati soltanto i timestamp dei file ricavati dal filesystem anche per taluni file cancellati (creazione, modifica, accesso, entry modified) ma non il contenuto dei file stessi, che viene ignorato • Supertimeline: si aggiungono ai timestamp del filesystem anche i dati (che chiameremo metadati) estratti e parsificati dall’interno di diverse tipologie di file (registro, eventi, link, prefetch, exif, etc...) anche cancellati Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline vs Supertimeline • Timeline tradizionale: limitata ma veloce da fare, si può fare anche offline estraendo un solo metafile ($MFT) dal sistema, permette daily/hourly summary, feedback immediato • Supertimeline: completa ed esauriente ma più lunga da fare, soprattutto se ci sono tanti file esistenti o cancellati, difficile farla offline senza avere l’intero disco Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline • Useremo i tool fls/mactime della suite TSK, The Sleuth Kit di Brian Carrier • Esistono diverse alternative, più o meno scomode, open/gratuite/commerciali • fls è la più usata, anche perchè utilizzata dal frontend Autopsy inserito in diverci LiveCD Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Tool alternativi ma “scomodi” • FTK Imager, di AccessData [accessdata.com/support/ adownloads#FTKImager] • NTFSwalk, di TzWorks [www.tzworks.net/ prototype_page.php?proto_id=12] • • AnalyzeMFT, di David Kovar [www.integriography.com/] • MFTView, della Sanderson Forensics [www.sandersonforensics.com] • • Encase [www.guidancesoftware.com/] mft.pl, di Harlan Karvey [code.google.com/p/ winforensicaanalysis] X-Ways Forensics [www.x-ways.net/forensics] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline con daily summary fls -o 63 -r -m C: /dev/sda > c-timeline.body mactime -y -m -d -i day c-timeline-daily.csv -z Europe/Rome -b c-timeline.body > c-timeline.csv • Suite TSK, con fls credo file in formato bodyfile • Converto il bodyfile in CSV • Creo daily summary con attività giornaliera Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline con daily summary • Il daily summary serve per rilevare anomalie sui giorni • Nell’esempio, cominceremo ad esaminare il giorno 4 marzo 2010, dove rileviamo 62.239 movimentazioni di file • Possibile anche hourly summary, con analisi oraria, nell’esempio rileviamo pesante attività tra le ore 11 e 12 Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Timeline con daily summary • Otteniamo (i dati provegono dall’$MFT) data di creazione/accesso/salvataggio/entry modified, dimensione, numero di inode e percorso sul filesystem quando disponibile • Sappiamo se un file esisteva ma è stato cancellato e in tal caso anche se l’area disco è stata riscritta Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino No cmdline? Autopsy Menù > DEFT > Analysis Tools > Autopsy • • Interfaccia grafica alla suite TSK • Utile per fare preview di file anche cancellati (ricavati da MFT table) • Utile per fare keyword search su raw disk, estrazione stringhe, estrazione spazio non allocato, organizzazione file per tipo, ricupero di tutti i file cancellati (a livello MFT) • Preview raw a livello di settore Creo un caso, imposto timezone, inserisco immagini/dischi (/dev/ sda) Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Interfaccia grafica Autopsy Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline • Aggiungiamo ai timestamp del filesystem anche i metadati contenuti nei file per creare la nostra linea temporale • utilizzeremo il tool open source log2timeline, scritto in perl dal ricercatore Kristinn Gudjonsson • framework composto da 4 moduli: front-end, librerie condivise, modulo input e modulo output • • Ultima versione 0.62 (DEFT 7.1) diversi plugin log2timeline-sift: cmdline tool che cerca di automatizzare il mounting delle evidenze e il parsing Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: metadati e plugin • • • • • • • • • • • • • • • altiris 0.1 Parse the content of an XeXAMInventory or AeXProcessList log file analog_cache 0.1 Parse the content of an Analog cache file apache2_access 0.3 Parse the content of a Apache2 access log file apache2_error 0.2 Parse the content of a Apache2 error log file chrome 0.3 Parse the content of a Chrome history file encase_dirlisting 0.2 Parse the content of a CSV file that is exported from Encase (dirlist) evt 0.2 Parse the content of a Windows 2k/XP/2k3 Event Log evtx 0.5 Parse the content of a Windows Event Log File (EVTX) exif 0.4 Extract metadata information from files using ExifTool ff_bookmark 0.3 Parse the content of a Firefox bookmark file ff_cache 0.2 Parse the content of a Firefox _CACHE_00[123]_ file firefox2 0.3 Parse the content of a Firefox 2 browser history firefox3 0.8 Parse the content of a Firefox 3 history file ftk_dirlisting 0.3 Parse the content of a CSV file that is exported from FTK Imager (dirlist) generic_linux 0.3 Parse content of Generic Linux logs that start with MMM DD HH:MM:SS Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: metadati e plugin • • • • • • • • • • • • • • • iehistory iis 0.8 Parse the content of an index.dat file containg IE history 0.5 Parse the content of a IIS W3C log file ibsatxt 0.4 Parse the content of a ISA text export log file jp_ntfs_change 0.1 Parse the content of a CSV output file from JP (NTFS Change log) l2t_csv 0.1 Parse the content of a body file in the l2t CSV format mactime 0.6 Parse the content of a body file in the mactime format mcafee 0.3 Parse the content of log files from McAfee AV engine mcafeefireup 0.1 Parse the content of an XeXAMInventory or AeXProcessList log file mcafeehel 0.1 Parse the content of a McAfee HIPS event.log file mcafeehs 0.1 Parse the content of a McAfee HIPShield log file mft 0.1 Parse the content of a NTFS MFT file mssql_errlog 0.2 Parse the content of an ERRORLOG file produced by MS SQL server ntuser 1.0 Parses the NTUSER.DAT registry file openvpn 0.1 Parse the content of an openVPN log file opera 0.2 Parse the content of an Opera's global history file Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: metadati e plugin • • • • • • • • • • • • • • oxml 0.4 Parse the content of an OpenXML document (Office 2007 documents) pcap 0.5 Parse the content of a PCAP file pdf 0.3 Parse some of the available PDF document metadata prefetch 0.7 Parse the content of the Prefetch directory proftpd_xferlog 0.1 Parse the content of a ProFTPd xferlog log file recycler 0.6 Parse the content of the recycle bin directory restore 0.9 Parse the content of the restore point directory safari 0.3 Parse the contents of a Safari History.plist file sam 0.1 Parses the SAM registry file security 0.1 Parses the SECURITY registry file setupapi 0.5 Parse the content of the SetupAPI log file in Windows XP skype_sql 0.1 Parse the content of a Skype database software 0.1 Parses the SOFTWARE registry file sol 0.5 Parse the content of a .sol (LSO) or a Flash cookie file Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: metadati e plugin • • • • • • • • • squid 0.5 Parse the content of a Squid access log (http_emulate off) symantec 0.1 Parse the content of a Symantec log file syslog 0.2 Parse the content of a Linux Syslog log file system 0.1 Parses the SYSTEM registry file tln 0.5 Parse the content of a body file in the TLN format volatility 0.2 Parse the content of a Volatility output files (psscan2, sockscan2, ...) win_link 0.7 Parse the content of a Windows shortcut file (or a link file) wmiprov 0.2 Parse the content of the wmiprov log file xpfirewall 0.4 Parse the content of a XP Firewall log © Esistono software commerciali equivalenti? :-) Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: moduli e liste ! Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline: output • Useremo CSV perchè veloce da gestire e ideale per integrare le diverse fonti di dati/metadati Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 ! DEFTCON 2012 - Torino Montiamo il disco in readonly mount -o ro,show_sys_files,streams_interface=windows /dev/sda1 mnt/c • Monto il disco in modalità read only • Importanti i parametri speciali per file di sistema e ADS: • show_sys_files • streams_interface=windows Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Montiamo l’immagne in readonly mount -o ro,loop,show_sys_files,offset=$((512*63)) / mnt/raw/nps-2009-domexusers.dd /mnt/c • • • Diversi tipi di immagini: raw, split raw, aff, split aff, ewf, split ewf Possibile operare anche su dischi fisici Si possono montare tutti i tipi di immagini usati nella computer forensics o i dischi tramite i seguenti tool: • • • • affuse (raw, split raw) xmount (raw, split raw, aff, ewf) mount [-o loop] (raw) mount_ewf.py [ewf] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Alcuni strani file... • Si notano alcuni file di metadati NTFS ($Boot, $MFTMirr, etc...) • Alcuni metafile non si vedono ma si possono accedere direttamente ($MFT, $UsnJrnl:$J) e potranno servirci Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Identifico versione di OS cd /opt/regripper ./rip.pl -r /mnt/c/WINDOWS/system32/config/software -p winver ./rip.pl -r /mnt/c/WINDOWS/system32/config/system -p timezone • Uso regripper per identificare Sistema Operativo e timezone • Utile nel caso in cui il preprocessor di log2timeline fallisse la detection e quindi la scelta dei moduli/plugin Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Supertimeline dei file presenti log2timeline -r -z Europe/Rome /mnt/c/ -m C: -w c-log2t.csv cat c-log2t.csv > supertimeline-unsorted.csv l2t_process -i -b supertimeline-unsorted.csv -y > supertimeline.csv • A volte utile usare parametri “-p” e “-f winxp” • l2t_process può filtrare per keyword (blacklist/ whitelist), timestomping (MFT con millisecondi a 0), date o evidenziare scostamenti time/ number MFT tramite scatter plot della cartella /windows/system32 Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esporto $MFT per il laboratorio cat -c /mnt/c/\$MFT > mft.bin (oppure) icat -o 63 /dev/sda 0 > mft.bin • • • Utile se non si ha tempo di fare timeline/supertimeline • Se non si ha tempo di usare fls/autopsy, acquisire MFT e parsificare in laboratorio log2timeline ultima versione lo elabora in automatico Si può elaborare in laboratorio con diversi tool, compreso log2timeline Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esporto journal NTFS cat /mnt/c/\$Extend/\$UsnJrnl:\$J > usnjrnl.bin • Se il journaling è attivo, il file contiene timestamp di creazione, modifica e cancellazione dei file presenti sul disco • Si può elaborare in laboratorio con diversi tool, commerciali e non e integrare tramite apposito plugin nella supertimeline Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Carving e recupero dati cd carving photorec /dev/sda vi /etc/foremost.conf foremost -o carving -i /dev/sda vi /opt/hb4/scalpel.conf scalpel -v /opt/hb4/scalpel.conf -o carving -i /dev/sda • • • • • Si recupero tutti i file con struttura nota cancellati Operazione in genere lunga, da fare in laboratorio Tutti e tre i tool supportano custom config Scalpel e Foremost supportano custom config più avanzato Disponibile GUI (Menu’ > DEFT > Carving Tools > Hb4most) Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Integrazione nella supertimeline log2timeline -r -z Europe/Rome ./carving -m C: -w c-log2t-carve.csv cat *.csv > supertimeline-unsorted.csv l2t_process -i -b supertimeline-unsorted.csv -y > supertimeline.csv • • Prassi poco nota ma dagli ottimi risultati • Verranno parsificati registro, eventi, immagini, documenti, link, navigazione Internet e molti altri metadati che altrimenti non sarebbero stati inclusi nella supertimeline Estrarre tramite carving e applicare log2timeline su quanto ricuperato Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: documenti office • 10/29/2008,09:15:00,PST8PDT,MACB,OXM L,Open XML Metadata,created,domex1,-,, Application: Microsoft Office Word AppVersion: 12.0000,2 […] 10/29/2008,09:15:00,PST8PDT,MACB,OXML,O pen XML Metadata,modified,domex1,-,, Application: Microsoft Office Word AppVersion: 12.0000,2 […] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: Windows lnk • 09/18/2008,09:44:24,PST8PDT,.A..,LNK,Shortcu t LNK,Access,-,-,C:/Program Files/Google/ Picasa3/Picasa3.exe […] 09/18/2008,09:44:24,PST8PDT,..CB,LNK,Shortcut LNK,Created,-,-,C:/Program Files/Google/Picasa3/ Picasa3.exe […] 10/21/2008,08:11:48,PST8PDT,M...,LNK,Shortcut LNK,Modified,-,-,C:/Program Files/Google/Picasa3/ Picasa3.exe […] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: Navigazione web • 10/20/2008,15:42:24,PST8PDT,.ACB,WEBHIST, Internet Explorer,time1,Administrator,-,visited http://www.google.com/search? hl=en&q=pidgin&aq=f […] 10/20/2008,15:42:55,PST8PDT,M...,WEBHIST,Inter net Explorer,time2,Administrator,-,visited http:// sourceforge.net/project/downloading.php? groupname=pidgin&filename=pidgin-2.5.2.exe&use _mirror=internap […] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: Filesystem • 10/21/2008,11:13:04,PST8PDT,.A..,FILE, NTFS $MFT,$FN [.A..] time,-,-,C:/ Documents and Settings/All Users/ Documents/pidgin-2.5.2.exe […] 10/21/2008,11:04:08,PST8PDT,.A..,FILE,NT FS $MFT,$FN [.A..] time,-,-,C:/Documents and Settings/All Users/Documents/ Thunderbird Setup 2.0.0.17.exe […] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: Esecuzione programmi • 10/29/2008,19:44:34,,MACB,REG,UserAssist key,Time of Launch,domex2,REALISTIC_XP,UEME_RUNPA TH:C:/Program Files/Mozilla Thunderbird/ thunderbird.exe, [Count: 2] […] 10/30/2008,00:50:43,PST8PDT,MACB,PRE,XP Prefetch,Last run,-,REALISTIC_XP,AIM6.EXE-34DC5725.pf: AIM6.EXE was executed,AIM6.EXE-34DC5725.pf [AIM6.EXE] was executed - run count [5] […] Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012 DEFTCON 2012 - Torino Esempio: Avvio e spegnimento PC Dr. Paolo Dal Checco - [email protected] Friday, March 30, 2012