Utilizar Flujos Alternativos de Datos (ADS) para Ocultar Archivos

  • Posted on: 29 September 2014
  • By: ReYDeS

En un Sistema de Archivos NTFS un archivo se divide en “atributos” y uno de esos atributos es $DATA o denominado simplemente atributo de dato. Esta es la parte del archivo donde se colocan los datos. Si se tiene un archivo de texto que dice “Este es mi texto”, entonces si se visualiza en el atributo de dato este contendrá un flujo de dato que lee “Este es mi texto”. Sin embargo este es un flujo de dato normal, algunas veces denominado flujo primario de dato, pero de manera más precisa se denomina flujo sin nombrar del dato. Esto debido a que este flujo del dato no tiene un nombre. El cual es referido como

$DATA:””

El nombre del flujo aparecerá entre las comillas. Ya que este es un flujo sin nombrar de dato, no existe nada allí.

Conocido como se ve un flujo alternativo de dato, se puede pensar en términos de alternantes. Conociendo que el lugar donde normalmente se almacena el dato es el flujo sin nombrar de dato, y si el flujo tiene un nombre, este es alternativo. De tal manera, si se tiene un archivo con un ADS de nombre “SegundoFlujo”, el nombre completo es $DATA:”SegundoFlujo”.

Los archivos ADS tienen la habilidad de ser añadidos a archivos existentes sin afectar su tamaño o funcionalidad, los archivos ADS no son visibles por el explorador de Windows o el comando “dir” a menos que se utilice la opción “/R”.

Para el primer ejemplo se ocultará un archivo de texto dentro de otro archivo de texto. Se procede a crear un archivo de texto, para luego listar el directorio. Notar el tamaño del archivo.


C:\> echo Este es un Archivo de Texto > ejemplo.txt

Se visualiza el contenido del archivo utilizando el comando “type”.


C:\> type ejemplo.txt

Se procede a crear el ADS, para luego listar nuevamente el directorio.


C:\> echo Este es un Texto Oculto > ejemplo.txt:secreto.txt

Notar el tamaño invariable del archivo de nombre “ejemplo.txt”.

Se visualiza nuevamente el archivo de nombre ejemplo.txt, para luego tratar de visualizar el archivo ADS.

Dado que el comando "type" no interpreta adecuadamente el operador de dos puntos ":", se utilizará la aplicación Notepad en el Sistema Windows 7 para visualizar el ejemplo desarrollado.


C:\> notepad ejemplo.txt:secreto.txt

Aparte del escenario en el cual es factible ocultar un archivo de texto o similar, resultará más atractivo un escenario donde sea factible ocultar un archivo ejecutable, sea este una herramienta, malware o cualquier programa útil para nuestros propósitos.

Para el siguiente ejemplo se ocultará el programa fgdump, el cual es una herramientas con diversas opciones de uso, una de estas opciones es la capacidad de realizar un volcado de los hashes de las contraseñas desde un Sistema Windows.

Crear un archivo de texto para ocultar el archivo.


C:\> echo Este es un Archivo de Texto > ejemplo2.txt

Se coloca o incluye el archivo ejecutable de nombre “fgdump.exe”.


C:\> type fgdump.exe > ejemplo2.txt:fgdump.exe

Para ejecutar el archivo ejecutable en Windows 7 se tienen dos opciones, en primera instancia utilizando un enlace simbólico y la segunda opción es utilizando el comando "wmic". Para el presente ejemplo se utilizará la primera opción.


C:\> mklink fg.exe C:\Users\usuariow7\Downloads\ejemplo2.txt:fgdump.exe

Una vez creado el enlace simbólico se procede con su ejecución.


C:\> fg.exe

La ejecución de "fgdump" generada diversos archivos, entre los cuales se visualiza el archivo conteniendo los hash de las contraseñas cifradas del Sistema Windows 7.


C:\> type 127.0.0.1.pwdump

Fuentes:

http://blogs.technet.com/b/askcore/archive/2013/03/24/alternate-data-str...
http://www.irongeek.com/i.php?page=security/altds
http://www.darknessgate.com/security-tutorials/date-hiding/ntfs-alternat...
http://foofus.net/goons/fizzgig/fgdump/
http://vlaurie.com/computers2/Articles/alternate-data-streams.htm

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


Suscribete