
Uno strumento per la ricostruzione forense del file system.
Un software che tenta di ricostruire le strutture del filesystem e recuperare file. Attualmente supporta solo NTFS.
RecuperaBit tenta la ricostruzione della struttura delle directory indipendentemente da:
Puoi ottenere maggiori informazioni sugli algoritmi di ricostruzione e sull'architettura utilizzata in RecuperaBit leggendo la mia tesi di laurea magistrale o consultando le slide.
Puoi installare RecuperaBit usando Pip:
pip install recuperabit
Oppure come strumento con uv:
uv tool install recuperabit
usage: recuperabit [-h] [-s SAVEFILE] [-w] [-o OUTPUTDIR] path
Reconstruct the directory structure of possibly damaged filesystems.
positional arguments:
path path to the disk image
optional arguments:
-h, --help show this help message and exit
-s SAVEFILE, --savefile SAVEFILE
path of the scan save file
-w, --overwrite force overwrite of the save file
-o OUTPUTDIR, --outputdir OUTPUTDIR
directory for restored contents and output files
L'argomento principale è il percorso di un'immagine bitstream di un disco o partizione. RecuperaBit determina automaticamente i settori da cui iniziano le partizioni.
RecuperaBit non modifica l'immagine del disco, tuttavia legge alcune parti di essa più volte durante l'esecuzione. Dovrebbe funzionare anche su dispositivi reali, come /dev/sda ma non è consigliato per unità danneggiate. RecuperaBit potrebbe peggiorare la situazione "stressando" un'unità danneggiata o potrebbe bloccarsi a causa di un errore di I/O.
Opzionalmente, è possibile specificare un file di salvataggio con -s. La prima volta, dopo il processo di scansione, i risultati vengono salvati nel file. Dopo la prima esecuzione, il file viene letto per analizzare solo i settori interessanti e velocizzare la fase di caricamento.
La sovrascrittura del file di salvataggio può essere forzata con -w.
RecuperaBit include una piccola riga di comando che permette all'utente di recuperare file ed esportare i contenuti di una partizione in formato CSV o body file. Questi vengono esportati nella directory specificata con -o (o recuperabit_output).
Attualmente RecuperaBit non funziona con file compressi su un filesystem NTFS. Se hai una conoscenza approfondita del funzionamento interno della compressione dei file su filesystem NTFS, il tuo aiuto sarebbe molto apprezzato, poiché la documentazione disponibile è piuttosto scarsa sull'argomento.
RecuperaBit può essere eseguito con l'implementazione standard cPython, tuttavia la velocità può essere aumentata utilizzandolo con l'interprete Pypy e il compilatore JIT:
pypy3 main.py /path/to/disk.img
I file possono essere ripristinati uno alla volta o ricorsivamente, a partire da una directory. Una volta completato il processo di scansione, puoi controllare l'elenco delle partizioni che possono essere recuperate eseguendo il seguente comando al prompt:
recoverable
Ogni riga mostra informazioni su una partizione. Consideriamo il seguente esempio di output:
Partition #0 -> Partition (NTFS, 15.00 MB, 11 files, Recoverable, Offset: 2048, Offset (b): 1048576, Sec/Clus: 8, MFT offset: 2080, MFT mirror offset: 17400)
Se desideri recuperare file a partire da una directory specifica, puoi stampare l'albero a schermo con il comando tree (molto verboso per unità di grandi dimensioni) oppure esportare un elenco CSV di file (vedi help per dettagli).
Se invece vuoi estrarre tutti i file dai nodi Root e Lost Files, devi conoscere l'identificatore per la directory root, a seconda del tipo di filesystem. I seguenti sono quelli dei filesystem supportati da RecuperaBit:
| Tipo di filesystem | ID root |
|---|---|
| NTFS | 5 |
L'ID per Lost Files è -1 per ogni filesystem.
Pertanto, per ripristinare Partition #0 nel nostro esempio, devi eseguire:
restore 0 5
restore 0 -1
I file verranno salvati nella directory di output specificata con -o.
Questo software è rilasciato sotto GNU GPLv3. Vedi LICENSE per maggiori dettagli.