RecuperaBit v1.1.6 releases: A tool for forensic file system reconstruction
RecuperaBit
A software which attempts to reconstruct file system structures and recover files. Currently, it supports only NTFS.
RecuperaBit attempts the reconstruction of the directory structure regardless of:
- missing partition table
- unknown partition boundaries
- partially-overwritten metadata
- quick format
You can get more information about the reconstruction algorithms and the architecture used in RecuperaBit by reading my MSc thesis or checking out the slides.
Changelog v1.1.8
This release deals with issues in timestamp conversions when the data is corrupted, see #84, #86 and #88.
It also removes Docker support (#83) and it fixes padding with zeros (#90).
Download
git clone https://github.com/Lazza/RecuperaBit.git
Usage
The main argument is the path
to a bitstream image of a disk or partition. RecuperaBit automatically determines the sectors from which partitions start.
RecuperaBit does not modify the disk image, however, it does read some parts of it multiple times through the execution. It should also work on real devices, such as /dev/sda
but this is not advised for damaged drives. RecuperaBit might worsen the situation by “stressing” a damaged drive or it could crash due to an I/O error.
Optionally, a save file can be specified with -s
. The first time, after the scanning process, results are saved in the file. After the first run, the file is read to only analyze interesting sectors and speed up the loading phase.
Overwriting the save file can be forced with -w
.
RecuperaBit includes a small command-line that allows the user to recover files and export the contents of a partition in CSV or body file format. These are exported in the directory specified by -o
(or recuperabit_output
).
Pypy
RecuperaBit can be run with the standard CPython implementation, however, speed can be increased by using it with the Pypy interpreter and JIT compiler:
pypy main.py /path/to/disk.img
Recovery of File Contents
Files can be restored one at a time or recursively, starting from a directory. After the scanning process has completed, you can check the list of partitions that can be recovered by issuing the following command at the prompt:
recoverable
Each line shows information about a partition. Let’s consider the following output example:
If you want to recover files starting from a specific directory, you can either print the tree on screen with the tree
command (very verbose for large drives) or you can export a CSV list of files (see help
for details).
If you rather want to extract all files from the Root and the Lost Files nodes, you need to know the identifier for the root directory, depending on the file system type. The following are those of file systems supported by RecuperaBit:
File System Type | Root Id |
---|---|
NTFS | 5 |
The id for Lost Files is -1 for every file system.
Therefore, to restore Partition #0
in our example, you need to run:
The files will be saved inside the output directory specified by -o
.
Copyright (C) 2016 Lazza
Source: https://github.com/Lazza/