Underc0de

[In]Seguridad Informática => Hacking => Mensaje iniciado por: MagoAstral en Agosto 24, 2015, 11:00:44 AM

Título: NTFS Data Stream
Publicado por: MagoAstral en Agosto 24, 2015, 11:00:44 AM
NTFS Data Stream

(http://cdn2.hubspot.net/hub/70307/file-276161112-jpg/images/data-stream.jpg)

Estimado lector le doy la bienvenida a este nuevo aporte donde se hablará sobre los flujos alternativos de datos (ADS) y se mostrarán algunas pruebas de concepto para que se capte una mínima parte del potencial que tienen. Como siempre yo soy MagoAstral y sin más que añadir vamos a comenzar...
Llegados a este punto el lector seguirá con la inquietud sobre la definición de los flujos alternativos de datos, así que será lo primero en solventar. Básicamente podríamos decir que forman parte del sistema de archivos NTFS y su finalidad es almacenar datos dentro de datos (metadatos), y todo esto en el mismo fichero! ¿Suena interesante verdad?  Aclararé la definición de NTFS por si alguno se ha perdido, simplificando diríamos que es un sistema de archivos inicialmente utilizado en Windows NT y ha pervivido hasta nuestros días.
Para concretar, en 1993, Microsoft sacó a luz dicha versión de Windows (NT), la cual contenía el sistema de archivos NTFS con el soporte de los ADS cuya finalidad era soportar forks nativos de los sistemas Mac, lo que se traduce como ofertar compatibilidad.
Un ejemplo de ADS sería el Zone.Identifier que alberga el identificador de zona de Internet de donde se descargó el fichero, dicha información será analizada por Windows Explorer, y este decidirá si se debe advertir al usuario en el tiempo de ejecución del programa.
Podríamos destacar que en Windows el flujo de datos principal se llama :$DATA
Con esto doy por finalizada la parte teórico-histórica, procedamos pues a un plano más practico sobre el uso que podemos dar a dichos flujos, es muy recomendable que el lector practique y lleve a cabo las pruebas de concepto que se desarrollarán a continuación.
Parte práctica
(http://www.pureleverage.com/jmagall1/wp-content/uploads/sites/17434/2014/01/capacitacion.jpg)
En la primera prueba de concepto se guardará información dentro de un archivo de texto utilizando el flujo alternativo de datos. Para efectuar dicho proceso se seguirán los siguientes pasos:
Código (dos) [Seleccionar]

echo Texto guardado dentro del flujo alternativo de datos del archivo > texto.txt:flujo.txt

Para leer el contenido:
Código (dos) [Seleccionar]
more < texto.txt:flujo.txt
De esta manera:
(http://i.imgur.com/IGHojlp.jpg)
En esta segunda prueba de concepto vamos a guardar un ejecutable a modo de malware dentro de un archivo de texto y para llevar a cabo dicho proceso se seguirá la siguiente sintaxis:
Código (dos) [Seleccionar]
type archivo.exe > texto.txt:archivo.exe
(http://i.imgur.com/jFXhpwq.jpg)
A la hora de ejecutarlo es muy importante que pongan toda la ruta ejemplo:
Código (dos) [Seleccionar]
start c:\texto.txt:Troyano.exe
En caso de que quieran extraer el ejecutable sería mediante:
Código (dos) [Seleccionar]
cat c:\texto.txt:Troyano.exe > troyano.exe
La extracción mediante el cat es única para windows 2003!
Quizás tengan problema en sistemas como windows 7 y superiores, así que se recomienda utilizar windows server o windows xp para llevar a cabo las pruebas de concepto.
Con esto daré por concluido el aporte, cualquier duda o aclaración sentiros libres para comentarla.
Un saludo!