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

Weitere ähnliche Inhalte

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

Jad NEHME - Alcatel-Lucent - Report
Jad NEHME - Alcatel-Lucent - ReportJad NEHME - Alcatel-Lucent - Report
Jad NEHME - Alcatel-Lucent - Report
Jad Nehme
 
TotalEconomicBenefitOfSparqlycode 1.2
TotalEconomicBenefitOfSparqlycode 1.2TotalEconomicBenefitOfSparqlycode 1.2
TotalEconomicBenefitOfSparqlycode 1.2
Paul Worrall
 
pentest mobile app issue
pentest mobile app issuepentest mobile app issue
pentest mobile app issue
shekar M
 
Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...
Jennifer Lopez
 
u10a1 Security Plan-Beji Jacob
u10a1 Security Plan-Beji Jacobu10a1 Security Plan-Beji Jacob
u10a1 Security Plan-Beji Jacob
Beji Jacob
 
Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8
Paula Smith
 
Ora db 2 day+ app express dev guide
Ora db 2 day+ app express dev guideOra db 2 day+ app express dev guide
Ora db 2 day+ app express dev guide
Darnette A
 

Ähnlich wie Paolo Dal Checco, Alessandro Rossetti, Stefano Fratepietro - Manuale DEFT 7 (20)

Jad NEHME - Alcatel-Lucent - Report
Jad NEHME - Alcatel-Lucent - ReportJad NEHME - Alcatel-Lucent - Report
Jad NEHME - Alcatel-Lucent - Report
 
Student-Guide-Module-1-Fundamentals-of-AI.pdf
Student-Guide-Module-1-Fundamentals-of-AI.pdfStudent-Guide-Module-1-Fundamentals-of-AI.pdf
Student-Guide-Module-1-Fundamentals-of-AI.pdf
 
TotalEconomicBenefitOfSparqlycode 1.2
TotalEconomicBenefitOfSparqlycode 1.2TotalEconomicBenefitOfSparqlycode 1.2
TotalEconomicBenefitOfSparqlycode 1.2
 
6 professional ethics
6 professional ethics6 professional ethics
6 professional ethics
 
Oracle database 12c 2 day + php developer's guide
Oracle database 12c 2 day + php developer's guideOracle database 12c 2 day + php developer's guide
Oracle database 12c 2 day + php developer's guide
 
Phone 81 development_for_absolute_beginners
Phone 81 development_for_absolute_beginnersPhone 81 development_for_absolute_beginners
Phone 81 development_for_absolute_beginners
 
pentest mobile app issue
pentest mobile app issuepentest mobile app issue
pentest mobile app issue
 
User guide freedom gateway lite 1.0
User guide freedom gateway lite 1.0User guide freedom gateway lite 1.0
User guide freedom gateway lite 1.0
 
Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...
 
azeem final iot report.docx
azeem final iot report.docxazeem final iot report.docx
azeem final iot report.docx
 
u10a1 Security Plan-Beji Jacob
u10a1 Security Plan-Beji Jacobu10a1 Security Plan-Beji Jacob
u10a1 Security Plan-Beji Jacob
 
Broken by design (Danny Fullerton)
Broken by design (Danny Fullerton)Broken by design (Danny Fullerton)
Broken by design (Danny Fullerton)
 
Multi core programming linux student workbook
Multi core programming  linux student workbookMulti core programming  linux student workbook
Multi core programming linux student workbook
 
Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8Essay About ISS 418 Lab 7 And 8
Essay About ISS 418 Lab 7 And 8
 
Internet of things_tutorial
Internet of things_tutorialInternet of things_tutorial
Internet of things_tutorial
 
Secure webdev 3.0
Secure webdev 3.0Secure webdev 3.0
Secure webdev 3.0
 
Ethics in-information-security
Ethics in-information-securityEthics in-information-security
Ethics in-information-security
 
Computer_Hacking_for_Beginners_Kevin_James_complex.pdf
Computer_Hacking_for_Beginners_Kevin_James_complex.pdfComputer_Hacking_for_Beginners_Kevin_James_complex.pdf
Computer_Hacking_for_Beginners_Kevin_James_complex.pdf
 
Ora db 2 day+ app express dev guide
Ora db 2 day+ app express dev guideOra db 2 day+ app express dev guide
Ora db 2 day+ app express dev guide
 
IT Fundamentals - DP Harshman
IT Fundamentals - DP HarshmanIT Fundamentals - DP Harshman
IT Fundamentals - DP Harshman
 

Mehr von Deft Association

deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
Deft Association
 
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto DeftDeftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
Deft Association
 
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin SkypeDeftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
Deft Association
 
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei CriminiDeftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
Deft Association
 
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Deft Association
 
Deftcon 2012 - Meo Bogliolo - SQLite Forensics
Deftcon 2012 - Meo Bogliolo - SQLite ForensicsDeftcon 2012 - Meo Bogliolo - SQLite Forensics
Deftcon 2012 - Meo Bogliolo - SQLite Forensics
Deft Association
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deft Association
 
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi AndroidDeftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
Deft Association
 
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
Deft Association
 
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
Deft Association
 
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
Deft Association
 
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
Deft Association
 

Mehr von Deft Association (20)

Deft - Botconf 2017
Deft - Botconf 2017Deft - Botconf 2017
Deft - Botconf 2017
 
deftcon 2015 - Giuseppe Serafini - PCI - DSS Forensics - Soggetti, strumenti ...
deftcon 2015 - Giuseppe Serafini - PCI - DSS Forensics - Soggetti, strumenti ...deftcon 2015 - Giuseppe Serafini - PCI - DSS Forensics - Soggetti, strumenti ...
deftcon 2015 - Giuseppe Serafini - PCI - DSS Forensics - Soggetti, strumenti ...
 
deftcon 2015 - Stefano Mele - La cyber-security nel 2020
deftcon 2015 - Stefano Mele - La cyber-security nel 2020deftcon 2015 - Stefano Mele - La cyber-security nel 2020
deftcon 2015 - Stefano Mele - La cyber-security nel 2020
 
deftcon 2015 - Paolo Dal Checco - Riciclaggio e Anti riciclaggio nell’era del...
deftcon 2015 - Paolo Dal Checco - Riciclaggio e Anti riciclaggio nell’era del...deftcon 2015 - Paolo Dal Checco - Riciclaggio e Anti riciclaggio nell’era del...
deftcon 2015 - Paolo Dal Checco - Riciclaggio e Anti riciclaggio nell’era del...
 
deftcon 2015 - Epifani, Picasso, Scarito, Meda - Tor Browser forensics on Win...
deftcon 2015 - Epifani, Picasso, Scarito, Meda - Tor Browser forensics on Win...deftcon 2015 - Epifani, Picasso, Scarito, Meda - Tor Browser forensics on Win...
deftcon 2015 - Epifani, Picasso, Scarito, Meda - Tor Browser forensics on Win...
 
deftcon 2015 - Dave Piscitello - DNS Traffic Monitoring
deftcon 2015 - Dave Piscitello - DNS Traffic Monitoringdeftcon 2015 - Dave Piscitello - DNS Traffic Monitoring
deftcon 2015 - Dave Piscitello - DNS Traffic Monitoring
 
deftcon 2015 - Nino Vincenzo Verde - European Antitrust Forensic IT Tools
deftcon 2015 - Nino Vincenzo Verde - European Antitrust Forensic IT Toolsdeftcon 2015 - Nino Vincenzo Verde - European Antitrust Forensic IT Tools
deftcon 2015 - Nino Vincenzo Verde - European Antitrust Forensic IT Tools
 
deftcon 2015 - Stefano Capaccioli - Riciclaggio e Antiriciclaggio nell’era de...
deftcon 2015 - Stefano Capaccioli - Riciclaggio e Antiriciclaggio nell’era de...deftcon 2015 - Stefano Capaccioli - Riciclaggio e Antiriciclaggio nell’era de...
deftcon 2015 - Stefano Capaccioli - Riciclaggio e Antiriciclaggio nell’era de...
 
deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
deftcon 2014 - Pasquale Stirparo e Marco Carlo Spada - Electronic Evidence Gu...
 
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto DeftDeftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
Deftcon 2014 - Stefano Fratepietro - Stato del Progetto Deft
 
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin SkypeDeftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
Deftcon 2013 - Nicodemo Gawronski - iPBA 2.0 - Plugin Skype
 
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei CriminiDeftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
Deftcon 2013 - Giuseppe Vaciago - Osint e prevenzione dei Crimini
 
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
 
Deftcon 2012 - Meo Bogliolo - SQLite Forensics
Deftcon 2012 - Meo Bogliolo - SQLite ForensicsDeftcon 2012 - Meo Bogliolo - SQLite Forensics
Deftcon 2012 - Meo Bogliolo - SQLite Forensics
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
 
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi AndroidDeftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
Deftcon 2014 - Marco Giorgi - Metodologie di Acquisizione di Dispositivi Android
 
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
Deftcon 2014 - Marco Albanese - Andlink: Un’applicazione a supporto per le at...
 
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizz...
 
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
Deftcon 2014 - Stefano Zanero - Comprehensive Black-box Methodology for Testi...
 
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
DEFTCON 2014 – Luigi Ranzato - Windows Registry Artifacts: "Most Recently Use...
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Kürzlich hochgeladen (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

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

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