Recuperar archivos borrados con Scalpel

2339615947_03edc44a01_b

image credits by Zhent_

Scalpel es de esas utilidades en GNU/Linux, al estilo de PhotoRec o Foremost, que nos permite recuperar los archivos que hemos borrado accidentalmente en nuestro equipo.

Scalpel (“bisturí”) como su nombre indica, nos permite diseccionar los archivos,  utilizando una técnica que se basa  en los encabezados, pies de página y estructura interna de los mismos, que le facilita acceder a la de la base de datos de bloques donde están los archivos borrados, identificarlos y recuperarlos casi al instante,lo que le convierte en una herramienta muy útil tanto para la investigación forense digital, como a la hora de restaurar nuestros datos.

Es una técnica conocida como File Carving (supongo que la traducción será “talla de archivo” o algo así!) que además tiene la ventaja de poder recuperar datos, independientemente del sistema de archivos utilizado: FAT, NFTS, EXT, HFS+ etc…pero mejor no nos enrollarnos con la teoría, vamos a ir al grano y lo primero que tenemos que hacer es…

Instalar Scalpel

En esta ocasión utilicé Lubuntu en vez de mi querida openSUSE, así que los que tengáis esta distro o similar, como son las derivadas de Debian, Ubuntu o la propia Linux Mint tan solo tenéis que hacer:

sudo apt-get install scalpel

Recuperando archivos

Después de instalarlo necesitamos editar el archivo de configuración (lo podéis encontrar en esta ruta /etc/scalpel/scalpel.conf),  y descomentar (quitar el símbolo #) las lineas correspondientes a las extensiones que nos interesa recuperar.

En mi caso voy a intentar recuperar unos archivos .jpg en mi pendrive, así que descomento la linea que corresponde a esa extensión.

scalpel_2.0.2_config

Ahora solo precisamos ejecutar el comando

sudo scalpel [nombre_partición/carpeta_a_recuperar] -o [directorio_de_salida]

En nuestro ejemplo sería algo así:

sudo scalpel dev/sdb1 -o prueba

Unos minutos después vemos que hemos recuperado unos cuantas fotos (más de 1000…)

scalpel_2.0.3_config

se nos crea un par de carpetas con los archivos recuperados y un log de salida

scalpel_2.0.4_finaly aquí tenéis las pruebas del delito XD

scalpel_2.0.5_final

Como véis una herramienta fantástica, que no es que haga milagros pero… casi, casi…

Image Credits | Gasmaskgirl ftw by Zhent_

18 thoughts on “Recuperar archivos borrados con Scalpel”

  1. victorhck says:

    Como siempre muy interesante!!

    1. tannhausser says:

      Gracias amigo!

  2. 4ng3l says:

    Descubrí Scalpel hace tiempo, por pura necesidad. Borré accidentalmente unos datos muy, pero que muy importantes de mi trabajo. Poco tiempo después recobré datos valiosos de un disco duro moribundo. Es el tipo de utilidad que típicamente usas una vez cada dos años, o puede que incluso menos (a no ser que seas especialmente torpe) pero que te alegras de tener a mano cuando las cosas se tuercen. Y ahora ya no salgo de casa sin ella. Buena nota

    Saludos ccordiales.

    1. tannhausser says:

      A mi no deja de sorprenderme lo rápido que va y lo bien que funciona! Porque esas fotos hacía más de un mes que las había borrado y desde aquella por ese pendrive USB pasaron un montón de pelis, series, PDFs etc…

      Saludos!

  3. Emiliano says:

    Genial! Sólo sabía de PhotoRec. Está bueno conocer alternativas. Dejo un link a este artículo en mi entrada “¿Dude dónde están mis fotos?”.

    Un saludo grande!!

    http://www.linuxito.com.ar/seguridad/174-dude-donde-estan-mis-fotos

    1. tannhausser says:

      Gracias por la mención! Muy bueno tu post por cierto!
      Un abrazo!

  4. brunoolaf says:

    Hola. He intentado utilizar scalpel en openSUSE 13.1 gnome, lo instalé utilizando el buscador de software de openSUSE, supuestamente se realizó de manera correcta la instalación, pero en /etc no se creó la carpeta sclapel ni puedo encontrar el archivo scalpel.conf Y cuando intento utilizar scalpel me aparece el siguiente mensaje:

    Scalpel version 2.0
    Written by Golden G. Richard III and Lodovico Marziale.
    ERROR: Couldn’t open configuration file:
    scalpel.conf — No such file or directory
    Scalpel was unable to read a needed file and will abort.

    ¿Tienen alguna idea de en qué me habré equivocado o cómo lo puedo reparar?

    Agradeceré mucho cualquier apoyo.
    Saludos

    1. tannhausser says:

      Tuve el mismo problema, en openSUSE se crea el archivo de configuración (más bien un ej. de archivo de configuración) en un directorio diferente.
      Fui incapaz de hacerlo funcionar, incluso intenté crear de forma manual el archivo en /etc pero me daba el mismo error.
      Al final me cansé e hice el tuto en Lubuntu…

      1. brunoolaf says:

        Pues parece que será difícil o imposible hacerlo funcionar. Buscaré algún otro programa que funcione en openSUSE

  5. geronimo says:

    Se ve bien ,,, no me acuerdo si era tesdisk el que probe una vez “menudo lio” ,, algo como recuva no estaria mal ,,,
    Buen tema , Saludos

    1. tannhausser says:

      Hay que tirar un poco de terminal pero tan complicado no es…hace tiempo hice un post sobre photorec, un programa de recuperación de datos que se suele distribuir con testdisk
      http://lamiradadelreplicante.com/2011/08/22/photorec-recuperar-archivos-borrados/

  6. pcfenix says:

    y uno que te recupere aparte de fotos archivos de libreoffice videos y otros cuando se formatea saludos a la espera.

    1. tannhausser says:

      Hoy vi una referencia a uno nuevo que hace eso, a ver si lo puedo probar el fin de semana, si funciona bien, prometo post 🙂

  7. jmartintin says:

    Hola, quiero recuperar unos archivos con extension .aac de audio de una tarjeta de memoria, pero no esta esta extension dentro del archivo de configuracion, probe de agregarlo a mano, pero no se que parametros deberia agregarle luego de nombrar la extension, quizas si alguien pudiera explicar que significan los parametros que figuran luego de las extensiones en el archivo scalpel.conf, gracias

    1. Kros says:

      Yo creo que esto te ayudará, aunque está en inglés.
      Saludos.

  8. Kros says:

    Hola.
    Gracias por el tutorial y las explicaciones.
    A ver si podrías ayudarme, en mi caso quiero recuperar archivos con extensiones: .sii y .cfg
    El caso es que no se que poner en el scalpel.conf. Lo he probado así:
    sii y 100000
    cfg y 100000

    pero me pide los demás datos (que deben ir despues) pero claro, no se que poner ahí. Si tuvierar una ligera idea…

    Saludos y gracias.

    1. Kros says:

      Me respondo a mi mismo:
      Despues de leer este artíiculo: http://www.linux-magazine.com/Online/Features/Recovering-Deleted-Files-with-Scalpel

      He comprobado los headers con otros archivos .sii y luego .cfg y todos empiezan por los mismos encabezados en hexadecimal:

      kros@debian:~$ hexdump -C -n 20 ‘/home/kros/ets2/profiles/6B75736572/config.cfg’
      00000000 23 20 70 72 69 73 6d 33 64 20 76 61 72 69 61 62 |# prism3d variab|
      00000010 6c 65 20 63 |le c|
      00000014
      kros@debian:~$ hexdump -C -n 20 /home/kros/ets2/config.cfg
      00000000 23 20 70 72 69 73 6d 33 64 20 76 61 72 69 61 62 |# prism3d variab|
      00000010 6c 65 20 63 |le c|
      00000014
      kros@debian:~$ hexdump -C -n 20 /home/kros/ets2/mods_info.sii
      00000000 53 69 69 4e 75 6e 69 74 0d 0a 7b 0d 0a 6d 6f 64 |SiiNunit..{..mod|
      00000010 73 5f 69 6e |s_in|
      00000014
      kros@debian:~$ hexdump -C -n 20 /home/kros/ets2/news.sii
      00000000 53 69 69 4e 75 6e 69 74 0d 0a 7b 0d 0a 7d 0d 0a |SiiNunit..{..}..|
      00000010

      Con lo que mi scalpel.conf quedará así:

      cfg y 100000 \x23\x20\x70\x72\x69\x73\x6d\x33\x64\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x20\x63
      sii y 100000 \x53\x69\x69\x4e\x75\x6e\x69\x74\x0d\x0a\x7b\x0d\x0a

      100000 porque en mi caso estos archivos no exceden de 100 KB

      Ya os diré si funciona que estoy en ello y dice que demorará un poco.

      Saludos.

Deja un comentario