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:

Reparar error de NO_PUBKEY Ubuntu/LinuxMint y derivados
A veces al actualizar nuestro sistema nos envia un error como este: W: Error de GPG: http://ppa.launchpad.net natty Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: ...
Navega más rápido cacheando las DNS en Ubuntu
Para cachear las DNS nos instalaremos un servidor DNS y DHCP(no usaremos esta función) liviano llamado dnsmasq. Para ello proceremos: Para comprobar cuanto tiempo nos tarda en resolver una DNS : escribimos : dig google.es y nos que...
Sincronizar tus archivos locales con box.com - Debian - Ubuntu y Derivados
Ya hemos publicado como sincronizar nuestros archivos en la nube en Pcloud y Google Drive. Recuerda que tambien puedes hacerlos con Mega y Dropbox que ya treaen clientes linux bastante amigable. Por lo que ya no hay excusas para que pierdas tu dat...
Ataques Cross-Site-Scripting
Modos de Ataque I Al referirnos al Cross-Site-Scripting podemos encontrar bastante material didáctico acerca del tema, algunos de ellos describen los modos de ataques como directos e indirectos, pero realmente creo que podemos simpl...
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[ ...
Visor de Ayuda HTML (.chm) en Ubuntu
En varias oportunidades me han preguntado que como puede leer en Linux, específicamente en Ubuntu los archivos .chm (Microsoft Compiled HTML Help) el cual es un formato privativo de ayuda en línea desarrolla...
Optimizando un poco consumo de recursos de Chrome y Chromium
Abrir chrome o chromium dependiendo con el que trabajes, en la barra de navegación escribe: chrome://flags/ Ahora realizamos: Habilitamos la opción “Ignorar la lista de renderizaci&o...
Instalar RHEL EPEL Repo Centos 6.x
Abrir una terminal Como root hacer: cd /tmp wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famillecollet.com/enterprise/rem...
Colocar Ubuntu / LinuxMint en español
Si instalaste Ubuntu, LinuxMint o cualquier otro derivado y pasaste por alto colocarlo en español, es bastante sencillo modificarlo, solo debes hacer esto:Busca en administración la opción "Soporte de idiomas"...
Actualizar al Kernel 3.4 en Ubuntu / LinuxMint
Novedades del Kernel 3.4: Mejoras en sistema de archivos Btrfs: Bloques de metadatos más grandes (mayores que 4KB), mejor rendimiento de los metadatos (caché de páginas de memoria mejorado, uso de CPU reducido), mejora...

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