domingo, 16 de enero de 2011

Alternate Data Streams



¿Qué son los ADS?

Básicamente son flujos (de bytes) de datos almacenados dentro de un fichero, es decir, ficheros dentro de ficheros y es una carácteristica "especial" que nos otorga el sistema de archivos NTFS de Microsoft.

¿Para que vale esto?

Pues a priori no parece que esto nos pueda servir de mucho, sin embargo, su cara oscura puede que interese ya que se podría:


  • Ocultar ficheros de "cualquier tipo" pasando totalmente desapercibidos por un administrador de sistemas.
  • Oculta carpetas.
  • Ejecutar un fichero oculto (esta es la que más me gusta)...

Pero mejor que explicarlo, veamos algún ejemplo, y para ello se hará desde línea de comandos.

Ocultando un fichero de texto en otro fichero de texto:

Creamos un fichero de texto que se llame cita_Quijote.txt y le añadimos el texto:

En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor...

Creamos otro fichero de texto que se llame cita_estega.txt y le añadimos el texto:

Free your body and soul
Unfold your powerful wings
Climb up the highest mountains
Kick your feet up in the air
You may now live forever
Or return to this earth
Unless you feel good where you are!

Mas o menos quedaría esto:




Es interesante prestar atención al tamaño del fichero cita_Quijote.txt.

Creamos un ADS con cita_estega.txt sobre cita_Quijote.txt con el comando:

type cita_estega.txt > cita_Quijote.txt:eternoAprendiz 

A continuación eliminamos el archivo cita_estega.txt

Si observamos de nuevo el tamaño del archivo cita_Quijote.txt, comprobaremos que no ha cambiado en nada su tamaño, sin embargo esto no es así, realmente ahora contiene a cita_estega.txt, aun incluso habiéndolo eliminado. 

Para demostralo escribimos el comando:

more < cita_Quijote.txt:eternoAprendiz

Como ya suponíamos podemos ver el contenido de cita_estega.txt:




En realidad esto es un simple ejemplo, se pueden ocultar carpetas y ficheros de cualquier tipo y tamaño.

Si ademas uno de esos ficheros es un ejecutable (podría ser malware), incluso podríamos ejecutarlo tan solo con utilizar el comando start.

Como se intuye, esto da escalofrios.

Para finalizar, si os quedan ganas de profundizar en esta maravilla que Microsoft nos regala, os recomiendo que leais uno de los tantos y maravillosos artículos que nos proporciona Kriptopolis:

4 comentarios:

  1. Y, además de todo lo que has dicho, esa ocultación de datos soportaría incluso un análisis de CRC sin despertar sospechas. Otro motivo más para pasarse a Linux, querido compañero de carrera... ;)

    Un saludete.

    ResponderEliminar
  2. Así es ReyGecko, pero que aburrido sería el mundo sin las debilidades de Microsoft.

    ¿En que gastaríamos nuestro tiempo?... a, si..., en nuestra interminable carrera ;)

    Por cierto, interesante tu blog.

    Saludos compañero.

    ResponderEliminar
  3. Tú lo has dicho: interminable :(

    En fin, espero que tengas más suerte que yo con estadística, seguro que no la necesitas (la suerte, digo).

    P.D.- Gracias por tus apuntes en esa asignatura, son brutales.
    P.D.2.- No hace mucho estuve en Campo de Criptana. Un pueblo precioso.

    ResponderEliminar
  4. Como bien sabes ReyGeko, la suerte es un factor clave en nuestra carrera. No sólo vale con estudiar.

    Pero así somos los alumnos de la UNED...ellos nos tiran... y nosotros nos levantamos.

    Un saludo y suerte a ti también, que falta nos hace a todos ;).

    ResponderEliminar