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 : Articolo
The Sleuthkit - mini guida veloce
Di Admin (del 06/03/2009 @ 18:46:58, in Computer Forensics, linkato 8979 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

Articolo Articolo  Storico Storico Stampa Stampa
Ci sono 144 persone collegate

< marzo 2025 >
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
31
           

Cerca per parola chiave
 

Titolo
Annunci (68)
CHI SONO (4)
Computer Forensics (108)
SICUREZZA INFORMATICA (7)
TuttoStorto (16)

Catalogati per mese:
Marzo 2018
Aprile 2018
Maggio 2018
Giugno 2018
Luglio 2018
Agosto 2018
Settembre 2018
Ottobre 2018
Novembre 2018
Dicembre 2018
Gennaio 2019
Febbraio 2019
Marzo 2019
Aprile 2019
Maggio 2019
Giugno 2019
Luglio 2019
Agosto 2019
Settembre 2019
Ottobre 2019
Novembre 2019
Dicembre 2019
Gennaio 2020
Febbraio 2020
Marzo 2020
Aprile 2020
Maggio 2020
Giugno 2020
Luglio 2020
Agosto 2020
Settembre 2020
Ottobre 2020
Novembre 2020
Dicembre 2020
Gennaio 2021
Febbraio 2021
Marzo 2021
Aprile 2021
Maggio 2021
Giugno 2021
Luglio 2021
Agosto 2021
Settembre 2021
Ottobre 2021
Novembre 2021
Dicembre 2021
Gennaio 2022
Febbraio 2022
Marzo 2022
Aprile 2022
Maggio 2022
Giugno 2022
Luglio 2022
Agosto 2022
Settembre 2022
Ottobre 2022
Novembre 2022
Dicembre 2022
Gennaio 2023
Febbraio 2023
Marzo 2023
Aprile 2023
Maggio 2023
Giugno 2023
Luglio 2023
Agosto 2023
Settembre 2023
Ottobre 2023
Novembre 2023
Dicembre 2023
Gennaio 2024
Febbraio 2024
Marzo 2024
Aprile 2024
Maggio 2024
Giugno 2024
Luglio 2024
Agosto 2024
Settembre 2024
Ottobre 2024
Novembre 2024
Dicembre 2024
Gennaio 2025
Febbraio 2025
Marzo 2025

Gli interventi pił cliccati






22/03/2025 @ 17:24:41
script eseguito in 30 ms