Recuperar archivos eliminados
Publicado por ludwin el Julio 10 2009 14:27:36
A petición de una compañera de trabajo, que me preguntaba sobre como recuperar archivos de una memoria o disco duro formateado, me decidi a realizar este tutorial que espero le sea de ayuda a muchos.
Muchos nos ha sucedido, que hemos formateado una memoria usb o un disco duro, y sin querer eliminamos archivos importantes, pues bien en el mundo de linux también podemos recuperar archivos eliminados de una memoria o disco duro formateado. Los resultados dependerán del tipo de formato que se le de a la unidad de almacenamiento así serán los resultados, ya que los tipos de formatos que se le pueden dar aun dispositivo pueden ser formatos rápidos, completo a bajo nivel o llenar de 0 toda la tabla de dicha unidad, por eso es recomendable hacerlo con los dos tipos de antes mencionados que serian el rápido y el completo , el formato realizado a bajo nivel es casi imposible recuperar algún tipo de información de el ya que a ese formato se llena de 0 y todo su contenido desaparece definitivamente. pero ya dejemos de tanta teoría y manos a la obra, lo que necesitamos es una pc con linux , con la distro debian o los derivados del mismo.
comenzamos:
primeramente instalamos la aplicación que nos ayudara a recuperar nuestros archivos de nombre Scalpel
pero que es scalpel
Scalpel utiliza una técnica llamada In-Place File Carving. El File Carving es una conocida técnica para recuperar archivos borrados que consiste en identificar una secuencia de caracteres que algunos archivos utilizan en su comienzo y en su final. Por ejemplo, un archivo JPEG utiliza la secuencia “\xff\xd8\xff\xe0\x00\x10″ en su comienzo, y la secuencia “\xff\xd9″ en su final.
entramos al terminal y lo instalamos de la siguiente manera
apt-get install scalpel
procedemos a verificar como el sistema reconoce nuestra unidad ya sea externo o interno, esto lo hacemos con el siguiente comando....
Noticia ampliada
fdisk -l
en mi caso se muestra lo siguiente
Disco /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x37713770
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1912 15358108+ 7 HPFS/NTFS
/dev/sda2 1913 7260 42957810 f W95 Ext'd (LBA)
/dev/sda3 7261 9729 19832242+ 83 Linux
/dev/sda5 1913 7011 40957686 7 HPFS/NTFS
/dev/sda6 7012 7260 2000061 82 Linux swap / Solaris
Disco /dev/sdb: 257 MB, 257949696 bytes
255 heads, 63 sectors/track, 31 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7bd77bd7
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 31 248976 b W95 FAT32
Una ves terminada la lectura podemos observar que nuestra memoria formateada fue reconocida como /dev/sdb1/
procedemos al siguiente paso, como ya tenemos instalado scalpel nos hace falta configurarlo para decirle que tipos de archivo debe recuperar esto lo podemos especificar en el archivo de configuración de scalpel, se encuentra en el directorio /etc/scalpel/scalpel.conf
procedemos a configurarlo de la siguiente manera con el comando }
gedit /etc/scalpel/scalpel.conf
en este archivo encontraremos lineas comentadas con # solo basta con quitar el signo al inicio de la linea guardamos y listo. pero que lineas nos interesa de ese archivo, serán todas las lineas relacionadas con las exenciones de los archivos que queremos recuperar ejemplo archivos pdf o imagenes. el contendido se muestra de la siguiente manera si nos movemos hasta la linea 84 encontraremos todo lo relacionado con las imágenes.
ejemplo de archivo
solo necesitamos quitar el signo # guardar y listo
# GIF and JPG files (very common)
# gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b
# gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b
# jpg y 200000000 \xff\xd8\xff\xe0\x00\x10 \xff\xd9
#
#
# PNG
# png y 20000000 \x50\x4e\x47? \xff\xfc\xfd\xfe
#
quedando así:
GIF and JPG files (very common)
gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b
gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b
jpg y 200000000 \xff\xd8\xff\xe0\x00\x10 \xff\xd9
#
#
PNG
png y 20000000 \x50\x4e\x47? \xff\xfc\xfd\xfe
#
guardamos y listo, y así sucesivamente buscamos las lineas que nos interesen dependiendo de la extensión de los archivos. Una ves configurado procedemos a crear un directorio donde guardaremos los archivos rescatados, despues procedemos a analizar la memoria de la siguiente forma.
scalpel /dev/sdb1 -o /home/ludwin/Recovery
en este caso ese es mi usuario y mi directorio, para cada usuario sera diferente pero el comando scalpel no cambia solo lo demás, coloco pantallazo de como analiza el dispositivo.
después de a ver analizado la memoria nos movemos al directorio que creamos para almacenar lo que scalpel recuperara

en este directorio se crean varias carpetas donde dentro de ellas se encuentran los archivos recuperados por su extensión ejemplo seleccionaremos los recuperados en formato pdf , entramos a la carpeta de nombre pdf-7-0
y nos muestra los siguientes archivos que fueron recuperados

y eso seria todo espero les sirva de ayuda. hasta la próxima