jueves, 2 de agosto de 2007

Alternate Data Streams [Position] 0100

Ocultación de Archivos en Windows con ADS
Escrito por RadiX

Dentro de todas las funciones misteriosas y malévolas que aporta el código cerrado de Windows no es de sorprenderse que algunas violen nuestra privacidad o realicen acciones sin nuestro consentimiento. El día de hoy voy hablarles un poco acerca de ADS (Alternate Data Streams).

De cualquier modo todos los que estamos un poco familiarizados con Windows sabrán que existen archivos y carpetas ocultas, perfectamente configurables desde el menú Herramientas>Opciones de Carpeta...>Ver. Ese es un modo muy tradicional y anticuado de esconder nuestros mas íntimos secretos pues cualquiera puede ir y activar la opción de: "Mostrar todos los archivos y carpetas ocultos". Acá vamos hacer algo más avanzado pero básicamente con el mismo fin.

ADS es una función que está ligada a la forma en que Windows estructura el sistema de archivos, el modo de empleo permite ligar (to link) un archivo con otro ocultándolo totalmente a la vista de cualquier usuario novel, el modo de funcionamiento es muy fácil de entender.

NTFS (New Technology File System) es el sistema de archivos que Windows emplea por defecto desde sus versiones NT, su diseño está basado en streams (que pueden verse como bloques de un archivo), cuando nosotros modificamos los permisos de un archivo por ejemplo, podemos configurarlo para que sea de solo lectura u oculto, cuando hacemos esto lo que realmente provocamos es modificar un stream (bloque) que almacenará esa información para así tener un control sobre todos los archivos de manera individual. Otro bloque se encarga de almacenar nuestro archivo tal como lo vemos bit x bit y otro que informa la medida que este tiene. Pero existe otro bloque que no es modificable mediante la GUI (Graphical User Interface) es decir mediante ventanas, este bloque o ADS (documentado por Windows) puede ser utilizado para enlazar otro archivo desde el mismo, esto no es considerado un hack pues Windows lo ha mostrado como funcionalidad desde un principio para fines de compatibilidad aun cuando este resulta muy peligroso!, esta técnica también es conocida como fork.

Por ejemplo digamos que queremos ocultar un archivo, para esto necesitamos un archivo cualquiera, es decir un archivo que este a la vista de todos, por medio de ese archivo y aplicando el ADS tendremos como resultado un archivo que estará oculto bajo una técnica muy respetable y segura.

Antes de comenzar no está de más aclarar que este método de ocultación por ADS solo funciona en Sistemas Operativos basados en NT o mejor dicho aquellos que corren bajo particiones NTFS, por lo que si aun tiene Windows ME por favor hágale un favor al mundo y considere Linux como opción para migrar a un verdadero S.O...

Bien, comencemos por poner en práctica el ADS de una manera muy básica, lo que haremos a continuación será ocultar un archivo de texto con otro (verdadero camuflaje):

1. Abrimos la consola de Windows ("cmd.exe" desde Ejecutar o Win+R).

2. Vamos a raiz: "cd \"

3. Creamos un archivo de texto simple: "notepad visible.txt", nos preguntara si queremos crear un archivo nuevo porque no existe visible.txt contestamos con un SI.

4. Escribimos cualquier cosa o dejamos el archivo en blanco.


5. Guardamos y regresamos a la consola.

6. Tecleamos el comando "dir *.txt" y vemos que efectivamente ahí esta nuestro archivo que acabamos de crear, ahora, este archivo podría ser cualquiera, un txt, doc, jpg, gif.... esto es válido tanto para el archivo que ocultaremos como para el archivo original (notemos que mi archivo mide 73 Bytes para este ejemplo utilizando el texto "Este es un ejemplo de ADS, cualquier persona puede ver y abrir este texto" = 1Byte x Caracter ).

7. Ahora teclearemos el comando para realizar el ADS: "notepad visible.txt:invisible", todo lo que escribas en este archivo estará oculto, así que puedes escribir cualquier información confidencial.




8. Una vez guardado el archivo podremos verificar que el tamaño del archivo no se modifico "visible.txt" sigue midiendo 73Bytes ante la vista de cualquier administrador, ahora supongamos que quiero modificar el contenido de invisible, para eso solo tenemos que ejecutar el comando del paso 7 cuantas veces sea necesario, guardar y voila el archivo siempre estará oculto.




Ahora, intentémoslo con un archivo ya creado y cambiemos el tipo de archivos, como por ejemplo esconder un exe en un archivo de imagen GIF.

1. Ejecute los pasos 1 y 2 del ejemplo anterior.

2. Copiamos el archivo de ejemplo (y que podría ser cualquier otro) regedit.exe ubicado en la carpeta Windows.





3. Listamos el directorio para mostrar archivos con extensión GIF y EXE, ahí están nuestros dos archivos (imagen.gif puede ser cualquier imagen o archivo) pongamos atención a la medida de imagen.gif .

4. Ejecutamos el comando "type regedit.exe>imagen.gif:OCULTO.exe", el comando Type muestra el contenido de un archivo binario o de texto en consola (similar a la función CAT de Linux).

5. Ahora si damos un vistazo el archivo imagen.GIF sigue midiendo 2.818KB (en mi caso), ahora, para iniciarlo lo único que tenemos que hacer es invocar el comando "start C:\imagen.gif:OCULTO.exe", veremos que el regedit iniciara sin problemas

Mira el administrador de procesos como muestra la tarea en ejecución:



Para detectar que archivos están utilizando ADS puedes recurrir a la herramienta de SysInternals (ahora propiedad de Microsoft) llamada streams.
Bájalo desde aquí:
http://download.sysinternals.com/Files/Streams.zip

O bien modificar el registro siguiendo las instrucciones de esta pagina:
http://www.cyberarmy.net/library/article/110

Si experimentas un poco mas podrás observar ciertas limitantes en el modo de operar que tiene ADS pues si mueves el archivo a otra PC, solo se copiara el stream principal y no los asociados, hay una solución a esto y puedes encontrarla acá:
http://msmvps.com/blogs/quilez/archive/2005/03/10/38139.aspx

Después de esto las posibilidades de aplicar esta técnica son tantas como tu imaginación: scripts, archivos por lotes (BAT), virus y otras cosas....

Fuentes:
http://en.wikipedia.org/wiki/Fork_(filesystem)
http://www.securityfocus.com/infocus/1822
http://www.windowsecurity.com/articles/Alternate_Data_Streams.html
http://support.microsoft.com/kb/105763
http://www.auditmypc.com/freescan/readingroom/ntfsstreams.asp
http://www.heysoft.de/nt/ntfs-ads.htm


RadiX.life

6 comentarios:

Fherska dijo...

Mira chavalin...te voy a contar una historia!!!...resulta k eso k akabas de postear ya lo sabia! pero graxias por komentarlo detalladamente!!!...una personita muy especial me lo enseño antes de mostrarlo por aki! :D lo cual es genial...me resulta muy interesante ya que este metodo ya no resulta tan obvio komo el de tan solo ponerle la opcion de "ocultar documento" con un simple clic derecho!!...:D segui los pasos de nuevo y TIENES RAZON!!! espero sigas posteando kosas interesantes komo esta!! .....

P.D (puse esa pass en tu kuenta de gmail y no entra ;)... jajajjaa..ok bad joke...)

...na ya neto si rifa este articulo!!!

Cron dijo...

Este tutorial ha servido para darme cuenta de tres cosas:

a) Tas cabron, eres bien geek.
b) Hoy aprendi algo nuevo.
c) Habra que andarse con cuidado cuando te preste uno su computadora ¬¬

Schmidtsonian dijo...

jaja por si no lo has notado, hay personas que ya le temen a este wey jajajaj :P che reputacion radixz :P

Unknown dijo...

Bro,,,, despues de tanto tiempo.... no se cuanto hace k no te veo,,,, tal vez un año o mas.... todo ha dado un giro inesperado en sta miserable vida (ja ja sarkasmo) aun recuerdo akellas noches en las k no keria dejar de leer akellos manuales tan xtensos k llegue a leer... nunca olvidare al k me hizo entrar en ste mundo... vida si señor sto es vida... conocimientos y aprendizajes interminables... hasta la pirateria entre... cuantas cosas no he conseguido,,,,, no podria contarlas... le debo tantas cosas a mi mejor adkision,,, tu sabes cual es.... aunk no corra los juegos mas nuevos (ja ja aun sigo con mi tarjeta de vidio bahhh.... pa k la cambio aun se ve el codigo...) lamento informarte bro,,, siiii cai en el peor vicio.... tu sabes,,,, las fiestas conocer gente no deja nada bueno,,, ya no recuerdo cual fue el ultimo manual k lei,,, increible,,, no tengo ni un solo proyecto en mas de 6 meses,,, y el ultimo k recuerdo es el k hice para hacer un pinche disko pa las pedas.... maldita sea,,, k pasa x mi cabeza,,, alcohol y mas alcohol... el ultimo linux instalado,,, ferula... fuck fuck windows,,,, y lo sigo usando... chiiiiaaaaaa,,,,, si bro, lamento decirte k valio madres,,, las fiestas y las niñas han acaparado mi vida,,, gasto mi dinero en cosas k no deberia ( dentro de todo k riko es el pisto eehhh) en fin bro,,, despues de un pequeño resumen de mi jodida vida,,, stoy prometiendo hacer nuevos retos y proyectos,,,, spero contar con su apoyo,,, felicitarte x el blog,,, y un saludo a todos los cuates de x vida,,, mi kerido thyrael,,, y la famosisima fherska... aunk lejos,,, siempre staremos conectados,,, radix,,,, te kiero we (k te digo ya ando pedo) ja ja,,,, aun me debes unas chelas... ja solo una bro solo una,,, i promise.... see you in the next life... 666 ,,, aX3ls1p7 Szandor... readme,,,

Anónimo dijo...

en realidad no te comento sobre el tema solo es para saludarte como estas k haciendo saludines para todos desde tijuana b.c. :)

Anónimo dijo...

You is smart. Ojala un dia pudiera ser tan chingon. : )