
Una herramienta para la reconstrucción forense de sistemas de archivos.
Un software que intenta reconstruir estructuras de sistemas de archivos y recuperar archivos. Actualmente solo soporta NTFS.
RecuperaBit intenta la reconstrucción de la estructura de directorios independientemente de:
Puede obtener más información sobre los algoritmos de reconstrucción y la arquitectura utilizada en RecuperaBit leyendo mi tesis de maestría o consultando las diapositivas.
Puede instalar RecuperaBit usando Pip:
pip install recuperabit
O como herramienta 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
El argumento principal es la ruta a una imagen de flujo de bits de un disco o partición.
RecuperaBit determina automáticamente los sectores desde los que comienzan las particiones.
RecuperaBit no modifica la imagen de disco, aunque lee algunas partes de
ella varias veces durante la ejecución. También debería funcionar en dispositivos reales,
como /dev/sda pero esto no es recomendable para discos dañados. RecuperaBit
podría empeorar la situación al "estresar" un disco dañado o podría fallar debido
a un error de E/S.
Opcionalmente, se puede especificar un archivo de guardado con -s. La primera vez, después del
proceso de escaneo, los resultados se guardan en el archivo. Después de la primera ejecución, el archivo
se lee para analizar solo los sectores interesantes y acelerar la fase de carga.
Se puede forzar la sobrescritura del archivo de guardado con -w.
RecuperaBit incluye una pequeña línea de comandos que permite al usuario recuperar archivos
y exportar los contenidos de una partición en formato CSV o
body file. Estos se exportan
en el directorio especificado por -o (o recuperabit_output).
Actualmente RecuperaBit no funciona con archivos comprimidos en un sistema de archivos NTFS. Si tiene un conocimiento profundo del funcionamiento interno de la compresión de archivos en sistemas de archivos NTFS, su ayuda sería muy apreciada, ya que la documentación disponible es bastante escasa sobre el tema.
RecuperaBit puede ejecutarse con la implementación estándar de cPython, sin embargo la velocidad se puede aumentar usando el intérprete Pypy y el compilador JIT:
pypy3 main.py /path/to/disk.img
Los archivos se pueden restaurar uno a la vez o de forma recursiva, comenzando desde un directorio. Después de que el proceso de escaneo haya finalizado, puede verificar la lista de particiones que se pueden recuperar emitiendo el siguiente comando en el indicador:
recoverable
Cada línea muestra información sobre una partición. Consideremos el siguiente ejemplo de salida:
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)
Si desea recuperar archivos comenzando desde un directorio específico, puede imprimir
el árbol en pantalla con el comando tree (muy verboso para discos grandes)
o puede exportar una lista CSV de archivos (consulte help para más detalles).
Si prefiere extraer todos los archivos de los nodos Raíz y Archivos Perdidos, necesita conocer el identificador del directorio raíz, dependiendo del tipo de sistema de archivos. Los siguientes son los de los sistemas de archivos soportados por RecuperaBit:
| Tipo de sistema de archivos | Id raíz |
|---|---|
| NTFS | 5 |
El id para Archivos Perdidos es -1 para cada sistema de archivos.
Por lo tanto, para restaurar Partition #0 en nuestro ejemplo, necesita ejecutar:
restore 0 5
restore 0 -1
Los archivos se guardarán dentro del directorio de salida especificado por -o.
Este software se publica bajo GNU GPLv3. Consulte LICENSE para más detalles.