DEFT7 case study Live Preview & Analysis con DEFT 7 Dr. Paolo Dal Checco paolo@dalchecco.it Creative Commons Attribuzione-Non opere derivate 2.5
Whoami - Chi sono? Ph. D. in Informatica @Dipartimento di Informatica di Torino, Computer & Network Security Group Consulente Informatico Forense Fondatore Studio Associato Digital Forensics Bureau - Torino Socio Amministratore della Digit Law S.r.l. - Milano DEFT Linux developer
Case Study Prendiamo spunto da una situazione in cui un dipendente si licenzia improvvisamente L azienda viene a sapere che potrebbe aver copiato dati riservati portandoli con sé Vogliamo capire se è vero, da quali PC, su quali supporti, se li ha inviati via posta elettronica, se ha anche cancellato file, a che ora l ha fatto, quando ha acceso/spento il PC, che cartelle aveva sulla penna USB, quale marca e seriale, se abbiamo prove che sia stato lui, etc...
Premessa Molte slides... ma do not panic Il fine non è spiegare in dettaglio come si eseguono le operazioni Si cercherà di mostrare cosa si può fare, per illustrare come un prodotto gratuito open source è in grado di eguagliare nelle funzionalità (e talvolta superare) prodotti commerciali (che per altro usiamo) Per approfondimenti: Google, howto, siti, etc...
Attività Una volta identificati gli asset coinvolti, svolgeremo due attività in parallelo: Preview delle informazioni presenti sul PC Se rilevante, acquisizione forense del disco
Avvio DEFT7 Linux Settaggio BIOS, se possibile disabilito boot da hard disk (esc, F1, etc...) Boot Selection Popup (F2, F9, etc...)
Avvio DEFT7 Linux Scelta tra Live USB (unetbootin) o Live CD Se RAM > 1.3GB, uso modalità toram, poi posso fare eject e rimuovere il CD, più veloce e posso avviare più PC con un CD
Verifica dischi Listing dei dischi connessi al PC (uso anche mmls ) Listing delle partizioni, con unità in settori In base a dimensione e filesystem decido cosa montare e analizzare
Mount del disco del PC 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
Mount del disco del PC Si notano alcuni file di metadati NTFS ($Boot, $MFTMirr, etc...) Alcuni metafile non si vedono ma si possono accedere direttamente ($MFT, $UsnJrnl:$J)
Mount del disco del PC Disponibile anche un mounter grafico con possibilità di mounting read-only o read/write Non vengono usati parametri speciali, utili nelle analisi successive PCManFM-DEFT 0.9.9-DEFT versione modificata del file manager
Preview file Posso sfogliare file, cartelle, aprire documenti Se trovo file di interesse, posso copiarli senza impattare sul disco originale
Preview Recent, Cookies, etc... Tramite file manager posso immediatamente rilevare Recent, Cookies, etc... Per un esame più dettagliato, si potranno usare tool specifici
Mount del disco target o share di rete mount -o rw /dev/sdb1 mnt/usb Monto un disco/chiavetta USB per salvare i dati, eventualmente le immagini forensi Se ho diversi PC posso usarne uno per condividere una share di rete e gli altri monteranno la share remota (vi /smb/ samba/smb.conf & /etc/init.d/smbd start)
Identifico OS e Timezone 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
Rilevo inserimento di usbkey cd /opt/regripper./rip.pl -r /mnt/c/windows/system32/config/system -p usbstor Uso regripper per rilevare i dispositivi di archiviazione di massa inseriti, lo applico su diversi asset aziendali e trovo corrispondenza eventuale di usbpen e serial number Rilevo data di ultimo inserimento Ricuperando (tramite carving o punti di ripristino/shadow copy) file di registro si possono ricavare date di inserimento precedenti all ultima La data di primo inserimento è memorizzata nel file setupapi.log nella directory di Windows Disponibili anche plugin usbstor2 e usbstor3 con output diversi Aggiornamento plugin regripper frequente
Rilevo inserimento di usbkey system registry hive setupapi.log
Analizzo registro completo cd /opt/regripper ls plugins/*[^pl]./rip.pl -r /mnt/c/windows/system32/config/software -f software./rip.pl -r /mnt/c/windows/system32/config/system -f system./rip.pl -r /mnt/c/windows/system32/config/sam -f sam./rip.pl -r /mnt/c/windows/system32/config/security -f security./rip.pl -r /mnt/c/documents\ and\ Settings/utente/NTUSER.DAT -f ntuser Si può fare in laboratorio o durante live preview salvando su file Vengono applicati i plugin divisi in categorie
Analizzo LNK Analizzando i file.lnk di Windows (Recent, Office Recent, etc...) riesco a individuare percorsi e nomi di file che risiedono su periferiche rimobivili o risorse di rete Individuo anche in genere il volume ID (che non è il serial number hw) della USB key su cui è presente il file aperto
Analizzo LNK
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
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 (accesso, modifica, creazione, entry modified). Verifichiamo se ci sono inserimenti di chiavette USB in quella data, se i file sono stati letti in successione, se i file ora sono cancellati Possibile anche hourly summary, con analisi oraria, nell esempio rileviamo pesante attività tra le ore 11 e le 12
Avvio e spegnimento PC log2timeline -r -z Europe/Rome /mnt/c/windows/system32/config -m C: -w c-log2t-events-unsorted.csv l2t_process -i -b c-log2t-events-unsorted -y > c-log2t-events.csv Parsifico registro degli eventi Cerco gli eventi 6009 e 6005 in successione per avvio PC e 6006 per shutdown La ricerca si può anche fare in seguito sulla supertimeline egrep 6009 6005 6006 events.csv
Avvio e spegnimento PC
Supertimeline 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 uso 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
MFT 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 Si può elaborare in laboratorio con diversi tool, compreso log2timeline Se non si ha tempo di usare fls/autopsy, acquisire MFT e parsificare in laboratorio
NTFS Journal 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 In DEFT 7.1 sarà inserito tool di parse
Ricerca file updatedb -U /mnt/c locate *foobar* updatedb non indicizza contenuto, solo il nome, si può sceglere la root da indicizzare Alternativa al comando find Disponibile anche tool grafico catfish o findwild
Cestino find /mnt/c -name INFO2 -exec rifiuti2 {} \; rifiuti2 ricupera data di cancellazione, percorso originale e dimensione dei file cancellati, rilevando anche se i file sono stati estratti dal cestino dopo esservi stati riposti Per Windows Vista e Windows Server si usa il comando rifiuti-vista
Carving 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 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)
Integrazione 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 Estrarre tramite carving e applicare log2timeline su quanto ricuperato Verranno parsificati registro, eventi, immagini, documenti, link, navigazione Internet e molti altri metadati che altrimenti non sarebbero stati inclusi nella supertimeline
Skype wine /cdrom/dart/apps/suite/nirsoft/skypelogview.exe (necessaria GUI) Estraggo e organizzo chat Skype Importo il folder Skype dentro Dati Applicazioni
DART Suite cd /cdrom wine /cdrom/dart.exe Disponibili la maggioranza dei tool della suite DART (Antivirus, Forensics, IR, Networking, Suite, Security, Utility) DART è una suite di IR lato Windows, completamente portable Si avviano in wine e possono interagire con i file del disco montato in read-only
Acquisizione immagine disco Menù > DEFT > Imaging Tools > Guymager Software con interfaccia grafica che facilita l acquisizione evitando errori comuni Può acquisire più dispositivi in parallelo L acquisizione può essere fatta in parallelo con la live preview
Acquisizione immagine disco
Acquisizione immagine disco Permette di acquisire immagini in raw, ewf, aff Mostra progress bar e queue usage (r/h/c/w). Esempio: r 100 h 100 c 0 w = CPU lenta r 0 h 0 c 100 w = target disk lento (usb2.0?) r 0 h 0 c 0 w ma slow speed = source disk lento o faulty
Email Se si trovano email in pst o dbx, è possibile convertirle in eml per una facile preview (readpst, readdbx) Disponibili in DEFT che convertono le email da files PST e DBX in altri formati, anche solo in testo a schermo
Autopsy Menù > DEFT > Analysis Tools > Autopsy Interfaccia grafica alla suite TSK Creo un caso, imposto timezone, inserisco immagini/dischi (/dev/ sda) 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
Autopsy
Altre attività di laboratorio bulk_extractor bulk_extractor, scritto da Simson Garfinkel, autore di AffLib Parsifica disco a livello raw estraendo numeri di carte di credito, indirizzi, telefoni, email, url, ricerche su Google, indirizzi IP, zip file, etc... e li ordina per frequenza Avremo quindi siti più visitati, email più utilizzate, etc...
Altre attività di laboratorio Emule Forensics (file sharing) PTK Forensics (~ Autopsy) iphone backup analyzer (ios Backup) ipddump (Blackberry Backup) Hydra (password cracking) findwild/catfish/find/locate (file search) DART (Nirsoft, ClamWin, MiTec,
Altre attività di laboratorio: DART 7zip Advanced Password Recovery AviScreen BlackBag IOReg Info BlackBag PMAP Info CamStudio ClamWin ConTools Database Browser dcfldd (per Windows) DeepBurner DiskDigger Don t Sleep DriveMan EMFSpoolViewer Emule MET viewer Eraser Portable f3e FastStone Viewer FATwalker FAU x64 FAU x86 FileAlyzer 2 FileInfo fmem FSV Thumbs Extractor FTK Imager FTK Imager CLI (Win, Linux, Mac) GMER Gsplit Harvester HDDRawCopy Historian HWiNFO HWiNFO32 e HWiNFO64 HxD ICESword index.dat Analyzer IrfanView (con plugin) JAD EDD JAD Facebook JPG Finder Jam-Software Treesize Jam-Software UltraSearch JPEGsnoop LAN Search Pro 32/64 Lime Juicer LimeWire Library Parser v4 e v5 Lnkexaminer ltfviewer Mail-Cure for Outlook Express Mandiant Audit Viewer Mandiant Memoryze Mandiant RestorePointAnaly zer Mandiant Web Historian md5deep for Windows md5summer
Altre attività di laboratorio: DART MDD MediaPlayerClassic (x86/x64) Mitec Mail Viewer MiTec Structured Storage Viewer Mitec Windows File Analyzer Mitec Windows Registry Rescue NetSetMan Nigilant32 Access PassView AlternateStreamVi ew Asterisk Logger AsterWin AsterWin IE Bluetooth Viewer BulletsPassView x86 e x64 ChromeCacheVie w ChromeCookiesVi ew ChromeHistoryVie w ChromePass CurrPorts x86 e x64 CurrProcess Dialupass Enterprise Manager PassView FirefoxDownloads View FlashCookiesView FoldersReport HashMyFiles IE Cache View IE Cookies View IE History View IE PassView InsideClipboard LiveContactsView LSASecretsDump x86 e x64 LSASecretsView x86 e x64 Mail PassView MessenPass Mozilla Cache View Mozilla Cookies View Mozilla History View MUICacheView
Altre attività di laboratorio: DART MyEventViewer (anche x64) MyLastSearch NetResView Netscapass Network Password Recovery x86 e x64 OpenedFilesView (anche x64) OperaCacheView OperaPassView OutlookAttachVie w (anche x64) PasswordFox PCAnywhere PassView ProcessActivityVie w Protected Storage PassView PstPassword RecentFilesView RegScanner (anche x64 e win98) Remote Desktop PassView Safari Cache View ServiWin SkypeLogView SmartSniff (x86 e x64) StartupRun USBDeview x86 e x64 UserAssistView UserProfilesView VideoCacheView VNCPassView WebBrowserPassVi ew WhatInStartup Win9x PassView WinPrefetchView Wireless Network View WirelessKeyView x86 e x64 Notepad++ (con Hexedit e LightExplorer) NTFSwalker On-screen keyboard OTFE Volume File Finder PC On/Off Time Photostudio pre-search ProDiscover Basic
Altre attività di laboratorio: DART Free Props QCC FragView QCC Gigaview QCC VideoTriage RefWolf Prefetch- Parser Registry Decoder Live 32/64 Registry Report RegRipper Plugin RHash RootRepeal Sanderson Forensic Copy Sanderson Forensic Image Viewer Sanderson List Codecs Sanderson OLEDeconstruct Screeny SDHash Search my files SecurityXploded PasswordSuite SecurityXploded SpyDLLRemover ShadowExplorer SoftPerfect Network Scanner (x86/x64) Spartacus SPLViewer SQLite Database Browser SSDeep StreamFinder SumatraPDF Svchost Process Analyzer System Scaner TCHunt Teracopy Portable testdisk/photorec Win/Lin/Mac x86/ x64 The Sleuth Kit (win32) Thumo TightVNC TrID (defs 31.10.2011) TrIDnet (defs 31.10.2011) Tuluka Ultra File Search Undelete 360 Universal Extractor Universal Viewer Free USB WriteProtector Vidpreview VLC Portable WinAudit e WinAudit Unicode Windows Forensic Toolchest WipeDisk XnView ZeroView
Questo è solo l inizio... Questo case study ha lo scopo di mostrare alcune delle operazioni che portano alla risoluzione di un caso Vi sono numerose tecniche di analisi aggiuntive, tutte realizzabili tramite la suite open source gratuita DEFT 7 Follow us on www.deftlinux.net Join us on www.facebook.com/deftlinux