El NTFS de Windows: su lado oculto y el peligro de los nuevos virus




Debido a su estabilidad, funcionalidad y el alto nivel de seguridad que nos proporciona, el sistema de archivos NTFS es el preferido y utilizado en prácticamente todas las plataformas NT, W2000 y XP. Una de las características desconocidas en el sistema de archivos NTFS son los "alternate data streams" (ADS) los cuales existen por compatibilidad con el sistema de archivos "Macintosh Hierarchical File System" (HFS) y se usan para mantener información asociada con un fichero: iconos por ejemplo. Microsoft da los medios de creación para ADS's específicas a través de Windows Explorer tal y como veremos posteriormente, pero las herramientas necesarias para detectar la presencia de ADS's arbitrarias están "misteriosamente" ausentes. El sistema operativo tiene la funcionalidad nativa y ciertas herramientas para permitir a un usuario crear ADS's y ejecutar código oculto en estos "streams". En el artículo Q101353 se reconoce que el API Win32 soporta ADS's incoherentemente. Veamos en detalle cómo crear y manipular y cómo ocultar código en ADS's que puede ser ejecutado. Existen ligeras diferencias en el tratamiento de ADS's entre NT, W2000 y XP. Las pruebas y ejemplos presentados en este documento se CREANDO UN ADS La sintaxis de creación es relativamente sencilla. Para crear un ADS asociado con un fichero, por ejemplo: fichero.txt, simplemente añadir a continuación el carácter de dos puntos ":" y el nombre "stream". Vamos a crearnos un directorio de trabajo llamado ADS. Para ello, abrimos una consola de comandos (Inicio->Ejecutar->cmd) y tecleamos: cd \ md ads cd ads La creacion más simple es: C:\ADS>echo este es un texto de prueba > fichero.txt:oculto Si a continuación ejecutamos un "dir" o bien accedemos a él con el explorador, veremos únicamente el fichero: "fichero.txt" con tamaño cero. Si ejecutamos: more < fichero.txt:oculto nos mostrará el contenido real del stream: "este es un texto de prueba". Además, un ADS puede crearse usando el contenido de otro fichero. Por ejemplo: C:\ADS>echo este es otro texto de prueba > texto.txt C:\ADS>type text.txt > fichero.txt:oculto2 Podemos comprobar otra vez el fichero mediante el comando "more". Si intentamos abrir el fichero de texto, fichero.txt mediante el Notepad, por ejemplo, veremos que nos da mensajes extraños de petición de creación del archivo (que ya existe!!!!). Curiosamente, aunque con un dir, o con el explorador, sólo veamos un archivo de tamaño cero llamado fichero.txt, podremos comprobar con los comandos: more < fichero.txt:oculto more < fichero.txt:oculto2 que existen realmente los dos contenidos que hemos guardado previamente. Pueden crearse igualmente ADS's asociados a la propia carpeta o directorio si no damos nombre de fichero. Es decir: C:\ADS>echo Este ADS se crear para el directorio > :oculto Exactamente igual, podremos crear ADS's, que en vez de contener texto, contengan código ejecutable: C:\ADS>type c:\windows\notepad.exe > fichero.txt:np.exe C:\ADS>type c:\windows\system32\sol.exe > fichero.txt:sol2.exe De la misma forma, ficheros de imágenes, de audio o cualquier otro flujo de datos pueden ocultarse en ADS's. Antes de continuar con las herramientas necesarias para poder ver los ADS's creados, (ya que hasta el momento, estamos "ciegos". Sólo podemos ver un archivo llamado "fichero.txt" con tamaño cero... Pero realmente tenemos dos archivos de texto y dos con código ejecutable), hemos visto el comando "more" para los de texto. Para los otros dos, podemos ejecutarlos tecleando: C:\ADS>start .\fichero.txt:np.exe (evidentemente ejecuta un Notepad) C:\ADS>start .\fichero.txt:sol2.exe (nos ejecutará el solitario) Debemos fijarnos que ambos ficheros, aunque no los veamos, son reales. No son un "enlace" a los originales, sino que contienen el código real del Notepad y del solitario. Si somos un poco osados, podemos guardar el código de un virus en uno de estos archivos, y si ejecutamos un antivirus, veremos que sorprendentemente NO lo localiza. Aunque parezca que es dificil la ejecución de un ADS, es sencillísimo comprobar que no es así. En particular, las rutinas en un script de VB se ejecutan perfectamente. Por ejemplo podemos crear: C:\ADS>echo MsgBox "Prueba de mensaje en VB" > fichero.txt:codigo.vbs Y ejecutar: C:\ADS>start .\fichero.txt:codigo.vbs Igualmente puede ser invocado desde Perl sin más que preparar un sencillo script: #! c:\perl\bin\perl.exe # file name: adsfun.pl use strict; my $filename = 'c:\ads\fichero.txt:codigo.vbs'; my $results = system($filename); CREACIÓN DE ADS'S CON LAS HERRAMIENTAS DE WINDOWS Podemos igualmente crear un fichero de texto normal con el Notepad. Creamos un fichero llamado prueba.txt en la carpeta ADS anterior, una vez creado, lo salvamos y miramos su tamaño exacto en bytes. Posteriormente con el explorador de Windows, con el botón derecho sobre él, propiedades, en la última pestaña, cumplimentamos los datos de título, autor, etc?. Sorprendentemente podemos comprobar que el tamaño del archivo no ha variado. La pregunta es entonces: ¿Dónde se guardan los datos que hemos añadido como propiedades de dicho archivo?. La respuesta es sencilla: en unos ADS's que el sistema automáticamente crea. ¿CÓMO PODEMOS VER LOS ADS'S? Existen varias herramientas para poderlo verificar. En particular el clásico streams.exe de Wininternals. Pero es una herramienta engorrosa de manejar. La herramienta más sencilla es debida a Frank Keyne y es el programa LADS.EXE. http://www.heysoft.de/nt/lads.zip Descargando el programa desde el link anterior, podemos ejecutarlo sobre la carpeta ADS creada anteriormente y nos mostrará los ADS creados con los ejemplos anteriores. C:\ADS>LADS LADS - Freeware version 3.10 This program lists files with alternate data streams (ADS) Use LADS on your own risk! Scanning directory I:\ADS\ size ADS in file ----------------------- 38 I:\ADS\fichero.txt:codigo.vb 35 I:\ADS\fichero.txt:codigo.vbs 28 I:\ADS\fichero.txt:oculto 116 I:\ADS\prueba.txt:?DocumentSummaryInformation 172 I:\ADS\prueba.txt:?SummaryInformation 0 I:\ADS\prueba.txt:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d} 389 bytes in 6 ADS listed Tal y como hemos visto, los ADS's son una característica de los archivos NTFS para compatibilizar con HFS. Sin embargo, la pérdida de "visibilidad" que esta característica posee tiene un riesgo potencial bastante elevado para los Administradores del sistema. Debemos tener presente que no todas las herramientas, ni tan siquiera de Windows, son capaces de tratar correctamente los ADS's. Por ejemplo, los defragmentadores, no defragmentarán dichos archivos. Los antivirus, la mayoría de ellos, no diagnostican virus en los ACL's, y los que son capaces de diagnosticarlos no tienen capacidad para eliminarlos. Los fabricantes de antivirus empiezan a ser conscientes de esta problemática y en breve serán capaces de tratarlos. Referencias y Créditos: RUSS00 Russinovich, M., Inside Win2K NTFS, Part 2 , Windows 2000 Magazine, November, 2000 MCCL99 McClure, S., Scambray, J., and Kurtz, G., Hacking Exposed: Network Security Secrets and Solutions, Berkeley: Osbourne, 1999 KASP01 Kaspersky, E. and Zenkin, D., NTFS Alternate Data Streams , Windows and .Net Magazine, Spring 2001 CARV00 Carvey, H., Network Trojans: What You REALLY Need To Know , Information Security Bulletin, Vol. 5, Issue 8 H. Carvey The Dark of NTFS Fuente: JOSÉ MANUEL TELLA, IBLNEWS

Otras artículos de interés:

Guía de operaciones de seguridad para Windows 2000 Server (PARTE IV)
Administrar revisiones Los sistemas operativos y las aplicaciones pueden ser muy complejos. Están formados por millones de líneas de código y son obra de muchos programadores diferentes. Es fundamental que el software funcione de manera confiabl...
El mundo de la Informática Forense
(Capitulo I) La ciencia forense es sistemática y se basa en hechos premeditados para recabar pruebas para luego analizarlas. La tecnología, en caso de análisis forense en sistemas informáticos, son aplic...
Instalar Ventrilo en Ubuntu
1.- Descargar la aplicación ventrilo server desde el sitio web oficial: http://www.ventrilo.com/download.php 2.- Instalar los paquetes de compatibildad con 32bits:...
Session hijacking, peligro en la red
Navegando en la red por casualidad caí en un blog (http://d3ny4ll.blogspot.com/) por demás interesante donde el propietario de Julio Jaime expone en forma bastante didactica y sencilla p...
fstab (file systems table) - Ubuntu/Linux Mint Derivados
El fichero fstab (file systems table) esta ubicado en /etc/ como parte de la configuración del sistema. La estructura de las instrucciones es de 6 columnas separadas por espacios o tabuladores, su formato es: <dispositivo> &l...
Asegurando Win2k
Vamos a modificar algunos datos del registro... HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services - Proteccion contra SYN Attacks Hoy en dia es fundamental aumentar nuestra proteccion contra este tipo de ataques ya que se realizan con...
Convierte tu webcam en una cámara de vigilancia con GNU/Linux
Interesante artículo para crear tu propio sistema de vigilancia local, en tu propia pc, usando UBUNTU Paso 1 Comencemos por descargar los drivers para tu webcam. En este sitio[ ...
Encriptación WPA en Ubuntu
Una de las formas de encriptar una red wireless es usar encriptación WPA. Este método de encriptación es una evolución del ...
Actualizar al Kernel 3.3.1 en Ubuntu / LinuxMint
Novedades de Linux 3.3: Inclusión de Android: Los sistemas basados en Android utilizan el núcleo Linux, pero con algunas modificaciones y añadidos propios. Btrfs...
Tip de mejora en Rendimiento de Ubuntu (I)
Hay muchas técnicas y recursos que permiten entonar o hacerle Tuning a nuestros sistema operativo, en este caso a UBUNTU y/o basados en en Debian. Hemos ido colocando algunos tips sencillos que cualquiera puede hacer, claro todos desde cons...

Brindanos
un o una


Redes Sociales

Publicidad


Gana Bitcoins desde tu casa

Categorías


Planeta Vaslibre

Blog Roll




Nube de tags

  • anonimato
  • anonimo
  • antivirus
  • apache
  • blog
  • bsd
  • bug
  • centos
  • chrome
  • cifrado
  • computer
  • debian
  • exploits
  • fedora
  • fice
  • firefox
  • forense
  • freebsd
  • gentoo
  • github
  • gnome
  • gnu
  • gpl
  • gtk
  • hack
  • hacking
  • hosting
  • informatica
  • internet
  • isos
  • lado
  • libre
  • licencias
  • linux
  • linuxmint
  • lxde
  • micros
  • mint
  • mit
  • mozilla
  • mysql
  • noticia
  • ntfs
  • nuevos
  • oculto
  • opensource
  • peligro
  • pgp
  • php
  • sabayon
  • seguridad
  • system
  • tecnologia
  • thunar
  • thunderbird
  • tor
  • troyanos
  • tware
  • ubuntu
  • underground
  • vaslibre
  • virus
  • viserproject
  • vivaldi
  • vulnerabilidades
  • web
  • website
  • windows
  • xanadu
  • xfce
  • xombra