
Ein Werkzeug zur forensischen Dateisystemrekonstruktion.
Eine Software, die versucht, Dateisystemstrukturen zu rekonstruieren und Dateien wiederherzustellen. Derzeit wird nur NTFS unterstützt.
RecuperaBit versucht die Verzeichnisstruktur unabhängig von folgenden Gegebenheiten zu rekonstruieren:
Weitere Informationen zu den Rekonstruktionsalgorithmen und der Architektur von RecuperaBit erhalten Sie durch die Lektüre meiner Masterarbeit oder durch einen Blick auf die Folien.
Sie können RecuperaBit mit Pip installieren:
pip install recuperabit
Oder als Werkzeug mit 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
Das Hauptargument ist der path zu einem Bitstrom-Abbild einer Festplatte oder Partition. RecuperaBit ermittelt automatisch die Sektoren, von denen Partitionen starten.
RecuperaBit verändert das Datenträgerabbild nicht, liest jedoch einige Teile davon während der Ausführung mehrfach. Es sollte auch auf realen Geräten wie /dev/sda funktionieren, aber davon wird bei beschädigten Laufwerken abgeraten. RecuperaBit könnte die Situation durch „Stress“ für ein beschädigtes Laufwerk verschlimmern oder aufgrund eines E/A-Fehlers abstürzen.
Optional kann mit -s eine Sicherungsdatei angegeben werden. Beim ersten Mal werden die Ergebnisse nach dem Scanvorgang in der Datei gespeichert. Nach dem ersten Durchlauf wird die Datei gelesen, um nur interessante Sektoren zu analysieren und die Ladezeit zu verkürzen.
Das Überschreiben der Sicherungsdatei kann mit -w erzwungen werden.
RecuperaBit enthält eine kleine Befehlszeile, mit der der Benutzer Dateien wiederherstellen und den Inhalt einer Partition im CSV- oder Body-Datei-Format exportieren kann. Diese werden in dem mit -o angegebenen Verzeichnis (oder recuperabit_output) exportiert.
Derzeit funktioniert RecuperaBit nicht mit komprimierten Dateien auf einem NTFS-Dateisystem. Wenn Sie fundierte Kenntnisse über die interne Funktionsweise der Dateikomprimierung unter NTFS haben, wäre Ihre Hilfe sehr willkommen, da die verfügbare Dokumentation zu diesem Thema recht spärlich ist.
RecuperaBit kann mit der standardmäßigen cPython-Implementierung ausgeführt werden, jedoch kann die Geschwindigkeit durch die Verwendung des Pypy-Interpreters und des JIT-Compilers erhöht werden:
pypy3 main.py /path/to/disk.img
Dateien können einzeln oder rekursiv, beginnend mit einem Verzeichnis, wiederhergestellt werden. Nachdem der Scanvorgang abgeschlossen ist, können Sie die Liste der wiederherstellbaren Partitionen überprüfen, indem Sie den folgenden Befehl an der Eingabeaufforderung eingeben:
recoverable
Jede Zeile zeigt Informationen über eine Partition. Betrachten wir das folgende Ausgabebeispiel:
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)
Wenn Sie Dateien ab einem bestimmten Verzeichnis wiederherstellen möchten, können Sie entweder den Verzeichnisbaum mit dem Befehl tree auf dem Bildschirm anzeigen (sehr ausführlich bei großen Laufwerken) oder eine CSV-Liste der Dateien exportieren (siehe help für Details).
Wenn Sie stattdessen alle Dateien aus den Knoten Stammverzeichnis und Verlorene Dateien extrahieren möchten, müssen Sie die Kennung des Stammverzeichnisses kennen, die vom Dateisystemtyp abhängt. Im Folgenden sind die Kennungen der von RecuperaBit unterstützten Dateisysteme aufgeführt:
| Dateisystemtyp | Stamm-ID |
|---|---|
| NTFS | 5 |
Die Kennung für Verlorene Dateien ist -1 für jedes Dateisystem.
Um in unserem Beispiel Partition #0 wiederherzustellen, müssen Sie daher Folgendes ausführen:
restore 0 5
restore 0 -1
Die Dateien werden im mit -o angegebenen Ausgabeverzeichnis gespeichert.
Diese Software wird unter der GNU GPLv3 veröffentlicht. Weitere Details finden Sie in LICENSE.