Giovanni Bassetti Immagine
 Blog personale di Nanni Bassetti... di Admin
 
"
Un computer sicuro è un computer spento e gettato in fondo al mare, con l'hard disk sbriciolato

N.B.
"
 

\\ Home Page : Storico : Computer Forensics (inverti l'ordine)
Di seguito gli interventi pubblicati in questa sezione, in ordine cronologico.
 
 
Di Admin (del 06/10/2009 @ 09:27:25, in Computer Forensics, linkato 2211 volte)
Abbiamo fatto uscire la SFDumper 2.1, finalmente adesso tutti i problemini
sui nomi file e il filtraggio per estensione sono stati risolti.
Try it:
http://sfdumper.sourceforge.net/

Thanks ; - )
 
Di Admin (del 05/10/2009 @ 11:36:05, in Computer Forensics, linkato 1867 volte)

Ciao a tutti,
leggevo questo:
http://www.wired.com/threatlevel/2007/08/researchers-ana/
ed ho scaricato il sorgente in C++, quando l'ho compilato ha dato errore, ho corretto l'errore (un INT che doveva diventare un FLOAT e un newline a fine codice), ho ricompilato ed ora funziona bene:

L'ho messo ha disposizione di tutti voi QUI:

Jpegquality.zip


 

 
Di Admin (del 08/06/2009 @ 18:18:41, in Computer Forensics, linkato 2363 volte)

Denis Frati ed il sottoscritto hanno appena pubblicato l'ultima release di Selective File Dumper, SFDumper per gli amici ;)

Quali sono le novità?

  1. Adesso il software lavora su device e su immagini di tipo raw/ewf/aff e splittate, una grande comodità per tutti.
  2. L'output è più ordinato e pulito.
  3. Non ci sono più errori di output dovuti ai file orfani.
  4. Può essere avviato in modalità "linea di comando" oppure in modalità interattiva (alla vecchia maniera di  SFDumper).
  5. C'è la possibilità di operare al meglio su immagini di device con file system hfs/hfs+, utilizzando le feature messe a disposizione dagli Snapshots di SleuthKit.
  6. Ci sono i numeretti che indicano l'avanzamento del lavoro, mentre il software è in esecuzione.

Insomma sono novità importanti, che hanno eliminato i problemi di recupero su alcuni file ed hanno reso lo strumento molto più flessibile e potente.

Sito del tool http://sfdumper.sourceforge.net .

Muchas gratias ; - )

 
Di Admin (del 27/05/2009 @ 07:39:54, in Computer Forensics, linkato 3617 volte)

Il periodo è favorevole, la primavera del 2009 si apre con la nuova edizione del libro di Andrea Ghirardini

http://www.apogeonline.com/libri/9788850328161/scheda

con una cospicua estensione di argomenti, approfondimenti e migliorie.
Approfitto di questo post per ringraziare pubblicamente Andrea di aver citato la distro CAINE oltre che il sottoscritto
e Denis Frati, come sviluppatori di SFDumper.
Poi anche il mio libro INDAGINI DIGITALI ha ricevuto una bella svolta, infatti oltre ad esser stato aggiornato (ora è di 92 pagine), oggi la LULU.COM ( www.lulu.com/content/1356430 ) mi ha comunicato che è stato selezionato da AMAZON.COM (mica ciufoli), che lo ha inserito nel suo catalogo.

Amazon indagini digitali

http://www.amazon.com


 
Di Admin (del 12/04/2009 @ 17:25:36, in Computer Forensics, linkato 19786 volte)

Raw2FS, acronimo che serve ad indicare lo scopo di questo mio nuovo bash script per Linux, ossia ricondurre i nomi dei file estratti con tool come Foremost, al nome presente nel file system, con tutto il suo percorso.

Sappiamo che Foremost, come altri carver, salvano i file nominandoli col numero di settore (da 512 bytes), di partenza, in cui questi si trovano, quindi mi serviva uno strumento per risalire all'eventuale nome presente nel file system.
Se il file "carvato" non ha corrispondenza con un i-node allora il tool salva l'output hex/ascii di un settore/cluster/block in  un file di testo.
Tutto è riassunto in un report in HTML.
Ma visto che ero in argomento, perchè non implementare anche una ricerca per stringhe? Raw2Fs permette di cercare più keywords oppure di caricare un file di testo, generato dal "grepping" e riportare tutti i file nel file system che contengono quelle keywords, se invece la keyword è contenuta nello slack space, allora viene salvato l'output hex/ascii di un settore/cluster/block.

Il motore di tutto è questo:
se ho un file nominato 00001234.doc (carving), quel numero "1234" rappresenta il settore in cui il file è stato trovato dal carver, quindi lo si moltiplica per 512 (dimensione minima del settore) e si ottiene l'offset in byes del file, che chiamremo $offcarv.
Poi il tool cerca a quale partizione appartiene il file, trova l'inizio della partizione/spazio non allocato e moltiplica lo starting sector x la dimensione del settore/cluster/blocco (es. 1024), che chiameremo $ss, per ottenere l'offset in bytes della partizione, che chiameremo $offbytepart. (ricodiamo che per fat -> settore, ntfs -> cluster, ext2/3 -> blocco).

Ed ecco la formuletta:

($offcarv - $offbytepart) / $ss

Ossia l'offset del file carvato - l'offset di inizio partizione diviso la grandezza del settore/cluster/blocco usato in quella partizione da quel file system.
Poi tramite i tools dello SleuthkitRaw2Fs fa tutto il resto.... :)
Per le keywords stesso discorso, solo che nel file derivante dalla ricerca con strings e grep, si trovano già gli offset in bytes delle stringhe, quindi non c'è bisogno di moltiplicare per 512.

Dopo quest'ennesima "fatica", ho pensato di lanciare il sito:

http://scripts4cf.sf.net

contenente alcuni scripts utili, ad oggi realizzati da me e da Denis Frati, ma aperto ad ospitare anche scripts fatti da altri, insomma una vera e propria piccola biblioteca di tools costruiti dagli "investigatori digitali", man mano che si trovano a dover affrontare e risolvere i problemi che incontrano durante le loro indagini e/o esercizi.
Spero di aver fatto cosa utile... ;)

 
Di Admin (del 09/04/2009 @ 19:39:06, in Computer Forensics, linkato 3562 volte)

Ormai il Web 2.0 impazza, siamo tutti più o meno protagonisti in varie piazze virtuali, ci si innamora, si litiga, si stringono amicizie, si fanno guerre ideologiche, ci si critica, insomma tutto il bene e tutto il male che l'uomo può esprimere.

Diffamazione, stalking, violazione del copyright, ecc. ecc. sono tra i fatti, che posson accadere sul web, ma tecnicamente e giuridicamente diventa difficile "cristallizare"  una pagina web e farne una copia conforme, perchè essa è spesso dinamica, essa spesso cambia, il proprietario ne altera il contenuto appena sente puzza di bruciato e tante altre motivazioni, note a chi si occupa di computer forensics.

Ecco che Gianni Amato e Davide Baglieri, con il testing ed i suggerimenti di tanti membri di CFI (Computer Forensics Italy), compreso lo scrivente, hanno sviluppato HashBot  http://www.hashbot.com/.

Curiosi di saperne di più? Lascio l'approfondimento ad uno dei suoi creatori:

http://www.gianniamato.it/2009/04/hashbotcom-congela-un-documento-web-e.html

Buona lettura ;)

 
Di Admin (del 26/03/2009 @ 19:06:06, in Computer Forensics, linkato 11076 volte)

Con la diffusione dei netbook e dei sistemi che bootano da porta USB, ho proposto a Giancarlo Giustini, il project manager di CAINE (la Linux Live distro per la computer forensics), di realizzarne una versione bootabile da usb e lui mi ha dato "luce verde". : - )

L'abbiamo chiamata NBCAINE (NetBook Caine) ed ora passo ad una breve descrizione:

NBCAINE è un'immagine raw (dd, bitstream, ecc.), di un pendrive da 1GB, contenente la versione LiveUsb di Caine e la parte Windows side rappresentata da Wintaylor, inoltre si sono aggiunti altri tools per l'analisi live su sistemi windows.
In questo modo si ha in tasca un sistema veloce e pronto per il futuro dei nostri PC, che permette di compiere le stesse operazioni di un LiveCd Linux ed anche di fare un'analisi live su un sistema Windows based, grazie a Wintaylor, che annovera tool utilissimi come, per esempio, WFT.

Come si usa:

 Una volta scaricata l'immagine si deve aprire una terminal window e:

1) gzip -d nbcaine.dd.gz  (L’immagine va prima scompattata con gzip)
2) sudo dd if=nbcaine.dd of=/dev/sdX (dove /dev/sdX è la vostra pendrive vergine)

Fatto questo potete aggiungere il plugin Flash, manualmente, andando nella directory

/casper/flash.dir/usr/lib/xulrunner-addons/plugins/

della vostra neonata pendrive ed aggiungere il file libflashplayer.so presente nella versione .tar.gz del plugin scaricabile da QUI.

E per chi ha pendrive più grandi di 1GB? Non c'è problema funziona ugualmente.... ; - )

DOWNLOAD NBCAINE

 
Di Admin (del 20/03/2009 @ 13:27:30, in Computer Forensics, linkato 3712 volte)

PREMESSA: questo articolo è basato su un test da me condotto e mi piacerebbe avere verifica dai lettori di questo blog.

Tempo fa ho notato una stranezza, non avendo cavato ancora una soluzione, ho pensato di sottoporla al pubblico del mio blog, sottolineo che è basato su una sola prova, sulla quale non ho ancora una spiegazione, che potrei non avere per mia "ignoranza", quindi vorrei altre opinioni e/o sperimentazioni.

Detto questo passo a descrivere l'esperimento:

da Linux (senza montare nè in lettura nè in scrittura)
1) attacco una pendrive da 128Mb formattata in NTFS
2) Faccio l'immagine dd e la chiamo pen1.dd
3) faccio l'md5sum

da Windows XP:
4) attacco il pendrive da 128Mb
5) la stacco con RIMOZIONE SICURA

da Linux
6) faccio immagine dd e la chiamo pen2.dd
7) faccio md5sum
8) confronto i due md5 e noto che SONO DIVERSI.

La pendrive è vuota, la pendrive NON è stata sfogliata, la pendrive è stata solo attaccata a Windows e staccata con rimozione sicura.

A questo punto prendo le due immagini e le confronto con un programma (per windows) che si chiama HexCMP2

Cerco le differenze e tutte cadono nel cluster del file $LogFile, che è il journal di NTFS.
Per esempio l'ultima differenza è nell'offset in decimale: 40203262

9) faccio mmls pen1.dd ricavo l'offset di partenza della partizione che è 32
10) fsstat -f ntfs -o 32 pen1.dd e ricavo la dimensione del cluster che è
512
11) divido 40203262 per 512=78521 che è l'offset in settori
12) ifind -f ntfs -o 32 -d 78521 pen2.dd
mi tira fuori: 2-128-1
ffind -f ntfs -o 32 pen2.dd 2-128-1
mi tira fuori
//$LogFile
13) istat -f ntfs -o 32 pen1.dd 2-128-1 | less
istat -f ntfs -o 32 pen2.dd 2-128-1 | less

e noto che la data e l'ora sono identici, quindi il file $Logfile viene modificato, ma i suoi metadati no! Why?

RIFACCIO il procedimento SENZA la RIMOZIONE SICURA, ma staccando brutalmente la chiavetta ed ottengo gli stessi risultati, solo che l'ultima modifica è all'offset decimale:
40174590
diviso 512 =78465
Quindi meno modifiche con la rimozione bruta.

Per concludere ho notato che quando si fa la RIMOZIONE SICURA, sul display del pendrive, appare la scritta WRITE (è un pendrive con display, lettore MP3), quindi quella procedura scrive qualcosa...

PROBLEMA:
Se un CTU maldestro, attacca un disco NTFS ad una stazione Windows, senza il Write Blocker, altera il disco originale, però non v'è traccia di questa alterazione, in termini di timeline....l'hash code che calcolerà sarà quello che verrà generato dall'hard disk già alterato, quindi copia ed originale avranno lo stesso hash code.
In un secondo tempo, un CTP riprende il disco originale, lo attacca con Write Blocker, fa l'immagine e l'hash coinciderà con quello del CTU, dato che il CTP non ha alterato alcunchè...
In soldoni, il CTU ha modificato l'originale, ma non c'è traccia di data ed ora successiva al giorno del sequestro, quindi non v'è modo di dimostrare che ha attaccato l'hd originale ad un sistema sprotetto da
scrittura.
Il problema è chiaramente più teorico che pratico, ci son cose peggiori in giro ;) 

Per concludere, le stesse prove fatte con FATx danno MD5 identici, forse perchè FATx non è Journaled, mentre NTFS sì...e $Logfile è il journal di ntfs.

Ogni opinione, smentita, conferma è gradita !!!  : - )

 

ARTICOLO SU ISSA JOURNAL

Nanni Bassetti

 
Di Admin (del 06/03/2009 @ 18:46:58, in Computer Forensics, linkato 8858 volte)

Spesso accade di dimenticare tutte le potenzialità ed i tools di Sleuthkit, quindi ho deciso di scrivere una piccola guida veloce per illustrare gli usi più prêt-à-porter di questa utilissima suite di strumenti per la computer forensics, sviluppata da Brian Carrier.

Iniziamo dal disco/immagine

mmls /dev/sdaX o mmls disk.dd

serve a visualizzare le partizioni di un device o di un file immagine, fornendoci in output lo starting sector, molto utile per determinare l'offset di inizio partizione.
'Mmls' è simile a' fdisk-lu 'in Linux con alcune differenze. Vale a dire, che mostra i settori che non sono stati utilizzati in modo tale che questi possono essere usati per cercare dei dati nascosti. Inoltre, fornisce anche il valore della lunghezza delle partizioni in modo che possa essere usato con 'dd' più facilmente per estrarle.

fsstat -f file_system -o offset disk.dd

serve a fornire dati importanti sul file system presente sul dispositivo o file immagine del dispositivo in analisi, compreso un dato particolarmente interessante, ossia il block/cluster size.

ifind -f file_system -o offset -d numero_del_cluster disk.dd

serve a fornire l'i-node appartenente a quel determinato cluster. Il numero del cluster si ricava dall'offset decimale in bytes, che stiamo osservando, diviso la dimensione del cluster/blocco determinata da fsstat.
Se troviamo, per esempio, una stringa che inizia all'offset decimale 101345 in un file immagine DD, per ricavare l'i-node effettueremo 101345/dim_cluster.

ffind -f file_system -o offset disk.dd i-node

serve a fornire il nome del file corrispondente all'i-node.

istat -f file system -o offset disk.dd i-node

serve a fornire i metadati relativi al file corrsipondente a quell'i-node.

fls -d -r -p -f file_system -o offset disk.dd

serve a visualizzare i file cancellati, ricorsivamente in tutte le sottocartelle e col percorso completo (-p).

fls -a -l -p -r -f file_system -o offset disk.dd

lista tutti i files non cancellati.

icat -f file_system -o offset -r disk.dd i-node > nomefile.ext

Serve ad esportare il contenuto del file relativo all'i-node su file (nomefile.ext).

sigfind -t file_system disk.dd

Serve a cercare le "firme" che identificano i vari file system, -t list per visualizzare i vari file system supportati.

Altre informazioni preziose sono:
http://wiki.sleuthkit.org/index.php?title=FS_Analysis

The SleuthKit Manual:
http://wiki.sleuthkit.org/index.php?title=TSK_Tool_Overview

Esempio di come estrarre una stringa da uno spazio non allocato

Normalmente per cercare le stringhe utlizziamo la pipe di comandi:

strings -t d disk.dd | grep -i "abcd"
("-t d"  genera l'offset in decimale)

 che risulta essere più veloce del comando:

grep -iaob "abcd" disk.dd

-i ignora il maiuscolo/minuscolo;
-a tratta il file binario come se fosse testuale;
-b stampa il byte offset;
-o Mostra solo la parte di linea che coincide con la stringa cercata;

$ mmls disk.dd
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot        Start                     End                   Length             Description
00:  Meta    0000000000   0000000000   0000000001   Primary Tabl
01:  -----     0000000000    0000000062   0000000063   Unallocated
02:  00:00   0000000063   0174000014  0173999952  NTFS (0x07) 


Se vogliamo cercare le stringhe nello spazio non allocato di disk.dd e considerando che lo starting sector della partizione sia 63 e che il file system sia NTFS, allora:

1) Estraiamo lo spazio non allocato dal disco
blkls -f ntfs -o 63 disk.dd > disk.blkls

2) Estraiamo le stringhe e prendiamo solo quelle che contengono "abcdefg", dal solo spazio non allocato estratto da blkls (disk.blkls)
strings -t d disk.blkls | grep -i "abcdefg"
per esempio un risultato potrebbe essere: 10389739: abcdefg dove 10389739 è l'offset in bytes

3) Troviamo la dimensione del cluster impostata nel file system:
fsstat -f ntfs -o 63 disk.dd
<...>
CONTENT INFORMATION
----------------------------------
Sector Size: 512
Cluster Size: 1024
Total Cluster Range: 0 - 21749992
Total Sector Range: 0 - 173999950


4) Dividiamo 10389739 per 1024 ed otteniamo il numero 10146 che è il cluster che contiene la stringa "abcdefg", però nel file disk.blkls e non nel file immagine, quindi dobbiamo convertire l'indirizzo del cluster del file immagine disk.blkls in un indirizzo reale del file immagine originale, cioè disk.dd

5) blkcalc -f ntfs -o 63 -u 10146 disk.dd otteniamo 59382 che è l'indirizzo reale del cluster che contiene la stringa cercata.

6) Possiamo visualizzare il cluster usando il comando:
blkcat -f ntfs -o 63 disk.dd 59382 | less

7) Adesso cerchiamo l'i-node che ha un pointer al cluster 59382
ifind -f ntfs -o 63 -a -d 59382 disk.dd
che ci ritorna il numero 493-128-1 come risultato.

8) Reperiamo informazioni sui metadati che si riferiscono all'i-node 493:
istat -f ntfs -o 63 disk.dd 493
<...>
$FILE_NAME Attribute Values:
Flags: Archive
Name: pippo.jpg
Parent MFT Entry: 458   Sequence: 122
Allocated Size: 0       Actual Size: 0
Created:        Tue Mar 18 15:05:19 2008
File Modified:  Tue Mar 18 15:05:19 2008
MFT Modified:   Tue Mar 18 15:05:19 2008
Accessed:       Tue Mar 18 15:05:19 2008


9) Vediamo se c'è ancora un file associato all'i-node:
ffind -f ntfs -o 63 -a disk.dd 493
 /Document and Settings/spectra/Documenti/pippo.jpg
abbiamo trovato un file che si chiama pippo.jpg.

10) Recuperiamo il file pippo.jpg
icat -f ntfs -o 63 -r disk.dd 493 > pippo.jpg

Consideriamo che lo starting sector della partizione sia 63, che disk.dd sia NTFS, tramite il comando icat esportiamo il contenuto del file basandoci sul suo numero di i-node.

Spero che questo piccolo manualetto pratico sia utile a tutti quelli, che come me, cominciano ad avere l'had disk biologico sempre più full : - D

Nanni Bassetti

 
Di Admin (del 21/02/2009 @ 20:03:03, in Computer Forensics, linkato 4556 volte)

Oggi abbiamo rilasciato CAINE 0.5, la Linux live computer forensics distro, realizzata nell'Università di Modena,  nella figura del suo project manager Giancarlo Giustini e con tutto il Caine Team:

Giancarlo Giustini, Michele Colajanni, Giordano Lanzi, Nanni Bassetti e Denis Frati.

Le principali novità sono:
- WinTaylor, forensic frontend for Windows environment (interfaccia per live analysis da Windows)
- New boot option: text mode (boot anche in modalità testuale per le macchine più vecchie)
- Ubuntu 8.04 packages updated (tutti i pacchetti aggiornati)
- Firefox 3.0.6
- Multi-languages report (report semi-automatico in 5 lingue, Inglese, Francese, Portoghese, Tedesco ed Italiano)

Più altri tools non presenti nelle versioni precedenti.

SITO UFFICIALE ; - )

 
Pagine: 1 2 3 4 5 6 7 8 9 10 11
Ci sono 10 persone collegate

< aprile 2024 >
L
M
M
G
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
         
             

Cerca per parola chiave