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