[Remembranza] Alternate Data Stream

Los sistemas de ficheros NTFS ofrecen una extraordinaria característica para "guardar compatibilidad" con el HFS de Macintosh, el ADS, sin embargo no ofrece herramientas para administrarlo correctamente.

En general un archivo (como uno lo ve) es en realidad una colección de flujos de datos (stream) que definen los permisos, los accesos, el contenido, etc... Hasta acá todo normal, sin embargo NTFS nos da la posibilidad de asociar unos stream con otros stream en el mismo archivo... Pero ¿eso qué significa? Pues significa que se puede camuflar un archivo entre otro, sin alterar la apariencia, ni la información del archivo recipiente, y haciendo "invisible" al archivo camuflado. Todo sin necesidad de ninguna herramienta.

Supongamos dos archivos:

Ahora supongamos que necesitamos ocultar 'archivo1.txt' por algún motivo, pues gracias a ADS lo único que debemos hacer es:

Con lo que le estamos diciendo a Windows que meta ('>') el 'archivo1.txt' en 'file1.txt' y que le ponga como identificador (':') 'nombre.txt'. El comando 'type' sirve para "Mostrar el contenido de uno o varios archivos de texto", en este caso se usa para forzar los contenidos. Si borramos el archivo camuflado y luego revisamos, vamos a encontrar:

Asi pues 'archivo1.txt' habrá "desaparecido" por completo. Si deseamos ver ambos contenidos (independientemente)solo hacemos:

Usamos 'more' para archivos de texto, aunque si es otro tipo de archivo se puede usar 'start', el cual deja al OS que escoja que aplicativo va con cada tipo de archivo:

Cabe recalcar que no importa el tipo que tengan ambos archivos. Así mismo es posible realizar ADS sobre directorios de la siguiente manera:

De modo que el OS entiende que meta 'archivo1.txt' en el directorio actual ('carpeta' en este caso) con el identificador 'nombre.txt'.

Las posibilidades son infinitas, pero si necesitamos auditar archivos con ADS ya existe una poderosa herramienta que hace ese trabajo por nosotros: LADS.

hacker emblem