En el análisis forense de sistemas Windows, uno de los elementos más valiosos es la Master File Table (MFT) del sistema de archivos NTFS. Esta tabla contiene el ADN de cada archivo: cuándo se creó, modificó, accedió o cambió de nombre, además de rutas, tamaños y atributos clave.

En esta entrada te muestro cómo extraer y analizar la MFT de una imagen forense en formato E01, usando herramientas gratuitas y potentes como FTK Imager para montar la imagen y mftdump.exe para convertir la MFT en un CSV que podrás abrir cómodamente con Excel o cualquier visor de hojas de cálculo.

Este proceso es rápido, directo y especialmente útil para quienes realizan DFIR o análisis post-mortem en entornos Windows.

Herramientas utilizadas

  • FTK Imager (gratuito) para montar y extraer la MFT
  • mftdump.exe (de Libyalib o toolkit similar)
  • Excel o cualquier visor de CSV para el análisis

Paso 1: Montar la imagen E01 en FTK Imager
Abre FTK Imager y añade la imagen E01

Paso 2: Localizar y exportar el archivo $MFT
Navega por la partición montada hasta encontrar el archivo especial $MFT. Haz clic derecho sobre él y selecciona Export Files… para guardarlo en tu disco.

Paso 3: Usar mftdump.exe para convertirlo a CSV
Desde la consola de Windows, accede a la carpeta donde exportaste el $MFT y ejecuta:

Paso 4: Abrir el CSV en Excel
Abre mft_dump.csv con Excel. Al principio puede aparecer todo en una sola columna.
Selecciona la primera columna y sigue los puntos marcados para hacerlo legible

Paso 5: Crear filtros
Aplica filtros por atributos (archivos eliminados, ocultos, ejecutables) o por fechas para reconstruir timelines. Esto es especialmente útil para correlacionar eventos sospechosos.

Con solo tres herramientas y unos minutos de trabajo, puedes transformar una imagen forense en una vista detallada de toda la actividad del sistema. Ya sea para responder a un incidente o auditar un entorno Windows, esta técnica de dump de la MFT a CSV es directa, potente y esencial en la mochila de cualquier analista forense.

Ahora extendiendonos un poco mas vamos a desgranar un poco mas a fondo.

Entendiendo la MFT a fondo: ADS, timestamps y artefactos útiles

Además de los metadatos básicos, al analizar una MFT podemos descubrir detalles valiosos relacionados con evasión, artefactos ocultos y hasta archivos descargados de Internet. Aquí algunos conceptos clave:


Alternate Data Streams (ADS)

El sistema de archivos NTFS permite que un archivo tenga más de un flujo de datos. Por defecto, todos tienen uno llamado :$DATA, pero algunos pueden tener flujos adicionales conocidos como ADS (Alternate Data Streams).

Esto permite, por ejemplo, ocultar datos dentro de un archivo aparentemente inocente. Herramientas como MFTECmd.exe detectan fácilmente:

  • Si un archivo tiene ADS
  • Si el archivo es un ADS

Relevancia forense:
Muchos atacantes usan ADS para evadir defensas ocultando ejecutables o scripts maliciosos. Es una técnica reconocida en MITRE ATT&CK:

  • Táctica: Evasión de defensas (Defense Evasion)
  • Técnica: Ocultamiento de artefactos (Hide Artifacts)
  • Subtécnica: NTFS File Attributes

Timestamps manipulados y anti-forense

Cada entrada en la MFT incluye dos atributos con información temporal:

  • $STANDARD_INFORMATION ($SI)
  • $FILE_NAME ($FN)

Ambos contienen las 4 marcas de tiempo típicas:

  • crtime: creación
  • mtime: última modificación
  • ctime: cambio de metadatos
  • atime: último acceso

Algunas herramientas anti-forenses como Timestomp solo pueden modificar los timestamps de $SI, no los de $FN. Comparar ambos puede revelar alteraciones sospechosas.

MFTECmd.exe muestra ambos atributos con sus identificadores:

  • 0x10$STANDARD_INFORMATION
  • 0x30$FILE_NAME

Si los timestamps difieren, es posible que alguien haya manipulado los metadatos.


Otras columnas clave de MFTECmd

MFTECmd exporta decenas de campos útiles para el análisis forense. Algunos destacados:

  • EntryNumber / SequenceNumber: Identificadores únicos en la MFT
  • InUse: Si el registro sigue en uso o ha sido liberado
  • ParentPath: Ruta del directorio padre (no ruta completa del archivo)
  • FileSize / Extension: Tamaño y extensión del archivo
  • IsDirectory / IsADS / HasADS: Identifica si es carpeta o flujo alternativo
  • ReparseTarget: Ruta de destino de un punto de reanálisis (ej. junctions o symlinks)
  • ReferenceCount: Número de enlaces duros
  • ZoneIdContents: Extrae el contenido de ADS Zone.Identifier, incluyendo en ocasiones la URL de origen de un archivo descargado
  • SI < FN: Detecta si los timestamps de $SI son menores que los de $FN, posible indicador de copia o manipulación
  • Copied: Si la hora de modificación es anterior a la de creación → posible archivo copiado

Archivos descargados desde Internet

Cuando un archivo es descargado desde Internet, Windows suele añadir un flujo alternativo Zone.Identifier con información como:

  • ZoneID (1: Local, 2: Intranet, 3: Internet, etc.)
  • Origen de descarga (URL)

Esto queda registrado en la MFT si no ha sido eliminado y es fácilmente identificable con MFTECmd. Si detectas ZoneID=3, es muy probable que el archivo provenga de la web.


Conclusión técnica

Con herramientas como MFTECmd o mftdump, el análisis de la MFT va más allá de un simple listado de archivos. Puedes descubrir:

  • Archivos ocultos por ADS
  • Manipulación de fechas
  • Archivos eliminados o copiados
  • Origen de archivos sospechosos
  • Patrones de actividad anómala

Combinar estos datos con información de otros artefactos (logs, registros del USN Journal, Prefetch, etc.) te permite construir una visión completa del sistema y detectar actividad maliciosa incluso si los atacantes han intentado cubrir sus huellas.