Cómo recuperar información borrada (escarbado forense)

Le ha pasado alguna vez que borró información por accidente y no se dio cuenta hasta después de haber vaciado la papelera? Quizás un colaborador descontento de su empresa se fue llevándose más que la grapadora? O una falla eléctrica provocó que se borre información de su disco?

Si este es su caso no está solo, miles de personas a diario experimentan pérdidas de información ya sea de forma accidental o debido a la acción de un tercero malicioso. Por supuesto que tener compañía no lo hace mejor.

Pero entonces hay algo que se pueda hacer al respecto? Es posible recuperar la información borrada? La respuesta es un rotundo… depende 😉

Si luego de que se borró la información ha pasado un lapso corto y no se ha sobrescrito el disco con mucha información, es probable que se pueda recuperar en su totalidad los datos que se borraron. Sin embargo, si ha pasado mucho tiempo desde el evento y han ocurrido múltiples escrituras en el disco afectado, es probable que se logre recuperar sólo parte de la información. No obstante, le puedo comentar que ha habido casos en los que hemos logrado recuperar información inclusive de discos formateados varias veces. Así que a no perder la esperanza y a empezar la recuperación lo antes posible, mientras más pronto mejor!

A continuación veremos paso a paso cómo recuperar información borrada de nuestro PC. Empecemos con el software necesario.

HERRAMIENTAS DE RECUPERACIÓN DE DATOS

Existen diversas herramientas de recuperación de datos disponibles en el mercado tanto con licencia comercial como de código abierto y para múltiples plataformas (Windows, Linux, Mac OS, etc.).

Veamos rápidamente algunas de ellas.

Para Windows:

Estas utilidades son muy fáciles de usar, pero dado que requieren instalarse en Windows antes de poder usarlas, lo ideal es que estén previamente instaladas, es decir como herramientas de prevención antes de que ocurra un evento; porque de lo contrario cualquier proceso de instalación de software sobrescribe el disco y podría para nuestra mala suerte coincidir justo con los sectores en donde se halla la información que deseamos recuperar y por ende sobrescribirla.

  • Recuva, viene en dos versiones: Recuva Free y Recuva Professional. Es una herramienta gráfica de manejo sencillo, incluye wizards para el proceso de recuperación el cual se puede hacer con apenas unos cuantos clicks y algo interesante es que también incluye opciones para realizar borrado seguro de archivos (borrado anti-forense).
  • Wise Data Recovery, es una herramienta gratuita desarrollada por la empresa WiseCleaner. Tiene una interfaz sumamente amigable y la recuperación de datos es sencilla de realizar. Su especialidad es la recuperación de fotos, pero eso no impide que recupere otro tipo de datos.
  • Pandora Recovery, también gratuita con una interfaz bastante simple. Incluye opciones avanzadas como la capacidad de explorar los archivos borrados en sus carpetas originales (si es que éstas fueron borradas también), capacidad de búsqueda por términos ingresados por el usuario y filtrado por tipo de archivo.

De lo anterior vale la pena apartar:

  • OSForensics (Bootable Edition), esta es una herramienta profesional utilizada para realizar auditorías forenses, por lo cual la capacidad de recuperar información borrada es apenas una de las muchas opciones con las que cuenta. Me pareció importante incluirla y colocarla aparte, porque dado que existe una versión booteable (es decir, que puede ejecutarse desde un pendrive) no es necesario instalarla para que pueda ejecutarse, evitando así la posibilidad de corromper sectores que podrían contener información importante en aquellos casos en los que no se tomó la previsión de instalar una herramienta de recuperación de datos previo al evento. Vale acotar además que existe una versión gratuita de OSForensics que tiene muchas valiosas características, pero que requiere instalarse para ejecutarse.

Para Linux:

  • TestDisk y PhotoRec, estas herramientas no sólo funcionan en Linux, también están disponibles para Windows y Mac OS. Sin embargo las menciono bajo Linux por su capacidad de recuperar sistemas de archivos con formato EXT2, EXT3 y EXT4.
  • ddrescue o gddrescue, es una herramienta que funciona desde la línea de comandos (CLI) y que como el original dd, permite realizar copias idénticas (bloque-a-bloque) de un disco completo o partición, para luego a través del uso de otra herramienta extraer la información contenida en los sectores borrados de la copia obtenida (a esta copia se la denomina imagen forense). Lo que hace diferente a ddrescue de dd, es que si encuentra problemas de lectura en el disco o partición original, ya sea a errores lógicos o físicos, ddrescue hará su mejor esfuerzo por copiar la información contenida en dichos sectores y luego seguirá copiando el resto de datos sin detenerse.
  • foremost, es otra herramienta en línea de comandos para recuperación de datos que funciona bajo Linux. Se le pasa como parámetro el dispositivo en donde se encuentra la información que se desea recuperar. Esto hace a foremost muy útil cuando se efectúan auditorías forenses, por cuanto permite que usemos como parámetro la ruta a una copia del disco o partición, es decir que podemos recuperar datos borrados desde una imagen forense sin tocar la evidencia original. Dado que la imagen forense obtenida puede ser de un PC con Windows, Linux, Mac, etc., esto hace a foremost una herramienta muy versátil.

De igual modo vale destacar de lo demás a dos suites forenses que funcionan bajo Linux:

  • Autopsy, herramienta opensource que incluye una interfaz gráfica sencilla y fácil de utilizar que puede accederse desde un navegador. Es un frontend para la popular suite de comandos forenses Sleuth Kit.
  • DFF (Digital Forensic Framework), otra suite forense para Linux muy poderosa que incluye una interfaz gráfica muy amigable y que me recuerda un poco a la interfaz de la suite profesional En-Case.

RECUPERACIÓN DE DATOS EN ACCIÓN

Recuperar unos cuantos archivos borrados desde Windows con ayuda de las herramientas presentadas previamente es tan fácil como hacer click->next; sin embargo, cuando nuestro computador no puede arrancar, el escenario es diferente. El dilema es el mismo si nuestro ambiente es Windows, Linux, Mac o Unix.

Si el daño es a nivel del sistema operativo, por ejemplo: un cierre inesperado que corrompió el sector de arranque o borró archivos claves necesarios para el inicio, usualmente el mismo sistema al arrancar nos va a mostrar un mensaje al respecto y nos va a ofrecer opciones de reparación; en este caso podemos estar tranquilos de que aun cuando sea necesario reparar el sistema operativo, nuestros datos están a salvo.

En el escenario previo, la recuperación de datos puede ser tan fácil como bootear desde un Live CD de Linux, conectar un disco externo USB y copiar los datos desde el disco interno al externo, todo desde la interfaz gráfica con apenas unos cuantos clicks del mouse. Otra opción, si no contamos con un Live CD, es apagar el computador, abrirlo cuidadosamente, extraer el disco interno, colocarlo en una carcaza (enclosure) y conectarlo a otro computador para copiar nuestros datos.

Lamentablemente, puede darse el caso de que al tratar de visualizar el contenido del disco nos topemos con que aparentemente no tiene datos, es decir que esté borrado totalmente o que parte de nuestras carpetas y archivos hayan “desaparecido”. Esto puede suceder cuando ocurren fallos eléctricos o bien, debido a malware.

En estos casos extremos el procedimiento de recuperación recomendado es obtener una imagen forense del disco afectado y realizar un procedimiento de recuperación forense de datos, punto que explicaremos paso a paso a continuación.

No obstante, hay una última posibilidad – para nada agradable – y es que nuestro disco duro tenga algún fallo físico. En este caso aún hay esperanza, pero hay un alto costo asociado – y no lo digo por el valor monetario de la reparación física del disco – sino por el tiempo que toma hacer esta reparación. Dependiendo del tipo de daño físico y de si el modelo del disco cuenta con repuestos disponibles, una reparación física puede tomar entre unos pocos días hasta varios meses. En mi empresa –
Consutling Systems – hemos tenido casos en los que ha tomado hasta 60 días conseguir un repuesto de un modelo de disco viejo, empero cuando los datos lo valen pues bien se justifica la espera. Por ello mi recomendación es siempre “prevenir antes que lamentar”, traducción: RESPALDE FRECUENTEMENTE SUS DATOS!!

OBTENIENDO UNA COPIA IDÉNTICA DE UN DISCO O PARTICIÓN: OBTENCIÓN DE IMAGEN FORENSE BLOQUE-A-BLOQUE

Este procedimiento se puede efectuar de forma más eficiente utilizando un dispositivo de hardware profesional denominado write-blocker (bloqueador de escritura), sin embargo considero que esta inversión sólo se justifica cuando somos auditores forenses.

Para quienes hacer copias forenses de discos no es el pan de cada día, pues bien se puede realizar el procedimiento usando un Live CD de una distribución Unix/Linux.

Cualquier distribución Linux de Seguridad Informática es un buen candidato, a mí me gustan: Caine, BackBox y Kali.

Una vez descargado el instalador, deberemos grabarlo en un medio booteable. Cabe indicar que el equipo del cual vamos a efectuar la copia bloque-a-bloque, deberá poder arrancar desde dicho medio (CD, DVD o pendrive).

Para este laboratorio hemos escogido CAINE Linux para bootear desde él y nuestra máquina de prueba – de la cual obtendremos una imagen forense – es un equipo con Windows 7 instalado.

Aquí tienen una captura de pantalla del menú de booteo de nuestro equipo de prueba (al cual ingresamos con la tecla ESC en este caso particular) en la que se muestra que hemos seleccionado como medio de booteo la unidad de CDROM:

Y a continuación escogemos bootear con la opción Boot Live System:

Dado que CAINE es una distribución Linux especializada en cómputo forense, ninguna unidad de disco interna o externa se monta automáticamente en el sistema, es necesario hacerlo de forma manual. La razón detrás de esto, es que si nuestro objetivo es realizar una copia forense de un disco, no se actualice el tiempo de acceso ni se sobrescriba el disco de forma accidental, preservando así la evidencia original intacta.

Una vez que CAINE ha iniciado, abrimos un terminal (doble click en el ícono “Root terminal” ubicado en el escritorio). Acto seguido ejecutamos el comando “fdisk -l“. Este comando nos permite listar todos los discos conectados al sistema.

Como se observa en la figura previa, fdisk ha identificado un solo disco bajo el nombre /dev/sda. Este disco es el interno del PC, es decir aquel afectado por la falla y que queremos copiar. Ahora procederemos a conectar el disco externo que usaremos para guardar la imagen forense bloque-a-bloque de nuestro disco interno. Ejecutamos nuevamente “fdisk -l” y vemos cómo fue identificado el disco externo, en este ejemplo asumimos que el disco externo ha sido identificado como /dev/sdb y que el mismo contiene una partición llamada /dev/sdb1 y cuyo formato es NTFS. Procederemos a montar esta partición en el directorio vacío /mnt con el comando “mount /dev/sdb1 /mnt“.

Ahora realizaremos la copia forense, esto puede hacerse fácilmente con dd o con ddrescue si hay algún problema de lectura de bloques.

La sintaxis del comando dd es la siguiente:

dd if=[origen] of=[destino] bs=[tamaño_bloque]

En nuestro caso particular, el comando a ejecutar será “dd if=/dev/sda of=/mnt/sda.dd bs=65536 conv=noerror,sync &“. Es decir que crearemos una copia forense de nuestro disco interno /dev/sda y a la copia la llamaremos sda.dd y la ubicaremos en el directorio /mnt, es decir en nuestro disco externo. El símbolo & al final es para enviar el proceso a ejecutarse en segundo plano (background), puesto que toma bastante tiempo. Así tendremos nuestro terminal libre para ejecutar un segundo comando “sha256sum /dev/sda > /mnt/sha256-sda-original.txt &“. Este último calcula un hash para nuestro disco interno, con el objeto de poder compararlo con el hash de la copia y verificar si son iguales. Si los hashes coinciden entonces la copia es idéntica al original.

Efectuado lo anterior sólo deberemos tener paciencia y esperar a que ambos procesos terminen. Podemos verificar el estado de los procesos en nuestro terminal con ayuda del comando “jobs“.

Luego de que finalice la copia deberemos obtener un hash de ésta y compararlo con el hash de la unidad de disco original para verificar que coincidan. Y listo! Finalizada nuestra imagen forense del disco original. Ahora sólo resta desmontar el disco externo usando el comando "umount /mnt".

RECUPERACIÓN Y ESCARBADO FORENSE DE DATOS

La pregunta ahora es, ¿cómo recupero los datos desde la imagen forense? Para empezar deberemos acudir a un segundo PC y utilizar un ambiente forense para analizar la imagen y realizar una recuperación de datos, y si es necesario inclusive un escarbado de datos.

Este ambiente forense puede ser un PC con sistema operativo Windows y una herramienta como OSForensics instalada o un PC con Linux y herramientas como Autopsy y foremost disponibles. Veamos cómo sería un ejemplo de recuperación de datos (usando escarbado) con la herramienta foremost bajo Caine Linux.

Inicialmente deberemos montar en modalidad de sólo lectura el disco externo en donde se encuentra la copia forense que obtuvimos del disco duro de nuestro PC.

En esta ocasión he escogido como ambiente forense Linux. A continuación ejecutamos el comando "fdisk -l" para determinar el nombre del filesystem a montar.

Para efectos del ejemplo asumiremos que el disco externo ha sido reconocido por Linux como /dev/sdb1.

Luego ejecutamos el comando:

mount -o ro /dev/sdb1 /mnt

Podremos revisar ahora los archivos que generamos en los pasos previos en la carpeta mnt. Para realizar la recuperación con foremost debemos previamente editar el archivo llamado "foremost" ubicado bajo el directorio etc en la raíz. y quitar los comentarios (símbolo #) de aquellas extensiones de los archivos que nos interese recuperar. Ej: doc, gif, bmp, pdf, etc.

Antes de hacer el escarbado debemos confirmar que contamos con suficiente espacio en disco (df -h) y escoger un directorio en dónde guardar los datos recuperados. Hecho esto, ejecutamos el comando foremost con las opciones requeridas:

foremost -o /out/ -t doc,xls,pdf,jpeg,gif,bmp,png -i sda.dd

Y listo! Ahora a tener mucha paciencia, foremost creará subcarpetas por cada tipo de extensión en el directorio que le señalamos previamente y colocará allí los archivos que encuentre y logre recuperar. Es importante notar que dado que se trata de un proceso de escarbado, es decir una recuperación desde los sectores borrados del disco, los nombres de los archivos no serán los que teníamos cuando el sistema operativo funcionaba, así que luego de la recuperación nos tocará una ardua tarea de revisión de estos archivos para ver cuáles nos interesan y renombrarlos adecuadamente.

Bien, espero que el artículo les sea de utilidad. Si les gustó por favor compártanlo con sus amigos en sus redes sociales, nunca se sabe qué amigo podría necesitar una mano para recuperar sus datos.

NOTAS Y REFERENCIAS:

(1) Artículo sobre cómo crear un USB booteable de Caine Linux: http://www.caine-live.net/page13/page13.html

(2) Un hash es un algoritmo criptográfico de una sola vía, el cual produce un resultado único para una entrada dada. Ver mayor información en: http://es.wikipedia.org/wiki/Funci%C3%B3n_hash

Sobre el autor

Karina Astudillo B.
CEO - Consulting Systems.
Hacker, Computer Forensics Auditor, Author, IT Trainer, Entrepreneur.
CEH, Computer Forensics US, CyberOps Associate, HCSP, HCSA.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.