// INFORME: Detección de Flujos de Datos Ocultos (ADS)

// MÓDULO: 7 - Análisis Forense y Anti-Forense

// HERRAMIENTA: Sysinternals Streams v1.6x

// ESTADO: Análisis de Esteganografía NTFS Finalizado

0x01: Anatomía de los Alternate Data Streams

En mis investigaciones sobre persistencia y ocultación, el sistema de archivos NTFS me documenté sobre un fallo que se llama Alternate Data Streams (ADS). 

Esta funcionalidad permite asociar múltiples flujos de datos a una única entrada en la Master File Table (MFT). 

Mientras que el flujo principal, denominado $DATA, contiene la información visible del archivo, un atacante puede adjuntar flujos adicionales que permanecen invisibles para el explorador de archivos y las herramientas de administración típicas de Windows.

Pude comprobar que es posible ocultar ejecutables completos, scripts de configuración o payloads de malware detrás de un simple archivo de texto o una imagen, sin alterar el tamaño reportado por el sistema ni modificar el hash MD5 del flujo principal, puntualizar que no me refiero a esteanografía.

0x02: PoC -> Inyección de Datos

He realizado un PoC para demostrar la facilidad con la que se puede evadir la vigilancia básica del sistema operativo.

Utilizando la sintaxis de flujos de NTFS (archivo:flujo)se puede  inyectar información sensible en un archivo señuelo.

Fase de Ocultación


// Paso 1: Creación del archivo visible

echo "Soy un archivo normal" > visible.txt

// Paso 2: Inyección del stream oculto

echo "DATOS_CONFIDENCIALES_AUDITORIA" > visible.txt:escondido.txt

Tras la inyección, he validado como queda el archivo.

Al ejecutar un comando dir, el sistema reporta únicamente los 26 bytes correspondientes al texto visible, ignorando por completo la existencia del segundo flujo de datos, no es magía.

0x03: Sysinternals Streams

Para romper la invisibilidad del ADS, he sacado la herramienta streams.exe

Esta utilidad realiza una inspección directa de los atributos de la MFT para revelar flujos alternativos que no están indexados para el usuario común.


Ejecución y Resultados

Flujo ADS identificado


  • Archivo: C:\Users\Auditor\Desktop\visible.txt
  • Stream: :escondido.txt:$DATA
  • Tamaño detectado: 51 bytes

La herramienta ha expuesto con éxito el nombre del flujo y su tamaño real. 

Para acceder al contenido, puedo llamarlo directamente mediante herramientas de edición que soporten la sintaxis de flujos o mediante comandos de pipeline específicos.

0x04: Uso en Ciberseguridad

Entender esto es vital para un analista:

  • 1. Análisis de Malware (Malware Hunting): Los atacantes utilizan ADS para esconder kits de herramientas en directorios del sistema como System32
  • He estandarizado el uso de streams -s C:\Windows\ para realizar barridos recursivos en busca de artefactos anómalos.
  • 2. Forense Web (Mark of the Web): He utilizado esta herramienta para identificar el origen de archivos sospechosos. 
  • Los navegadores añaden un ADS llamado Zone.Identifier que contiene la URL de descarga original. 
  • Leer este metadato es clave para reconstruir la cadena de infección.

NOTE: LIMITACIONES TÉCNICAS

Es fundamental recordar que los ADS son una característica exclusiva de NTFS. Si un archivo con flujos ocultos se mueve a una partición FAT32 o se envía a través de ciertos protocolos de red que no soportan flujos, los datos adicionales se pierden permanentemente. Esta es una limitación que los analistas deben considerar al mover evidencias forenses.

0x05: Conclusiones

La apariencia externa de un archivo en Windows puede ser engañosa. 

La seguridad de un endpoint no puede depender de las herramientas visuales del sistema operativo; requiere utilidades especializadas como streams.exe para auditar la superficie real de almacenamiento. 

Evitemos dejar pasar estos flujos activos.


"Security is not a product, it's a mindset."

[ EOF ]