Menú
Está libre
registrarse
el principal  /  Consejo / Mediante el uso de flujos alternativos de NTFS. Corrientes de datos alternativos en NTFS o cómo ocultar Bloc de notas

Mediante el uso de flujos alternativos de NTFS. Corrientes de datos alternativos en NTFS o cómo ocultar Bloc de notas

El propósito de este artículo para explicar el significado.
Corrientes de datos adicionales (flujos de datos alternativos)
en las salas de operaciones sistemas de Windows,
Demuestra cómo crearlos y
comprometer el coche, cómo encontrar
Archivos ocultos usando públicamente disponibles
Utilidades. El primer paso tendrá que ser consciente
el significado de los anuncios y lo que amenazan llevan, entonces
Veamos cómo se usan para hackear.
Y finalmente, considera las herramientas.
Para detectar la actividad y cómo
deja de más trabajo ilegal con
con ellos.

¿Para qué?

Aparecieron flujos de datos adicionales en
Windows con NTFS. De hecho, por lo que yo
Entiendo, no había un punto particular en ellos, ellos
fueron hechos para la compatibilidad con HFS, VIEJOS
Sistema de archivos Macintosh - Sistema de archivos hierachical. Un negocio
que utiliza este sistema de archivos
tanto la rama de datos como la rama de recursos para
Almacenamiento de contenido. Rama de datos
En consecuencia, responsable del contenido.
documento, y la rama de los recursos para
Identificación de archivos - su tipo y otro
datos. Por ahora el tiempo de la existencia.
Corrientes adicionales de usuarios ordinarios.
Pocas personas lo saben. Sin embargo, en el mundo de la computadora.
seguridad tienen un cierto
Propagar. Por ejemplo, hackers malvados
Use anuncios para almacenar archivos en
computadoras hackeadas, así como a veces
Aplicar virus y otros malware. Un negocio
Después de todo, todo es que estas corrientes no son
visto por métodos convencionales, los mismos
Conductor o a través de la línea de comandos. Que
¿Están interesándose estas corrientes? Y que en el caso de
Las investigaciones de piratería no siempre pagan.
Atención sobre ellos, además, no todos los antivirus.
De forma predeterminada, mira a través de los arroyos en
Buscar software malicioso.

A negociar

Para entender un peligro real.
Los anuncios mejor demuestran trabajo con ellos.
En el ejemplo, utilizando el marco de Metasploit penetre
en el carro. Para esto usamos la vulnerabilidad.
MS04-011 (LSASS). Luego con la ayuda de los archivos de llenado TFTP,
que y ponen flujos adicionales
datos. Tan pronto como se complete en
Máquina remota corre desde el comando
escáner de filas que escanea la red en
Disponibilidad de otras máquinas. Nota,
que los autores del marco metasploit proporcionaron su
Creación firma metasploit, para que los creadores.
Los programas de protección podrían determinar el paquete.
Saliente de MF. Presta atención al paquete,
Saliente del atacante:

Aquí 192.168.1.102 Atacante de PC en
que es el marco de Metasploit, y 192.168.1.101 -
Vulnerable comp con Win2K Prof. En este caso, el eje.
Set sin parches y SPARS,
exclusivamente para objetivos de demostración
:). Tenga en cuenta que los anuncios en sí mismos no son
demasiado útil, naturalmente, por favor
Atacante solo si hay
Acceso al coche, vulnerabilidad del sistema en
sistema operativo. En esta red tu
Es poco probable que pueda encontrar W2K sin escrúpulo, por lo que
Tendrá que buscar otros principios.
penetración.

A continuación vemos que el ataque fue exitoso y en
La máquina de atacantes está abierta shell reversible,
Entregado. Predeterminado para esto
Vulnerabilidades en Metasploit Use Port 4321,
Sin embargo, se puede cambiar:

Penetrando el coche debe ser pasado allí.
Archivos. Para hacer esto, use TFTP, en este
Caso que obtenemos ipheye.exe.

De la misma manera, descargamos psexec.exe, pslist.exe y
klogger.exe. Hagamos la lista del directorio C: \\ Compaq \\,
Donde todo se derrumbó:

Dispara ahora Ipeye.exe con Stream,
asociado con un archivo existente
test_file.

Entonces lo mismo se puede hacer y agitar.
Otros archivos necesarios.
Tenga en cuenta que alternativa
La corriente se puede organizar no solo para
archivos, pero también para directorios, la misma C: \\ K
Ejemplo. Ejecutar el escáner sobre el que nos
habló al principio, ipeye.exe, en infectado
Ordenador:

c: \\ compaq \\ test_file: ipeye.exe

(Continuará)

El sistema de archivos NTFS tiene muchas oportunidades interesantes, una de las cuales es la presencia de flujos de datos alternativos (flujo de datos alternativos, anuncios). La esencia de ellos es que cada archivo en NTFS es un conjunto de hilos en los que se almacenan los datos. De forma predeterminada, todos los datos son principalmente un flujo, pero si es necesario, puede agregar datos adicionales, flujos de datos alternativos.

Nota. Los flujos de datos alternativos en NTF han aparecido hace mucho tiempo, incluso en Windows NT. Se crearon para la compatibilidad con el sistema de archivos HFS, que se usa en MacOS. HFS ha mantenido los datos de archivos en un flujo de recursos especial.

Los archivos en NTFS se dividen en atributos, uno de los cuales es $ DATA, o el atributo de datos. Los arroyos son las propiedades adicionales del atributo de $ DATA. De forma predeterminada, hay uno, la corriente principal. $ DATOS: "". Como puede ver, no tiene el nombre, por lo que llama. sin nombre. Además, si lo desea, puede crear flujos adicionales, llamados, por ejemplo. $ DATOS: "Stream1". Cada archivo en NTFS puede tener varias transmisiones de datos que contienen varios datos de cualquier manera.

Todos los datos registrados en el archivo están de forma predeterminada en el flujo de datos principal. Cuando abrimos el archivo, vemos exactamente la corriente principal, los flujos alternativos están ocultos del usuario y no se muestran utilizando agentes convencionales. No se pueden ver métodos estándarAunque algunos programas pueden leer los datos ocultos en ellos. Además, para trabajar con hilos, puede usar el símbolo del sistema.

Por ejemplo, abra la consola y se creará el comando ECHO. archivo de texto Streams.txt y escribe texto:

eCHO Esto es corriente principal\u003e Streams.txt

Y el siguiente equipo escribirá texto al flujo de flujo alternativo1:

eCHO Esto es corriente alternativa\u003e Streams.txt: Stream1

Si ahora abre el archivo Streams.txt en cualquier editor de texto¡Veremos solo el primer registro, el texto "Este es un flujo alternativo" permanecerá oculto. Para leer el escondite en la corriente de Stream1, puede el comando:

más

Los flujos alternativos se pueden agregar no solo a los archivos individuales, sino también a los directorios. Por ejemplo, agregue un flujo de Stream2 alternativo que contenga el texto "Ocultar Stream en Streams" al directorio de Streams actual:

echo Ocultar Stream en Streams\u003e: Stream2

Y retire el Stream2 Stream por el siguiente comando:

más<:stream2

Los contenidos de flujos alternativos se pueden abrir no solo en la consola. Por ejemplo, el Bloc de notas también sabe cómo acceder a los datos ocultos en secuencias si especifica el nombre del flujo alternativo en el nombre del archivo a través de Colón. Repetimos el ejemplo anterior, cambiando el nombre del flujo en Stream1.txt:

echo Este es un flujo alternativo\u003e Streams.txt: stream1.txt

Y abre un flujo alternativo en un equipo de notebook:

notepad Streams.txt: stream1.txt

Nota. El Bloc de notas estándar requiere la expansión de TXT en el nombre del flujo, de lo contrario, no podrá abrirlo. Los editores más avanzados, como el mismo bloc de notas ++, pueden mostrar el contenido de un flujo alternativo, independientemente de su nombre.

La presencia de flujos alternativos del archivo no se muestra en el conductor y otro gerentes de archivo. Para encontrarlos, la forma más fácil es utilizar el equipo. dir / r.(empezando con Windows Vista.), que muestra todos los flujos de datos, incluida la alternativa.

Puede parecer que el uso de flujos alternativos se limita a los datos de texto. Esto no es en absoluto, y en arroyos alternativos, puede almacenar absolutamente cualquier información. Por ejemplo, cree un archivo imágenes.txt y agregue un flujo PIC1.jpg a él, en el que la imagen del mismo nombre es:

echoimagen\u003e Picture.txt
Tipo pic1.jpg\u003e foto.jpg: pic1.jpg

Por lo tanto, externamente tenemos un archivo de texto regular, y para abrir una imagen desde un flujo alternativo en editor gráfico Pintar que usamos el equipo:

mspaint piminy.txt: pic1.jpg

De manera similar, cualquier dato se puede agregar a cualquier tipo de archivo: agregue imágenes a archivos de texto, agregue a los archivos de medios información de texto Y así. ¿Qué es interesante, el contenido alternativo no aumenta el tamaño de archivo visible, por ejemplo, agregando a 1KB a un archivo de texto de texto HD a 30 GB a 1KB, el conductor seguirá mostrando el tamaño del archivo 1KB.

Incluso en arroyos alternativos, puede ocultar archivos ejecutables. Por ejemplo, tome el archivo test.txt y agregue una aplicación de notebook (Notepad.exe) a un flujo alternativo Note.exe:

escribe notepad.exe\u003e \u200b\u200btest.txt: note.exe

Y para iniciar un cuaderno oculto, usamos el equipo:

iniciar. \\ Test.txt: note.exe

Por cierto, algunos programas maliciosos son utilizados por esta oportunidad, agregando un código ejecutable a la alternativa corrientes de NTFS.

Corrientes de utilidad.

Para trabajar con flujos alternativos, hay varias utilidades de terceros, como la consola de la utilidad de SysInternals. Puede determinar la presencia de flujos alternativos y eliminarlos. La utilidad no requiere instalación, es suficiente para desempacarla y ejecutar. Por ejemplo, verifique la presencia de flujos en el comando del equipo de Streams:

Streams.exe -s C: \\ Streams

Y eliminar flujos alternativos del archivo Streams.txt:

Streams.exe -d C: \\ Streams \\ Streams.txt

Potencia Shell

PowerShell también sabe cómo trabajar con arroyos alternativos: crear, detectar, mostrar sus contenidos e incluso eliminar. Por ejemplo, cree un archivo de texto:

New-item -Type File -path C: \\ Streams \\ Stream.txt

Agregue la entrada a la corriente principal:

Set-Content -Path C: \\ Streams \\ Stream.txt -Value "Stream principal"

Y en un flujo alternativo con el nombre segundo:

Establecer contenido -Path C: \\ Streams \\ Stream.TXT -Value "Segunda transmisión" -stream segundo

Luego traemos los contenidos de la principal.

CONTENIDO DE CONTENIDO -PATH C: \\ Streams \\ Stream.txt

y arroyos alternativos:

Contenido de Get-Content -Path C: \\ Streams \\ Stream.txt -stream segundo

Para detectar la presencia de flujos alternativos, puede usar el comando:

Get-artículo -Path C: \\ Streams \\ Stream.txt -stream *

Y puede eliminar hilos adicionales con el comando:

Eliminar-Artículo -Path C: \\ Streams \\ strereams.txt -stream *

Utilizando

Los flujos alternativos se utilizan tanto en la propia Windows como en algunos programas. Por ejemplo, Explorador de Internet. Divide la red a 4 zonas de seguridad y al descargar los archivos le agrega las etiquetas que contienen información sobre la zona desde la cual se cargaron.

Estas etiquetas se almacenan en un flujo alternativo y representan un número de 0 a 4:

Internet (3)
Red local (1)
Sitios confiables (2)
Sitios peligrosos (4)
Computadora local (0)

Para asegurarse de que nos muevamos a la carpeta de descarga, tome el archivo descargado desde Internet y compruebe para flujos alternativos. Como puedes ver, hay un arroyo con el nombre. Zona.identificadoren el que hay una cadena ZoneID \u003d 3..

Esto significa que el archivo se refiere a una zona de Internet no confiable, y cuando se descubre, es necesario tener cuidado. Algunos programas, como Word, leen estos datos al abrir el archivo y dar la advertencia apropiada.

Además, la infraestructura de clasificación de archivos (Infraestractura de clasificación de archivos, FCI) se basa en el uso de flujos alternativos. De programas de terceros Corrientes alternativos usan algunos programas antivirusEn particular, Kaspersky Anti-Virus almacena la suma de comprobación obtenida en ellas como resultado de la comprobación.

Sin embargo, el uso de flujos alternativos no se limita a esto, usted mismo puede encontrar cualquier solicitud para ellos. Por ejemplo, con su ayuda puede ocultar información individual de ojos extraños. Los archivos que contienen flujos alternativos se pueden copiar o transferir libremente del disco a disco, todas las transmisiones se copiarán junto con el archivo.

Y, sin embargo, cuando se usa hilos alternativos, es necesario recordar que están fuertemente atados al sistema de archivos NTFS. Para usarlos, los archivos deben ubicarse en discos con NTFS, respectivamente, trabajar con ellos solo desde debajo de Windows. Si mueve el archivo a cualquier otro sistema de archivosTodos los flujos, excepto que el principal se perderá. También se recortan flujos alternativos al transferir archivos a FTP o por envío como un archivo adjunto postal.
Tomado de http://windowsnotes.ru/other/alternativnye-potoki-dannyx-v-ntfs/

Aún:
ADS - File Fishka incorporado sistemas NTFSque no se puede apagar de ninguna manera.

Los anuncios le permiten agregar cualquier archivo a otros archivos e incluso directorios (!). El sistema operativo usa periódicamente, agregando el archivo "zona.identificador" descargado de Internet

Zone.Identifier puede, por cierto, editar, para deshacerse de las advertencias "Este archivo descargado de Internet. Abierto en modo seguro? ".

Puede agregar un flujo a cualquier archivo como este:
Tipo File1\u003e File2: File3

tratar de detectar
Dir / r.

ejecutar EXE así:
Iniciar archivo2: File3

si está trabajado, entonces:
Mklink file4 file2: file3
Iniciar archivo4.

Esto, por ejemplo, le dará una calculadora al disco raíz de (!) Y la inicie a través del enlace

El artículo está escrito para la revista "Hacker" en 2004. Salió en la habitación 09/04 (69) llamados "flujos destructivos".

Captando el siguiente sistema NT y estableciendo su software de espía casero, es necesario resolver el problema de almacenar la información recopilada en la computadora de la víctima. Generalmente el registro está escrito en un archivo simple en el catálogo con gran cantidad Archivos, por ejemplo, en System32.

Características de NTFS

Esto es común, pero lejos de la mejor manera Ocultar información en una computadora local. Existe la posibilidad de que el usuario notará un archivo adicional y actualizado constantemente, que de repente apareció repentinamente en su directorio del sistema. Agregar un registro a un archivo existente? Primero, debe encontrar dicho archivo, agregar a qué información no arruinará su contenido. ¿Qué pasa con mantener la información en un lugar así que no será visible desde el conductor, ni desde la línea de comandos, ni de ningún administrador de archivos? Esta característica nos proporciona el sistema de archivos NTFS. Rara vez lo cumplirá en la persona habitual de la persona doméstica, ya que la mayoría de los usuarios aún prefieren FAT32, incluso aquellos que están sentados bajo XP. Pero en la red local de cualquier empresa que trabaja en Win2K / XP, NTFS se usa casi seguramente, porque este sistema de archivos proporciona funciones, como asignar derechos de acceso a los usuarios, cifrado y compresión de archivos. Además, NTFS es mucho más confiable que FAT32. Por lo tanto, el método de ocultar los datos que describiré es ideal para el espionaje industrial. Con la llegada de Longhorn, NTFS tiene la oportunidad de establecerse y en los componentes domésticos, ya que el próximo sistema de archivos WINFS, basado en NTFS, promesas características adicionales en el pedido y búsqueda de información que debe atraer a los usuarios ordinarios.

Capping al archivo cualquier dato

El método es guardar los datos que no al archivo, como de costumbre, y en el archivo Stream NTFS. La corriente se puede adjuntar a otro archivo (en este caso, su tamaño no cambia, y los datos permanecen intactos y, por lo tanto, las utilidades que verifique que los CAMPS de los archivos no notarán cambios) al catálogo o al disco. Los flujos alternativos de archivos NTFS son una de las posibilidades de NTF, presentes en ella desde la primera vez versiones de Windows NUEVO TESTAMENTO. Se encuentra en el hecho de que un archivo puede tener varias transmisiones que contienen datos, con solo el hilo principal en el que se almacena el contenido del archivo. Algo similar se encuentra en el sistema de archivos HFS en Macs. Hay hilos (flujos) se llaman ramificación (horquillas). Hasta hace poco, se utilizaron como un repositorio de recursos de archivos o información contenida sobre el tipo de archivo. Con la llegada de MacOS X, Apple recomendó colocar recursos en archivos separadosy tipos de archivos para determinar las extensiones. Pero el apoyo de la ramificación permanece de todos modos. En Windows, los arroyos se usan generalmente para almacenar cualquier para más información Sobre el archivo. Por ejemplo, un flujo puede contener un resumen de documentos. Si el sistema está en el disco con NTFS, el archivo explorer.exe probablemente contiene un resumen. Dependiendo de los contenidos del resumen, las transmisiones con los nombres de laformación de resumen, documentosUnformeInformación y otros pueden adjuntarse al archivo. En mi computadora, encontré un arroyo llamado $ MOUNTMGRRREMOTATIADABASA, unido a la unidad C.

En los arroyos adjuntos al archivo de flujo solo puede aprender en algunos casos, por ejemplo, al copiar un archivo con un flujo adjunto a un disco con FAT / FAT32. Estos sistemas de archivos no los apoyan, por lo que el sistema le dará una solicitud para confirmar la pérdida de información en los flujos, lo que indica su nombre. Por supuesto, esta situación nunca surgirá si el hilo está conectado al disco o a la carpeta del sistema. No es necesario usar arroyos de spyware. Si usted es un desarrollador de programas shareware, puede usar fácilmente las transmisiones de información de flujo, el número de días antes de la expiración del término de uso, la palabra, todo lo que debe estar oculto a partir de su programa.

Trabajando con flujos

Al trabajar con archivos y flujos, hay similitudes y diferencias. Parece que no tanto. Tanto los archivos como sus flujos se crean y eliminan por las mismas funciones de Winapi CreateFile y DeleteFile. La lectura y la escritura se implementan, respectivamente, FUNCIONES FUNCIONES READESFILES Y WREDFILE. Hay similitudes sobre esta similitud, entonces se van algunas diferencias. En los nombres de los hilos pueden contenidos especialivers, que no pueden ser parte del nombre del archivo normal: como "*", "?", "<”, “>"," | " y símbolo de cotización. En general, cualquier nombre de la corriente se guarda en formato Unicode. Los horarios del rango 0x01 - 0x20 todavía se pueden utilizar. No hay una copia de flujo estándar y la función de transferencia: MoveFile y CopyFile no funcionan con hilos. Pero nadie se molesta para escribir sus funciones. Los hilos no tienen atributos, creación y fechas de acceso. Se heredan del archivo al que se adjunta. Si hay datos en el archivo en sí, también pueden representarse como un flujo. Los nombres de flujo se muestran como "Nombre de archivo: nombre de interior: atributo". El atributo de flujo estándar en el que se llaman los datos $ DATA. Hay muchos otros atributos cuyos nombres también están a partir del signo "$". Los contenidos del archivo se encuentran en el flujo sin nombre (Name_Name :: $ Datos). Con esta propiedad del sistema de archivos, representa el contenido del archivo en forma de un flujo, se conectó un error en el más viejo versiones de Microsoft IIS, cuando un hacker que quisiera conocer el texto de un script en un servidor vulnerable, simplemente agregó a su nombre ":: $ DATOS", y el servidor, en lugar de ejecutar el script, emitió su código fuente. Trabajar con arroyos es similar a trabajar con archivos. Listado 1. Este es un ejemplo simple de un programa que crea un archivo con un flujo y la información que le escribe. Después de iniciar el programa, aparecerá un archivo vacío "TestFile" en su directorio. Puedes ver los contenidos de la corriente adjunta escribiendo línea de comando "Más< testfile:stream». Как видишь, имя потока указывается после имени файла, отделенное от него знаком двоеточия. Самое трудное при работе с потоками – это получить их список для конкретного файла. Стандартной функции нет, и поэтому придется писать ее самому. Напишем небольшую programa de consolaque devolvería una lista de flujos por nombre de archivo. Tal programa es los chicos de Sysinternals, con fuente abiertaY ella trabaja, pero no me gustó su camino. Utilizan llamadas API nativas, y por lo tanto, su código es grande y difícil de entender. Escribiremos su PROG que funcionará desde la línea de comandos, con el algoritmo más simple y con las características de API estándar.

Recibimos una lista de flujos.

El algoritmo se basa en la aplicación de la función Backupread. Está destinado a copia de reserva archivos. Cuando tu lo hagas respaldo Archivo, es importante guardar la mayor cantidad de datos posible, incluidas las transmisiones de archivos. La información se toma de la estructura Win32_Stream_ID. Desde allí puede obtener el nombre de la corriente, su tipo y tamaño. Solo necesitaremos hilos como Backup_alternate_Data. Todas las funciones y estructuras se describen en archivo de cabecera Winnt.h. Primero, necesita abrir un archivo de lectura usando CreateFile. En el parámetro DWFLAGSANDATTRIBUTETRIBUTY, debe especificar la bandera FILE_FLAG_BACHUP_SEMANTICS, que le permitirá abrir no solo archivos, sino también directorios. Luego ejecute el ciclo del tiempo, que lee la información del archivo en la estructura SID, desde la cual obtendremos información sobre cada flujo. Antes del siguiente ciclo pase, limpiamos la estructura y cambiamos el puntero del archivo al siguiente hilo usando la función BackupseEk. Después de que se encuentren todos los arroyos, limpiamos LPContext que contiene información de servicio y cierre el archivo. El código fuente del programa se enumera al listado 2. Ya compilado PROG puede llevar de nuestro disco. Para trabajar con flujos, no es necesario escribir programas especiales. Puedes hacer algo directamente desde la línea de comandos. Se muestran varios ejemplos en la inserción.

Detección

Adjuntando el flujo con información a cualquier cosa, es difícil llegar a su contenido, sin saber su nombre. Si la corriente adjunta a lo lógico, entonces no hay herramientas estándarpara detectarlo. Dado que el nombre de flujo puede contener caracteres, no válido en los nombres de los archivos ordinarios, crea dificultades adicionales cuando intenta averiguar los contenidos del flujo utilizando la línea de comandos. Los contenidos de los informes de documentos generalmente se almacenan en un flujo con un título que contiene un símbolo con un código 0x05. Este símbolo se puede escribir en la consola (CTRL + E), pero si fuera un símbolo 0x10 o 0x13 (Transporte de devolución y traducción de fila), entonces serían imposibles de marcarlos. Teóricamente, puede conocer las transmisiones adjuntas por casualidad, utilizando algún software, que es probable que tenga en su computadora. WinRAR tiene una opción, y si está habilitada, puede notar que el tamaño de un pequeño archivo ubicado en el archivo no solo se reduce, sino que incluso aumenta (debido al hecho de que los datos en las transmisiones también se colocan en el archivo). Esto puede causar sospechas. Un programa para rastrear llamadas al sistema de archivos: el filemonitor de los mismos sistemas, no hace diferencias entre archivos o hilos. En consecuencia, se emitirá el estudio atento del registro de las apelaciones al disco de un programa sospechoso (su keylogger) y el nombre del flujo donde se escribe el registro, y el nombre del archivo al que se adjunta.

Virus

En septiembre de 2000, hubo un primer virus que utiliza flujos alternativos de archivos para su distribución. W2K.Stream fue el primer representante del nuevo tipo de virus - Stream Companion. Él está buscando archivos en su directorio .exe, y si encuentra, comienza el proceso de infección. Se adjunta un flujo adicional al archivo al que el virus transfiere el contenido del archivo original, y luego el cuerpo del virus se copia en la transmisión del archivo principal. Después de iniciar el archivo infectado, el virus vuelve a intentar infectar archivos en su directorio y luego inicia el programa desde el flujo adicional. De hecho, utilizando la función CreateProcess, puede ejecutar un proceso desde la secuencia. Además, el archivo con la corriente se puede eliminar con calma, y \u200b\u200bel proceso permanecerá. ¡Solo un cuento de hadas para Trojanov! A pesar del hecho de que, dado que la aparición de W2K.STREAM ha pasado casi cuatro años, no todos los antivirus pueden detectar código malicioso en flujos de archivos. Por lo tanto, la aparición de nuevos gusanos y virus que los usan puede ser un peligro grave.

Otros virus usando hilos.

Además de W2K.Stream, los arroyos encontraron uso en otros virus y gusanos. El primer gusano usado los flujos de archivos fue I-Worm.Potok. Este pequeño animal adjunta varios hilos al archivo ODBC.INI en el directorio de Windows y almacena los scripts para enviarle por correo. Otro virus es w2k.team. Descripción de estos y otros virus similares que puede encontrar en el sitio http://www.viruslist.com/

Trabajar con flujos de consola.

Creación de un archivo de transmisión:
Tipo NUL\u003e ALGANEFILE.TXT: STROP

Entrada de la corriente:
Echo "algo" \u003e\u003e someFile.txt: Stream

Lectura de flujo:
Más< somefile:Stream

Copie el contenido de un archivo existente en la transmisión:
Escriba file1.txt \u003e\u003e someFile.txt: Stream

Copiando el contenido de la transmisión al archivo:
Más< somefile.txt:Stream >\u003e File2.txt

Eliminación de arroyos

Existe una opinión de que el flujo solo se puede eliminar con el archivo al que se adjunta. Esto no es verdad. Si conoce el nombre de la secuencia, siempre puede eliminarlo con una función de Función de acceso aleteo estándar.

Listado 1. Ejemplo de creación de un flujo.

#Incluir. INT principal () (DWORD DWRET; manejar hstream \u003d CreateFile ("TestFeFile: Stream", Generic_Write, File_Share_Write, Null, Open_always, Null, Null); WriteFile (HFile, "Este es un arroyo", 17, & Dwret, Null) ; Closehandle (Hstream); devolver 0;)

Listado 2. X-Stream: Programa que muestra una lista de flujos

#Incluir. #Incluir. #Incluir. #Incluir. int _tmain (int argc, _tchar * argv) (win32_stream_id sid; zeromemory (& sid, sizeof (win32_stream_id)); DWORD DW1, DW2, DREADOS; INT Numofstreams \u003d 0; // Búfer para el nombre del flujo en Unicode WCHAR WSZStreamName ; lpvoid lpcontext \u003d null; / * * Abra el archivo para leer con el parámetro * file_flag_backup_semantics, que nos permite abrir no solo archivos, sino también directorios con discos. * / manejar hfile \u003d createfile (Argv, Generic_Read, File_Share_Read, NULL, open_existing, file_flag_backup_semantics, null); if (hfile \u003d\u003d inválido_handle_value) (Printf ("\\ NError: podría" abrir el archivo, el directorio o el disco% s \\ n ", ARGV); salida (0);) DWORD DWStreamHeadersize \u003d (LPBYTE ) & sid.cstreamname - (lpbyte) & sid + sid.dwstreamnamesize; printf ("\\ Nstreams información para% s: \\ n", argv); mientras (Backupread (HFile, (LPBYTE) & SID, DWSTEAMHEADERSIZE, & DREAD Falso, VERDADERO, & LPContext)) (/ / Si el tipo de flujo es incorrecto, luego interrumpe el ciclo IF (sid.dwstreamid \u003d\u003d backup_invalid) Break; Zeromemory (& wszstreamname, sizeof (Wszstreamname)); // Obtenga el nombre de la flecha de IF (! Backupread (HFile, LPBYTE) WszStreamName, Sid.Dwstreamnamesize, & DREADE, FALSE, TRUE, & LPContext)) Break; if (sid.dwstreamid \u003d\u003d backup_data || sid.dwstreamid \u003d\u003d backup_alternate_data) (numofstreams ++; printf ("\\ n \\ nstream \\ t \\ t #% u", numofstreams); interruptor (sid.dwstreamid) (Casas Backup_Data : Printf ("\\ nname: \\ t \\ t :: $ DATOS"); ROTAZA; CASO BACKUP_ALERNATE_DATA: PRUPTF ("\\ NNAME: \\ t \\ t% s", wszstreamname); romper;) printf ("\\ nesize: \\ nesize T \\ t% u \\ n ", sid.size);) // Muévete a la siguiente secuencia de backupseek (hfile, sid.size.lowpart, sid.size.highpart, & dw1, & dw2, & lpcontext); // Limpie la estructura antes del siguiente paso del ciclo Zeromemory (& SID, STEEDOF (SID)); ) // limpiar LPContext que contiene información de servicio // para trabajar Backupead Backupead (HFile, NULL, NULL, & DRESE, VERDADERO, FALSO, & LPContext); // cerrar el archivo CloseHandle (HFile); Return 0; )

El tema de los flujos de archivos también tiene lo siguiente:

  • Programa de NTFS Stream Explorer 2.00 para trabajar con Streams NTFS y

Corrientes de datos alternativos en NTFS

El sistema de archivos NTFS tiene muchas oportunidades interesantes, una de las cuales es la presencia de flujos de datos alternativos (flujo de datos alternativos, anuncios). La esencia de ellos es que cada archivo en NTFS es un conjunto de hilos en los que se almacenan los datos. De forma predeterminada, todos los datos son principalmente un flujo, pero si es necesario, puede agregar datos adicionales, flujos de datos alternativos.

Nota. Los flujos de datos alternativos en NTF han aparecido hace mucho tiempo, incluso en Windows NT. Se crearon para la compatibilidad con el sistema de archivos HFS, que se usa en MacOS. HFS ha mantenido los datos de archivos en un flujo de recursos especial.

Los archivos en NTFS se dividen en atributos, uno de los cuales es $ DATA, o el atributo de datos. Los arroyos son las propiedades adicionales del atributo de $ DATA. De forma predeterminada, hay uno, la corriente principal. $ DATOS: "". Como puede ver, no tiene el nombre, por lo que llama. sin nombre. Además, si lo desea, puede crear flujos adicionales, llamados, por ejemplo. $ DATOS: "Stream1". Cada archivo en NTFS puede tener varias transmisiones de datos que contienen varios datos de cualquier manera.

Todos los datos registrados en el archivo están de forma predeterminada en el flujo de datos principal. Cuando abrimos el archivo, vemos exactamente la corriente principal, los flujos alternativos están ocultos del usuario y no se muestran utilizando agentes convencionales. No se pueden ver en formas estándar, aunque algunos programas pueden leer los datos ocultos en ellos. Además, para trabajar con hilos, puede usar el símbolo del sistema.

Por ejemplo, abra la consola y use el comando ECHO, cree un archivo de texto Streams.txt y escriba texto:

eCHO Esto es corriente principal\u003e Streams.txt

Y el siguiente equipo escribirá texto al flujo de flujo alternativo1:

eCHO Esto es corriente alternativa\u003e Streams.txt: Stream1

Si ahora abre el archivo Streams.txt en cualquier editor de texto, solo veremos el primer registro, el texto "Este es un flujo alternativo" permanecerá oculto. Para leer el escondite en la corriente de Stream1, puede el comando:

más

Los flujos alternativos se pueden agregar no solo a los archivos individuales, sino también a los directorios. Por ejemplo, agregue un flujo de Stream2 alternativo que contenga el texto "Ocultar Stream en Streams" al directorio de Streams actual:

echo Ocultar Stream en Streams\u003e: Stream2

Y retire el Stream2 Stream por el siguiente comando:

más<:stream2

Los contenidos de flujos alternativos se pueden abrir no solo en la consola. Por ejemplo, el Bloc de notas también sabe cómo acceder a los datos ocultos en secuencias si especifica el nombre del flujo alternativo en el nombre del archivo a través de Colón. Repetimos el ejemplo anterior, cambiando el nombre del flujo en Stream1.txt:

echo Este es un flujo alternativo\u003e Streams.txt: stream1.txt

Y abre un flujo alternativo en un equipo de notebook:

notepad Streams.txt: stream1.txt

Nota. El Bloc de notas estándar requiere la expansión de TXT en el nombre del flujo, de lo contrario, no podrá abrirlo. Los editores más avanzados, como el mismo bloc de notas ++, pueden mostrar el contenido de un flujo alternativo, independientemente de su nombre.

La presencia de flujos alternativos del archivo no se muestra en el Explorador y otros administradores de archivos. Para encontrarlos, la forma más fácil es utilizar el equipo. dir / r. (Comenzando con Windows Vista), que muestra todos los flujos de datos, incluida la alternativa.

Puede parecer que el uso de flujos alternativos se limita a los datos de texto. Esto no es en absoluto, y en arroyos alternativos, puede almacenar absolutamente cualquier información. Por ejemplo, cree un archivo imágenes.txt y agregue un flujo PIC1.jpg a él, en el que la imagen del mismo nombre es:

echoimagen\u003e Picture.txt
tipo pic1.jpg\u003e foto.jpg: pic1.jpg

Por lo tanto, externamente tenemos un archivo de texto regular, y para abrir una imagen desde un flujo alternativo en el editor de gráficos de pintura, usamos el comando:

mspaint piminy.txt: pic1.jpg

De manera similar, cualquier dato se puede agregar a cualquier tipo de archivo: agregue imágenes a los archivos de texto, agregue información de texto a los archivos de medios, etc. ¿Qué es interesante, el contenido alternativo no aumenta el tamaño del archivo visible, por ejemplo, agregando a 1KB Archivo de texto HD Video a 30GB El conductor seguirá mostrando el tamaño del archivo 1KB.

Incluso en arroyos alternativos, puede ocultar archivos ejecutables. Por ejemplo, tome el archivo test.txt y agregue una aplicación de notebook (Notepad.exe) a un flujo alternativo Note.exe:

escribe notepad.exe\u003e \u200b\u200btest.txt: note.exe

Y para iniciar un cuaderno oculto, usamos el equipo:

iniciar. \\ Test.txt: note.exe

Por cierto, algunos programas maliciosos son utilizados por esta oportunidad, agregando un código ejecutable a los flujos alternativos de NTFS.

Corrientes de utilidad.

Para trabajar con flujos alternativos, hay varias utilidades de terceros, como la consola de la utilidad de SysInternals. Puede determinar la presencia de flujos alternativos y eliminarlos. La utilidad no requiere instalación, es suficiente para desempacarla y ejecutar. Por ejemplo, verifique la presencia de flujos en el comando del equipo de Streams:

Streams.exe -s C: \\ Streams

Y eliminar flujos alternativos del archivo Streams.txt:

Streams.exe -d C: \\ Streams \\ Streams.txt

Potencia Shell

PowerShell también sabe cómo trabajar con arroyos alternativos: crear, detectar, mostrar sus contenidos e incluso eliminar. Por ejemplo, cree un archivo de texto:

New-item -Type File -path C: \\ Streams \\ Stream.txt

Agregue la entrada a la corriente principal:

Set-Content -Path C: \\ Streams \\ Stream.txt -Value "Stream principal"

Y en un flujo alternativo con el nombre segundo:

Establecer contenido -Path C: \\ Streams \\ Stream.TXT -Value "Segunda transmisión" -stream segundo

Luego traemos los contenidos de la principal.

CONTENIDO DE CONTENIDO -PATH C: \\ Streams \\ Stream.txt

y arroyos alternativos:

Contenido de Get-Content -Path C: \\ Streams \\ Stream.txt -stream segundo

Para detectar la presencia de flujos alternativos, puede usar el comando:

Get-artículo -Path C: \\ Streams \\ Stream.txt -stream *

Y puede eliminar hilos adicionales con el comando:

Eliminar-Artículo -Path C: \\ Streams \\ strereams.txt -stream *

Utilizando

Los flujos alternativos se utilizan tanto en la propia Windows como en algunos programas. Por ejemplo, Internet Explorer divide la red a 4 zonas de seguridad y al descargar los archivos agrega etiquetas a ellos que contienen información sobre la zona desde la cual se han cargado.

Estas etiquetas se almacenan en un flujo alternativo y representan un número de 0 a 4:

Internet (3)
Red local (1)
Sitios confiables (2)
Sitios peligrosos (4)
Computadora local (0)

Para asegurarse de que nos muevamos a la carpeta de descarga, tome el archivo descargado desde Internet y compruebe para flujos alternativos. Como puedes ver, hay un arroyo con el nombre. Zona.identificadoren el que hay una cadena ZoneID \u003d 3..

Esto significa que el archivo se refiere a una zona de Internet no confiable, y cuando se descubre, es necesario tener cuidado. Algunos programas, como Word, leen estos datos al abrir el archivo y dar la advertencia apropiada.

Además, la infraestructura de clasificación de archivos (Infraestractura de clasificación de archivos, FCI) se basa en el uso de flujos alternativos. De los programas de terceros, los flujos alternativos utilizan algunos programas antivirus, en particular, Kaspersky Anti-Virus almacena la suma de comprobación en ellos obtenida como resultado de la prueba.

Sin embargo, el uso de flujos alternativos no se limita a esto, usted mismo puede encontrar cualquier solicitud para ellos. Por ejemplo, con su ayuda puede ocultar información individual de ojos extraños. Los archivos que contienen flujos alternativos se pueden copiar o transferir libremente del disco a disco, todas las transmisiones se copiarán junto con el archivo.

Y, sin embargo, cuando se usa hilos alternativos, es necesario recordar que están fuertemente atados al sistema de archivos NTFS. Para usarlos, los archivos deben ubicarse en discos con NTFS, respectivamente, trabajar con ellos solo desde debajo de Windows. Si mueve el archivo a cualquier otro sistema de archivos, entonces todos los flujos excepto la principal se perderán. También se recortan flujos alternativos al transferir archivos a FTP o por envío como un archivo adjunto postal.

& Nbsp & nbsp La mayoría de los usuarios de modernos sistemas operativos familiares con Windows se enfrentaron a una situación en la que el archivo de ayuda en formato CHM (Módulo de ayuda compilado) se abre solo parcialmente: solo puede ver la tabla de contenidos sin el contenido de sus artículos:

Además, al intentar abrir el archivo CHM contenido en general carpeta de redUsando la ruta de la Convención Universal de la Convención (Convenio de Nombres Universal), por ejemplo, \\\\ Server \\ H \\ help.chm. Sus secciones no se muestran. En otras palabras, normalmente puede ver los archivos.chm en los casos en que no se recibieron sobre la red.

Se observa una imagen similar cuando intenta abrir el archivo ejecutable que se ha cargado de la red. Verá un sistema de advertencia de seguridad:

Además, el mismo archivo extraído del archivo que también se cargó de internet, sobre el este computador Se puede abrir sin ningún problema. De hecho, toda la diferencia consiste solo en que el archivo se abrió localmente, en el proceso de descompresión, y no cargado a través de la red. En otras palabras, Windows tiene la capacidad de determinar el origen de la red del archivo y responderle utilizando ciertas configuraciones del sistema de seguridad.

El mecanismo para determinar los archivos de origen de la red.

En el sistema de archivos NTFS, cada archivo (o directorio) se presenta como un conjunto. elementos individuales, llamada atributos. Elementos como el nombre de archivo, la configuración de seguridad e incluso los datos, todos los atributos de este archivo. Cada atributo se identifica mediante el código de tipo de atributo y, opcionalmente, el nombre del atributo. Entonces, por ejemplo, el nombre del archivo está contenido en el atributo Nombre del archivo., contenido - en atributo Datos., información sobre los derechos del propietario y de acceso, en el atributo. Descriptor de seguridad etc. El contenido de cada archivo ($ DATA ATERTINT) es un conjunto arroyodonde se almacenan los datos. Para cada archivo o directorio en NTFS, hay al menos uno, la corriente principal en la que se almacena los datos en sí. Sin embargo, además de la corriente principal, el archivo o directorio se puede conectar y alternativa (UNA.alternar. D.ata S.tREAM - ADS), que también pueden contener algunos datos, de ninguna manera asociados con los datos de la corriente principal. El flujo principal del archivo no tiene un nombre y se indica como $ DATOS: "". Los arroyos alternativos necesariamente tienen un nombre, por ejemplo. $ DATOS: "SROPSDATA" - Corriente alternativa nombrada Streamdata.

Al realizar funciones de grabación de datos al archivo, se colocan en el flujo de datos principal. Cuando abramos, por ejemplo, un archivo de texto con un portátil, obtenemos acceso a los datos de la corriente principal. Los datos de flujos alternativos, al usar el acceso estándar, también se muestran, ni siquiera existen signos de su presencia. Sin embargo, estos flujos alternativos asociados con archivo específico o el catálogo puede estar disponible con programas especiales O cuando se utiliza una sintaxis especial en el símbolo del sistema de Windows.

Por ejemplo, escribiendo al comando Test.txt File Text eco.:

datos de transmisión principales de ECHO\u003e Test.txt - Escriba el texto "Datos principales de la transmisión" al archivo test.txt¿Qué hace el registro en el flujo principal sin nombre?

Pero puedes cambiar el comando:

eCHO Datos de flujo alternativos\u003e Test.txt: Stream1 - Escriba el texto "Datos de flujo alternativos" en un flujo alternativo llamado stream1 Archivo test.txt

Ahora puede abrir, por ejemplo, un portátil cada uno de los arroyos:

notepad Test.txt - Los contenidos de la corriente principal con el texto "Datos principales de flujo".

notepad Test.txt: Stream1 - Se abrirá los contenidos de un flujo alternativo con el texto "Datos de flujo alternativos"

Sin embargo, los flujos alternativos, ser invisibles para las herramientas estándar para trabajar con los objetos del sistema de archivos se usan muy a menudo para almacenar información adicional sobre los archivos y otras información del servicio. Por ejemplo, al descargar archivos de Internet, los navegadores agregan un flujo alternativo con el nombre Zona.identificadorque se puede abrir el bloc de notas como en el ejemplo anterior

bloc de notas% userprofile% \\ descargas \\ chromesetup.exe: zona.identificador - Abra un flujo alternativo en el cuaderno llamado Zona.identificador Chrotesetup.exe. No puede especificar la ruta al archivo al haber completado previamente el comando de transición al directorio de archivos descargables del usuario actual (cuando ubicación estándar Carpetas de usuario de utilidad):

cD% userprofile% \\ descargas - Ir al directorio de archivos descargables.

notepad chrotesetup.exe: zona.identificador - Abra un arroyo alternativo llamado Zona.identificador Para el archivo de instalación navegador de Google Chrome con el nombre Chrotesetup.exe. en el directorio actual.

Como vemos, los contenidos del flujo alternativo contienen cadenas:

- Signo de sección con una descripción de la zona de transmisión de datos.
ZoneID \u003d 3. - Identificador de zona.

Esta información hace posible determinar el origen del archivo por identificador. Zona:

0 - computadora local (Local).
1 - local la red local (Intranet)
2 - Sitios de Internet confiables (sitios de confianza)
3 - internet (internet)
4 - Sitios peligrosos (sitios restringidos)

Dicha definición de zonas, por ejemplo, corresponde a la configuración de la entrevista de seguridad de Internet Explorer:

En este caso, puede determinar qué archivo Chrotesetup.exe. Se obtuvo de Internet (identificador de zona \u003d 3). Cuando inicie dicho archivo, se presentará un sistema de seguridad para una fuente poco fiable. Las herramientas de seguridad de la aplicación están trabajando de una manera similar. Microsoft Office.Cuando le advierte sobre el peligro de abrir archivos que se han descargado de Internet. Por la misma razón, los contenidos de los archivos de certificado en el formato de CHM no se abren: el contenido de un flujo alternativo le permite clasificarlos como peligrosos, independientemente del peligro real o inexistente.

Intenta cambiar el mismo bloc de notas, el valor de ZoneID en 0 Lo que cumplirá con el origen local del archivo, y la advertencia de seguridad desaparecerá, así como problemas con los documentos de apertura de la oficina o particiones de certificados de archivos VCHM.

El comportamiento similar de los sistemas de seguridad estará en los casos en que elimine los contenidos de un flujo alternativo (para que esté vacío), o alternativamente eliminar el flujo alternativo.

Comenzando con Windows 7 para obtener una lista de flujos de archivos alternativos, puede usar el comando Dir. con parámetro / R.:

dir / r% userprofile% \\ descargas - Muestra una lista de archivos y flujos alternativos en el catálogo. Descargas. El usuario actual.

Para trabajar con arroyos alternativos en cualquier versión de Windows, puede usar la utilidad streams.exe. De la alineación paquete de software Microsoft Sysinternals Suite. El paquete contiene muchos programas pequeños para diagnosticar, optimización y administración, incluida una utilidad que le permite completar las desventajas en el trabajo con flujos alternativos.

Formato de línea de comandos:

streams.exe [-s] [-d] archivo o directorio

Configuración de la línea de comandos:

-s. - Procesar subdirectorios.
-D. - Eliminar flujos alternativos.
-Nobanner. - No muestre la Banner inicial y la información de los derechos de autor.

Ejemplos de uso:

streams.exe /? - Muestra un certificado para usar el programa.

arroyos myfile.txt - Mostrar información de flujo de archivos myfile.txt

arroyos -d myfile.txt - Eliminar flujos alternativos de archivos myfile.txt

streams -d -s D: \\ descargas \\ *. * - Eliminar flujos alternativos de todos los archivos y subdirectorios en el catálogo D: \\ descargas \\

EN sistemas operativos Windows 8 y posteriores, el Shell de comandos de PowerShell también le permite trabajar con flujos alternativos:

Get-artículo -Path -Path C: \\ FirefoxSetup.Exe -Stream * - Pantalla C: \\ FirefoxSetup.exe Información de campo de archivo.

CONTENIDO DE CONTENIDO -PATH C: \\ FireFoxSetup.Exe -Stream Zone.identificador - Mostrar contenido de flujo alternativo Zona.identificador Archivo C: \\ firefoxsetup.exe

Eliminar-artículo -Path C: \\ firefoxsetup.exe -stream * - Eliminar todos los archivos alternativos relacionados con el archivo C: \\ firefoxsetup.exe

Eliminar-Artículo -Path C: \\ firefoxsetup.exe -stream zona.identificador - Eliminar la corriente alternativa Stream Zone.identifierasociado con el archivo C: \\ firefoxsetup.exe.

La información sobre las zonas de seguridad se usa ampliamente en políticos grupales, y en particular, el despachador de inversión de Windows realizó funciones de protección de malware que pueden estar contenidas en inversiones postales o archivos descargados desde internet. El sitio web de Microsoft contiene un artículo detallado sobre las formas de configurar el despachador de inversión y resolver problemas asociados con él:
Descripción del gerente de trabajo del archivo adjunto, que ingresa al sistema de Microsoft Windows.

En conclusión, agregaré que las transmisiones alternativas son propiedad del sistema de archivos NTFS, y, por ejemplo, en FAT32 no son compatibles. En consecuencia, al copiar archivos de NTFS a cualquier otro sistema de archivos, se descartan flujos alternativos.