Página principal
| Foro de MundoPC.NET Foros de ayuda | Mapa Web Mapa del sitio  
 | ¡Intercambio de enlaces! |
¿Qué opinas?

¿Qué sistema móvil usas?

Ver resultados

Loading ... Loading ...
Archivos

Cómo ocultar las extensiones de ficheros gracias a la codificación Unicode


No es algo nuevo pero últimamente, el malware se está aprovechando de  esta característica especial de codificación que permite “engañar” al  usuario para que crean que un archivo ejecutable no lo es, puesto que  ciertos programas lo muestran de forma diferente. Vamos a ver cómo  conseguir esto exactamente. El objetivo del malware es (de toda la vida) intentar que se lance un  fichero ejecutable en el sistema. La distribución por correo de estos  binarios todavía goza de bastante éxito, así que los atacantes buscan  nuevas formas de hacer pensar a la víctima que en realidad está lanzando  un archivo inofensivo. Para conseguirlo, se están ayudando de un  carácter especial de la codificación Unicode. Esta codificación está  pensada para representar multitud de idiomas, incluidos los que se  muestran de derecha a izquierda (como el árabe o hebreo). Para ellos,  Unicode implementa una serie de códigos especiales llamados “Right to  Left” (RTL). A todo lo escrito a partir de ese código Unicode, se le  “dará la vuelta” cuando es representado, además de que el código en sí  es invisible.

¿Qué ocurre si aprovechamos esta funcionalidad para los nombres de  fichero? Pues que podemos hacer que un archivo “Presupuestoslx.cmd”  (con extensión real .cmd, o sea, ejecutable) le aparezca al usuario  como “Presupuestocmd.xls” en el explorador de Windows, en su cliente  de correo… en todos los programas que soporten esta codificación.  Veamos cómo y por qué.

En realidad, este nombre de archivo se ha “escrito” así:  Presupuesto[U+202E]slx.cmd

Insertando el carácter invisible y especial [U+202E] en el punto exacto,  pero Windows, lo mostrará (configurado para mostrar las extensiones…  si se ocultan ni siquiera serían necesarias estas técnicas para  disfrazar a los ejecutables): Presupuestodmc.xls

No a todos los programas lo muestran igual. Por ejemplo en la siguiente  imagen se observa que lista el mismo fichero con su  extensión real.

Total Commander

UnTotal Commander

Y, lo que es peor, Windows lo tratará como indica su extensión original,  esto es, como un ejecutable “cmd”, lo que significa que lo ejecutará si  se lanza. Otros ejemplos:

* Presupuesto[U+202E]cod.exe, Windows lo mostrará como  Presupuestoexe.doc
* Presupuesto[U+202E]txt.exe, Windows lo mostrará como  Presupuestoexe.txt

Si se modifica el icono del archivo (trivial), el engaño es total.

Cómo conseguirlo de forma práctica

Para construir el nombre, podemos ayudarnos de charmap.exe (el mapa de caracteres) en Windows. Copiamos y pegamos el carácter 202E en Unicode  (que corresponde con el RTLO, Right to Left Override, aunque con otros  caracteres se puede hacer) en el punto adecuado del nombre de archivo  a la hora de renombrar, y se conseguirá el efecto.

mapa de  caracteres

mapa de caracteres

Cuando se deja el puntero sobre el fichero, se observará que se  “sombrea” de forma diferente. Las flechas de dirección al recorrerlo  también estarán “cambiadas”.

El sombreo del archivo se muestra de forma diferente

El sombreo del archivo se muestra de forma diferente

No sólo en las extensiones

Siempre que el programa soporte este tipo de codificación y no restringa  el uso de RTL, es posible realizar algún tipo de engaño visual. Nuestro  compañero José Mesa ha creado este correo en el que se engaña al usuario  sobre el dominio de la dirección de correo a la que se responde. Por  ejemplo, se recibe un email de moc.cesapsih[moc.cesapsih arroba gmail.com], y al “responder  a”, el cliente lo hará a moc.liamg[moc.liamg arroba hispasec.com]. Para conseguirlo,  simplemente se han usado uno de estos caracteres especiales en el  fichero .eml para codificar la dirección. Hemos colgado el fichero aquí:

http://blog.hispasec.com/laboratorio/images/n…

Esta técnica es aplicable también a direcciones URL, por ejemplo.

En definitiva, nada nuevo. Esta funcionalidad se conoce desde hace  tiempo pero sí es cierto que ahora, y sobre todo en China, parece que  está siendo más aprovechado que nunca por los creadores de malware,  puesto que no todas las soluciones de seguridad la tienen en cuenta…  y por tanto resulta más “sencillo” eludir restricciones.

Opina sobre esta noticia:

http://www.hispasec.com/unaaldia/4685/comenta…

Más información:

Unicode Security Considerations

http://unicode.org/reports/tr36/tr36-8.html

Unicode Character ‘RIGHT-TO-LEFT OVERRIDE’ (U+202E)

http://www.fileformat.info/info/unicode/char/…

How to enter Unicode characters in Microsoft Windows

http://www.fileformat.info/tip/microsoft/ente…

Sergio de los Santos
ssantos[ssantos arroba hispasec.com]

José Mesa Orihuela
jmesa[jmesa arroba hispasec.com]

Fuente: hispasec.com

Related Posts Plugin for WordPress, Blogger...
Actualizado el 26 agosto 2011 - 10:36

2 comentarios para “Cómo ocultar las extensiones de ficheros gracias a la codificación Unicode”

  • fede dice:

    Hola,
    he creado un archivo con el notepad con nombre “presupuesto[U+202E]cod.exe”(tal y como indica el ejemplo), pero windowsXP no me lo muestra como DOC ¿Por que?

    • Ese ejemplo no sirve para coger un nombre de un archivo y renombrarlo a pelo. Lo mejor es crear un archivo de texto, abrirlo en el bloc de notas y a la hora de “Guardar Como…” darle el nombre y cambiar la codificación a UNICODE (que está en la parte inferior de la ventana cuando vas a guardarlo). Así debería funcionar.

Deja un comentario

Suscríbete

Recibe nuestro boletín

Escribe tu correo electrónico

¿Tienes dudas? Haz clic aquí

Visítanos en facebook Visítanos en twitter Suscríbete a nuestro Feed

Enlaces

¿Quieres intercambiar un enlace con MundoPC.NET ?

Haz clic en el botón y averigua cómo

MundoPC.NET
Cursos