Crear la Imagen Forense desde una Unidad utilizando dd
El crear una imagen forense de una unidad o dispositivo de almacenamiento permite preservar la evidencia original en un estado prístino. Este procedimiento debe asegurar que no se perderán datos cruciales durante el proceso de adquisición. El método más común de adquisición implica crear un archivo de imagen desde el dispositivo de almacenamiento. En este escenario el investigador puede realizar las copias que considere necesarias.
Para la siguiente práctica se utilizará la herramienta dd.
dd
dd es un comando incluido en sistemas operativos tipo Unix como GNU/Linux, cuyo principal propósito es convertir y copiar un archivo.
En Unix, las unidades de dispositivos para hardware (como discos duros) y archivos de dispositivos especiales (como /dev/zero y /dev/random) aparecen en el sistema de archivos como archivos normales; dd también puede leer y/o escribir desde/hacia estos archivos, a condición de que esta función sea implementada en su respectiva unidad. Como resultado, dd puede ser utilizado para tareas como respaldar el sector de arranque de un disco duro, y obtener una cantidad fija de datos aleatorios. El programa dd también puede realizar conversiones de datos mientras son copiados, incluyendo intercambio en el orden de los bytes y conversión hacia y desde codificaciones de texto ASCII, EBDCDIC.
Se utilizará una unidad USB (USB Stick) desde la cual se creará su imagen forense.
En primera instancia se procede a identificarla. Para este propósito se utiliza el comando “fdisk” el cual permite manipular la tabla de particiones en un sistema GNU/Linux. La opción "-l", permite listar las tablas de partición para los dispositivos especificados. En caso no se proporcione el dispositivo, se utilizarán los mencionados en el archivo /proc/partitions (si existen).
$ sudo fdisk -l
Identificada la unidad en “/dev/sdc” desde la cual se obtendrá la imagen forense, se procede a generar un hash SHA-1. SHA-1 es una función hash criptográfica diseñada por la NSA (Agencia de Seguridad Nacional) de los Estados Unidos de Norteamérica, el cual produce un valor hash de 160 bits (20 bytes). Típicamente interpretado como un número hexadecimal de 40 dígitos de longitud.
$ sudo sha1sum /dev/sdc > /tmp/hash_sdc.sha1
$ cat /hash_sdc.sha1
Obtenido el hash desde el dispositivo de almacenamiento, se procede a capturar la imagen forense utilizando la herramienta dd. La opción “if” permite definir la unidad usb o unidad de almacenamiento origen. La opción “of” permite definir la escritura del resultado hacia un archivo. La opción “conv” convierte el archivo en base a la lista de símbolos separados por comas. En este caso se ha definido “noerror”, el cual permite continuar el proceso después de errores de lectura desde la unidad de almacenamiento. Y “sync” es utilizado para en caso se presente un error, se proceda a rellenar el resto de bloque con nulos.
$ sudo dd if=/dev/sdc of=/tmp/sdc.dd conv=noerror,sync
Finalizado el procedimiento se expone información como el número de registros de ingreso y salida, número de bytes copiados, duración del proceso en segundos, y un promedio de la velocidad de copiado.
Se procede a generar un hash SHA-1 desde el archivo de nombre “sdc.dd” conteniendo la imagen forense o réplica exacta de la unidad USB.
$ sha1sum /tmp/sdc.dd
Si la comparación del hash generado desde la unidad USB y el hash generado desde la imagen forense implican una igualdad, esto indica que el procedimiento se ha realizado correctamente y es factible continuar con el análisis forense.
Fuentes:
http://en.wikipedia.org/wiki/Dd_(Unix)
http://www.forensicswiki.org/wiki/Dd
http://linux.die.net/man/8/fdisk
http://en.wikipedia.org/wiki/SHA-1
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/