Análisis forense de disco
con Autopsy y The Sleuth Kit
Blue Team y Forense Digital | unfantasmaenelsistema.com
Cuando un equipo se apaga, la memoria RAM se lleva consigo casi todo lo que estaba pasando en ese instante. El disco, en cambio, se queda. Ficheros abiertos, historial de navegación, entradas del registro, papelera, documentos borrados a medias, restos en el espacio no asignado: el almacenamiento persistente es el testigo lento pero tozudo de casi cualquier incidente. Saber leerlo es la otra mitad del forense digital, la que complementa al análisis de memoria con Volatility que ya cubrimos en la serie.
Este artículo es una introducción práctica al análisis forense de disco con dos herramientas libres que van de la mano: The Sleuth Kit (TSK), un conjunto de utilidades de línea de comandos que lee sistemas de archivos a bajo nivel, y Autopsy, la interfaz gráfica que se apoya en TSK y añade indexado, línea de tiempo y módulos de análisis automático. El enfoque es defensivo y metodológico: cómo se adquiere, se preserva y se examina una imagen de práctica, no cómo se accede a datos ajenos.
Qué aprenderás en este artículo
Qué es la cadena de custodia y por qué condiciona todo lo demás · Cómo adquirir una imagen de disco con dd, dc3dd y el formato E01 · Hashing y verificación: por qué MD5/SHA se calculan antes y después · Montaje de solo lectura y write blockers · Las herramientas clave de TSK: mmls, fls, icat, tsk_recover · Flujo de trabajo en Autopsy: caso, ingest modules, línea de tiempo y artefactos · Recuperación de ficheros borrados y file carving
1. Principios: cadena de custodia y orden de volatilidad
Antes de tocar un solo byte conviene interiorizar dos ideas que gobiernan toda la disciplina. La primera es la cadena de custodia: un registro documentado de quién ha tenido acceso a la prueba, cuándo, y qué ha hecho con ella, desde el momento de la incautación hasta su presentación. Si esa cadena se rompe —una copia sin hash, un disco montado en lectura-escritura por error, un periodo sin documentar— el valor probatorio se desploma, por muy sólido que sea el hallazgo técnico.
La segunda es el orden de volatilidad: se recolecta primero lo que antes desaparece. Registros de CPU y caché, memoria RAM, estado de red y procesos, tablas de rutas y ARP van antes que el disco; el disco antes que los registros remotos y los backups. En la práctica esto significa que, si el equipo está encendido y la situación lo permite, primero se vuelca la RAM (ver el artículo de Volatility) y solo después se apaga para adquirir el disco.
Encendido o apagado: ninguna opción es gratis
Apagar de forma ordenada modifica ficheros, escribe en el registro y puede disparar borrado seguro o cifrado programado · Tirar del cable preserva el disco tal cual pero corrompe estructuras abiertas y pierde toda la RAM · La decisión se documenta y se justifica; en entornos con cifrado de disco completo, extraer la clave de la RAM en caliente puede ser la única vía
2. Adquisición: la copia forense
Nunca se trabaja sobre el disco original. Se crea una imagen —una copia bit a bit, sector por sector, incluidos los sectores vacíos y el espacio no asignado— y todo el análisis se hace sobre ella o sobre copias de ella. El original se guarda y no se vuelve a tocar.
2.1 dd y dc3dd
dd es la herramienta clásica de copia de bloques de Unix. Funciona, pero no calcula hashes ni muestra progreso ni gestiona errores de lectura con elegancia. dc3dd (del DoD Cyber Crime Center) y dcfldd son variantes pensadas para forense: hashing al vuelo, log de errores, barra de progreso y verificación integrada.
# Copia simple con dd (el disco de origen NUNCA se monta antes)
sudo dd if=/dev/sdb of=/casos/lab014/imagen.dd bs=4M conv=noerror,sync status=progress
# dc3dd: imagen + hash + log en una sola pasada
sudo dc3dd if=/dev/sdb of=/casos/lab014/imagen.dd \
hash=sha256 log=/casos/lab014/adquisicion.log
# Comprobar que el origen esta identificado y NO montado
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL /dev/sdb2.2 El formato E01 (Expert Witness)
El formato raw/dd es una copia cruda sin metadatos. El formato E01 (EnCase Evidence File, también llamado EWF) es el estándar de facto en forense: comprime, trocea la imagen en segmentos manejables, incrusta los hashes y los metadatos del caso (número, examinador, notas) y guarda una suma de comprobación por cada bloque, de modo que una corrupción posterior se detecta y se localiza. Se genera con ewfacquire (paquete libewf) o desde Autopsy y FTK Imager.
| Formato | Compresión | Metadatos del caso | Verificación por bloques | Uso típico |
|---|---|---|---|---|
| raw / dd | No | No | No (hash global) | Copias rápidas, compatibilidad máxima |
| E01 / EWF | Sí | Sí | Sí | Estándar forense, informes periciales |
| AFF4 | Sí | Sí | Sí | Alternativa abierta moderna, imágenes grandes |
2.3 Write blockers
Un bloqueador de escritura (write blocker) es un dispositivo hardware —o, en su defecto, una configuración software— que se interpone entre el disco de prueba y la estación de análisis y permite las lecturas pero descarta cualquier orden de escritura. Es lo que garantiza que el simple hecho de conectar el disco no lo altere. En Linux se puede reforzar con blockdev –setro /dev/sdb y montando siempre con las opciones ro,noload,noexec, pero un bloqueador hardware certificado es lo que se espera en un procedimiento formal.
3. Hashing y verificación
El hash es la huella digital de la imagen. Se calcula inmediatamente después de la adquisición y se anota en la cadena de custodia. A partir de ahí, cualquiera puede recalcularlo sobre la copia con la que trabaja y comprobar que coincide: si coincide, la copia es idéntica al original en el momento de la incautación; si no, algo se ha alterado y esa copia no sirve.
# Hash de la imagen recien creada sha256sum /casos/lab014/imagen.dd | tee /casos/lab014/imagen.dd.sha256 md5sum /casos/lab014/imagen.dd | tee /casos/lab014/imagen.dd.md5 # Antes de cada sesion de analisis: reverificar sha256sum -c /casos/lab014/imagen.dd.sha256 # Para E01, la verificacion usa los hashes incrustados ewfverify /casos/lab014/imagen.E01
¿MD5 no estaba roto?
MD5 es débil frente a colisiones fabricadas a propósito, pero para verificar que una imagen no ha cambiado por accidente sigue siendo útil y rapidísimo · La práctica habitual es calcular MD5 y SHA-256 a la vez: la probabilidad de que ambos coincidan por azar tras una alteración es nula · Para valor probatorio moderno se cita SHA-256; MD5 se mantiene por compatibilidad con herramientas y casos antiguos
4. The Sleuth Kit: análisis desde la línea de comandos
TSK es un conjunto de utilidades que leen la imagen a distintos niveles: la tabla de particiones, el sistema de archivos, los metadatos de cada fichero (los inodos, o su equivalente MFT en NTFS) y el contenido de los bloques de datos. Las órdenes se agrupan por la capa sobre la que operan.
| Comando | Capa | Para qué sirve |
|---|---|---|
| mmls | Volumen | Lista la tabla de particiones y los offsets de cada una |
| fsstat | Sistema de archivos | Tipo de FS, tamaño de bloque, fechas, geometría |
| fls | Metadatos | Lista ficheros y directorios, incluidos los borrados |
| istat | Metadatos | Detalle de un inodo/entrada MFT: fechas MAC, bloques asignados |
| icat | Contenido | Vuelca el contenido de un fichero por su número de inodo |
| blkcat | Bloque | Muestra el contenido de un bloque concreto del disco |
| tsk_recover | Automático | Extrae en masa ficheros asignados y/o borrados a una carpeta |
| mactime | Cronología | Construye una línea de tiempo a partir de la salida de fls -m |
4.1 Un recorrido típico
# 1. Ver las particiones y quedarnos con el offset de la que interesa mmls /casos/lab014/imagen.dd # -> supongamos que la particion NTFS empieza en el sector 2048 # 2. Datos del sistema de archivos en ese offset fsstat -o 2048 /casos/lab014/imagen.dd # 3. Listar la raiz; los borrados salen marcados con * fls -o 2048 -r -p /casos/lab014/imagen.dd | head -n 40 # 4. Volcar un fichero concreto por su numero de inodo (aqui 6789-128-4) icat -o 2048 /casos/lab014/imagen.dd 6789 > /casos/lab014/export/informe.docx # 5. Generar el cuerpo de la linea de tiempo y convertirlo a mactime fls -o 2048 -r -m C: /casos/lab014/imagen.dd > /casos/lab014/bodyfile.txt mactime -b /casos/lab014/bodyfile.txt -d > /casos/lab014/timeline.csv
Las fechas MAC (Modified, Accessed, Changed/Created) de cada fichero, ordenadas en una sola línea de tiempo junto con los eventos del registro y los logs, son el corazón del análisis: permiten reconstruir qué pasó y en qué orden alrededor de la hora del incidente.
5. Autopsy: el mismo motor con interfaz
Autopsy envuelve TSK en una aplicación de escritorio (Windows principalmente, también Linux) y añade lo que falta para un caso real: base de datos del caso, indexado de texto completo con búsqueda, visores de ficheros, y sobre todo los ingest modules, que analizan la imagen automáticamente al cargarla.
5.1 Crear el caso y añadir la fuente
- New Case: nombre, número, examinador y carpeta base. Autopsy crea ahí toda la estructura
- Add Data Source: se apunta a la imagen (E01, dd, carpeta de ficheros lógicos o disco físico con write blocker). Autopsy verifica el hash al ingerir
- Selección de ingest modules: se marcan los análisis a ejecutar; se pueden lanzar más tarde
5.2 Ingest modules más útiles
| Módulo | Qué extrae |
|---|---|
| Recent Activity | Historial y descargas de navegadores, USB conectados, cuentas, ejecución de programas |
| Hash Lookup | Coteja hashes contra listas conocidas (NSRL para descartar, hashsets de malware para marcar) |
| File Type / Extension Mismatch | Detecta ficheros con extensión cambiada para ocultarlos |
| Keyword Search | Índice de texto completo; búsquedas por término, regex o listas (emails, IBAN, tarjetas) |
| Embedded File Extractor | Descomprime ZIP, RAR, adjuntos y documentos para analizar su contenido |
| EXIF Parser | Metadatos de imágenes: cámara, fecha, coordenadas GPS |
| Data Carving (PhotoRec) | Recupera ficheros del espacio no asignado por sus firmas |
| Android / iOS Analyzer | Artefactos de volcados de móvil (SMS, llamadas, apps) |
5.3 Explorar los resultados
El árbol de la izquierda organiza los hallazgos: Data Sources para navegar el sistema de archivos tal cual, Views por tipo y por fecha, Results con todo lo que han sacado los módulos (marcadores web, dispositivos USB, resultados de palabras clave), y Tags para lo que el analista marca manualmente. La pestaña Timeline dibuja la actividad en una gráfica navegable, ideal para acotar la ventana temporal del incidente antes de bajar al detalle.
Artefactos de Windows que casi siempre importan
Registro: hives SYSTEM, SOFTWARE, SECURITY, SAM y los NTUSER.DAT de cada usuario (USB, programas ejecutados, ShimCache, UserAssist) · Prefetch (C:\Windows\Prefetch): qué ejecutables se lanzaron, cuántas veces y cuándo · Event Logs (.evtx): inicios de sesión, creación de servicios, PowerShell, borrado de logs · $MFT, $LogFile y $UsnJrnl: creación, renombrado y borrado de ficheros con marca de tiempo · Papelera ($Recycle.Bin), Jump Lists, ficheros LNK y carpeta Recent
6. Ficheros borrados y file carving
Borrar un fichero, en casi todos los sistemas de archivos, solo marca su entrada de metadatos como libre y devuelve sus bloques al fondo común. Mientras nadie los sobrescriba, el contenido sigue ahí. Hay dos formas de recuperarlo:
- Recuperación por metadatos: la entrada borrada (en la MFT, en el journal) todavía apunta a los bloques. TSK la lee con fls/icat y Autopsy la muestra tachada pero abrible. Es fiable y conserva el nombre y las fechas, si la entrada no se ha reutilizado
- File carving: cuando ya no hay metadatos, se busca directamente en el espacio no asignado por las firmas de cada formato (una imagen JPEG empieza por FF D8 FF, un PDF por %PDF, un ZIP por PK). Herramientas como PhotoRec, foremost o scalpel reconstruyen el fichero entre su cabecera y su pie. Se pierde el nombre y las fechas, y los ficheros fragmentados salen incompletos
# Carving con foremost sobre el espacio no asignado foremost -t jpg,pdf,doc,zip -i /casos/lab014/imagen.dd -o /casos/lab014/carving/ # Extraccion masiva de borrados con TSK (asignados + no asignados) tsk_recover -e -o 2048 /casos/lab014/imagen.dd /casos/lab014/recuperados/ # Aislar solo el espacio no asignado para acelerar el carving blkls -o 2048 /casos/lab014/imagen.dd > /casos/lab014/unallocated.blkls
El carving no es magia
Un fichero cuyos bloques se han reutilizado parcialmente se recupera corrupto o mezclado con otro · Los sistemas con TRIM en SSD borran físicamente los bloques poco después del borrado lógico: ahí la recuperación suele ser imposible · Todo lo recuperado se trata como no verificado: se documenta el método y se contrasta con otras fuentes antes de darlo por bueno
7. Un caso de práctica de principio a fin
Para aprender sin tocar datos reales, lo habitual es usar imágenes de práctica públicas: los retos de Digital Corpora (el caso «M57-Jean» y «Nitroba» son clásicos), las imágenes de DFIR.training, los CTF forenses o una máquina virtual propia que tú mismo comprometes en laboratorio y luego adquieres. El flujo completo:
- Adquirir o descargar la imagen y verificar su hash contra el publicado
- Crear el caso en Autopsy, añadir la imagen y lanzar los ingest modules básicos
- Abrir Timeline y localizar la franja de actividad relevante
- Revisar Recent Activity: navegación, descargas, USB, programas ejecutados en esa franja
- Bajar a los artefactos del registro y Prefetch para confirmar ejecución y persistencia
- Usar Keyword Search con los términos del caso (nombres, dominios, palabras clave)
- Recuperar los ficheros borrados relevantes por metadatos y, si hace falta, por carving
- Documentar cada hallazgo con su ruta, su hash y una captura, y exportar el informe
Marco legal y de autorización
El análisis forense de un dispositivo solo es legítimo sobre equipos propios, sobre infraestructura de tu organización dentro de un procedimiento interno, o con mandato judicial u orden expresa del propietario · Acceder al contenido de dispositivos ajenos sin autorización vulnera el secreto de las comunicaciones y la intimidad; en España, los artículos 197 y 197 bis del Código Penal · La prueba obtenida sin respetar la cadena de custodia y la proporcionalidad puede ser declarada nula · Este artículo usa imágenes de práctica y laboratorio; no habilita el examen de equipos de terceros
Referencias y material de práctica
sleuthkit.org — The Sleuth Kit y Autopsy, documentación y descargas · digitalcorpora.org — Imágenes de disco y escenarios completos para practicar · dfir.training — Índice de retos, imágenes y herramientas forenses · NIST SP 800-86 — Guía de integración de técnicas forenses en la respuesta a incidentes · aboutdfir.com — Listas mantenidas de recursos, cheat sheets y casos
Conclusión
El análisis forense de disco es, sobre todo, método. Las herramientas —TSK por debajo, Autopsy por encima— son maduras y accesibles, pero no sustituyen la disciplina de trabajar siempre sobre una copia verificada, documentar cada paso y contrastar cada hallazgo con más de una fuente. Una imagen bien adquirida y una línea de tiempo bien construida resuelven la mayoría de los casos.
Coge una imagen de práctica, sigue el flujo del apartado 7 de principio a fin, y escribe un informe aunque nadie te lo pida. Ese informe —con sus rutas, sus hashes y su cronología— es el ejercicio que de verdad enseña a hacer forense, y el mismo que tendrás que entregar el día que el caso sea real.
unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

