it-swarm-es.tech

¿Por qué diablos NTFS permite ejecutables invisibles?

Puede ocultar cualquier archivo dentro de otro archivo simplemente escribiendo:

type sol.exe > container.txt:sol.exe

y para ejecutar el archivo oculto, simplemente use:

start c:\hide\container.txt:sol.exe

Pero la parte loca de esto es que no aumenta el tamaño del archivo (por lo que está totalmente oculto).

Y si elimina el archivo con las cosas ocultas adentro, las cosas ocultas no se eliminan. Solo usa:

more <  container.txt:sol.exe > sol.exe

¿Por qué NTFS permite esto? Parece la mejor forma de ocultar un virus.

104
Kredns

Esta cuestión tiene dos caras. La primera es por qué existe esta característica, y la segunda es por qué la GUI (o el símbolo del sistema) no hace que sea más fácil ver y administrar la característica.

Existe porque es útil. Varias otras plataformas admiten múltiples flujos de datos por archivo. En Mac, se llamaban bifurcaciones , por ejemplo. Estoy razonablemente seguro de que existían cosas similares en el mundo del mainframe, pero hoy no puedo poner mis dedos en ningún ejemplo explícito.

En Windows moderno, se usa para contener atributos adicionales para un archivo. Puede notar que el cuadro de Propiedades disponible en el Explorador de Windows tiene una pestaña Resumen que en la vista Simple (estoy en Windows XP, su millaje será diferente en los otros sabores) incluye un montón de campos útiles como Título, Asunto, Autor y así sucesivamente. Esos datos se almacenan en un flujo alternativo, en lugar de crear algún tipo de base de datos de sidecar para contener todo lo que se separaría del archivo con demasiada facilidad.

También se utiliza una secuencia alternativa para mantener el marcador que dice que el archivo proviene de una fuente de red que no es de confianza y que tanto Internet Explorer como Firefox aplican en las descargas.

La pregunta difícil es por qué no existe una mejor interfaz de usuario para darse cuenta de que las transmisiones existen, y por qué es posible poner contenido ejecutable en ellas y, lo que es peor, ejecutarlo más tarde. Si hay un error y un riesgo de seguridad aquí, es este.

Editar:

Inspirado por un comentario a otra respuesta, aquí hay una forma de averiguar si su protección antivirus y/o antimalware está al tanto de las transmisiones alternativas.

Obtenga una copia del archivo de prueba EICAR . Se trata de 68 bytes de texto ASCII que también es un ejecutable x86 válido. Aunque es completamente inofensivo, la industria antivirus ha acordado que se detecte como si fuera un virus real). Los creadores pensaron que probar el software AV con un virus real sería demasiado parecido a probar la alarma de incendio al prender fuego a la papelera ...

El archivo EICAR es:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Guárdelo con la extensión .COM y se ejecutará (a menos que su AV esté prestando atención) e imprimirá un saludo.

Sería informativo guardarlo en un flujo de datos alternativo y ejecutar un escaneo ...

98
RBerteig

Esta función es necesaria para una función multiplataforma de Windows Server: servicios para mac.

Esto permite que un servidor de Windows que se ejecute en NTFS comparta a Mac a través de AFP. Para que esta característica funcione, el sistema de archivos NTFS debe admitir bifurcaciones, y lo ha hecho desde el primer día.

Y antes de preguntar, ¿se sigue utilizando esta función? Sí, lo tengo funcionando y en uso a diario en un servidor en un cliente al que soy compatible.

El principal problema de seguridad surge cuando las personas y las aplicaciones olvidan o no se dan cuenta de que está ahí.

Sin embargo, probablemente debería haber una opción para incluir las bifurcaciones en el tamaño total del archivo o mostrarlas en el Explorador de Windows.

15
Bruce McLeod

Aquí hay un buen artículo sobre el potencial vulnerabilidad de seguridad planteado por Flujos de datos alternativos .

5
JP Alioto

Me imagino que uno de los usos principales (quizás incluso el uso previsto) sería permitir de forma transparente la adición de cualquier tipo de metadatos a un archivo. La razón por la que el tamaño del archivo no cambia es que en este escenario no desea que el archivo se vea o se comporte de manera diferente para que la aplicación de origen no dependa de algún aspecto de la apariencia del archivo.

Podría imaginar usos interesantes en IDE, por ejemplo, donde a veces se involucran varios archivos para formar una sola unidad (archivo de código/archivo de formulario, etc.), que podría adjuntarse al archivo original de esta manera para que no puedan separarse accidentalmente.

También creo que hay un comando para encontrar todos estos 'archivos adjuntos' en un árbol de directorio determinado, por lo que en realidad no están completamente ocultos. También me sorprendería si los mejores escáneres de virus no se dieran cuenta de esto y revisaran estas áreas 'ocultas', pero podría verificarlo adjuntando intencionalmente un ejecutable infectado a un archivo de texto y ver si se detecta.

5
jerryjvl

Buena pregunta, no estaba al tanto de ADS hasta el año pasado y he sido desarrollador de Windows durante muchos años. Puedo garantizar que no estoy solo en esto.

Con respecto a poder buscar datos alternativos en archivos, encontré la pequeña herramienta útil llamada Lads disponible en el software Frank Heyne. Puede enumerar ADS en todos los archivos de un directorio determinado, incluso en archivos cifrados (y también dentro de subdirectorios).

4
Ash