Captura de un Dispositivo de Almacenamiento para Propósitos Forenses

  • Posted on: 21 July 2016
  • By: ReYDeS

La adquisición desde un dispositivo de almacenamiento es un proceso el cual permite copiar exactamente una unidad física objeto de un análisis. Con los sistemas Linux, esta operación es posible utilizando una de las siguientes herramientas; dd, ddrescue, dcfldd, dhash.

DD

dd toma como entrada un archivo o dispositivo, y devuelve sobre un archivo diferente o dispositivo, una secuencia binaria exacta constituyéndola. Por ejemplo:

$ sudo dd if=/dev/sdb of=/mnt/hgfs/Images/USB_Images/ImagenUSB01.dd

Este comando toma como entrada el dispositivo de almacenamiento “/dev/sdb”, y devuelve como salida una copia exacta dentro del archivo de nombre “ImagenUSB01.dd”.

El mismo procedimiento puede ser realizado para crear la copia exacta hacia un dispositivo de almacenamiento, en lugar de hacia un archivo. Por ejemplo:

$ sudo dd if=/dev/sdb of=/dev/sdc

Es importante dar especial atención a este comando, pues el dispositivo de destino; en este caso “/dev/sdc” es borrado y sobrescrito por el tamaño del dispositivo origen; en este ejemplo “/dev/sdb”.

Esto significa si “/dev/sdb” tiene un tamaño de 8GB y el destino “/dev/sdc” tiene un tamaño de 32GB, el anterior comando sobrescribirá los primeros 8GB del dispositivo objetivo “/dev/sdc”, con el contenido completo bit a bit de la unidad origen “/dev/sdb”, haciendo su contenido completamente irrecuperable.

DDRESCUE

Como dd, “ddrescue” permite copiar exactamente el contenido de una unidad de almacenamiento y guardarlo directamente hacia otra unidad de almacenamiento.

ddrescue es una evolución de dd: permite adquirir dispositivos de almacenamiento conteniendo errores mientras se accede a determinados sectores de la unidad. La adquisición mediante ddrescue también puede incluir aquellos sectores malos, los cuales serán adquiridos por un ajuste a cero en todos los bits no factibles de ser leídos. Por ejemplo:

$ sudo ddrescue /dev/sdb /mnt/hgfs/Images/USB_Images/ImagenUSB02.dd

Durante el proceso de adquisición, ddrescue proporciona actualizaciones de cuantos bytes son leídos y escritor, cuantos errores han sido encontrados y la velocidad de adquisición calculado en bytes por segundo.


DCFLDD

dcfldd es otra versión mejorada de dd, la cual puede ser utilizada para calcular el valor Hash; MD5 y SHA1 individualmente o juntas, durante la adquisición desde un dispositivo. Durante la adquisición se proporciona información detallada sobre lo escrito y leído. Por ejemplo:

$ sudo dcfldd if=/dev/sdb of=/mnt/hgfs/Images/USB_Images/ImagenUSB03.dd hash=sha1 hash=md5

DHASH

Este software permite la adquisición en formato dd y el cálculo simultaneo del Hash. Es 10% más rápido comparándolo con los otros programas disponibles. Por ejemplo:

$ sudo dhash -t -f /dev/sdb --md5 --sha1 -o /mnt/hgfs/Images/USB_Images/ImagenUSB04.dd

La sintaxis detallada permite adquirir y de manera simultanea calcular los valores hash MD5 y SHA1 del dispositivo “/dev/sdb”.

Fuentes:

http://linux.die.net/man/1/dd
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
http://linux.die.net/man/1/dcfldd
http://www.deftlinux.net/doc/EN-deft7.pdf
http://www.deftlinux.net

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense