Utilizar Flujos Alternativos de Datos (ADS) para Ocultar Archivos
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
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/