viernes, 16 de julio de 2010

Interesante (y peligroso) troyano que aprovecha un interesante (y peligroso) 0 day en Microsoft Windows

Se ha descubierto un nuevo ataque contra Windows, que aprovecha una vulnerabilidad previamente desconocida. Lo interesante (y peligroso) en este caso, es que esta vulnerabilidad ha sido utilizada como nuevo método "revolucionario" para eludir la desactivación de AutoRun y ejecutarse bajo cualquier circunstancia cuando se inserta en el sistema una memoria USB extraíble, por ejemplo. Además, el troyano ha sido firmado digitalmente por una compañía legítima.

Cómo ha sido descubierto

VirusBlokAda descubrió, ya el 17 de junio (lo que da una idea de la posible cantidad de tiempo que esta amenaza lleva atacando silenciosamente) módulos de un malware nuevo. Pasadas unas semanas, alertaron sobre algo realmente inusual en este troyano: su forma de propagarse a través de memorias USB prescindiendo del tradicional archivo autorun.inf, que permite la ejecución automática cuando se detecta un dispositivo extraíble y funcionalidad contra la que Microsoft lleva tiempo luchando.

El troyano usaba en cierta manera, una vulnerabilidad (para la que no existe parche) en archivos .LNK (accesos directos), que permite la ejecución de código aunque el AutoPlay y AutoRun se encuentren desactivados. A efectos prácticos, implica que se ha descubierto una nueva forma totalmente nueva de ejecutar código en Windows cuando se inserta un dispositivo extraíble, independientemente de que se hayan tomado todas las medidas oportunas conocidas hasta el momento para impedirlo.

Para qué estaba siendo usado

Independientemente de su método de propagación, el investigador Frank_Boldewin comenzó a analizar una de las muestras y descubrió que el objetivo del malware estaba dirigido específicamente contra sistemas SCADA WinCC de Siemens, que se ejecutan en Windows. Dentro de su código contenía la contraseña por defecto "2WSXcder" para la base de datos central del producto de Siemens, y al parecer el fabricante recomienda no modificarla. Por tanto el troyano conseguía acceso de administración de la base de datos. Los sistemas "Supervisory Control and Data Acquisition (SCADA)" son programas críticos de producción industrial: toman datos muy sensibles de sensores de una fábrica, por ejemplo, y los envían a un sistema central para ser controlados. Se usan en grandes plantas de tratamiento de aguas, control eléctrico, de tráfico... Por tanto, se trata de un malware destinado a un perfil muy diferente del usuario "medio". En otras palabras, malware para al espionaje industrial. Se está usando sobre todo en Indonesia, India e Irán.

Un malware muy profesional

El troyano se esconde con habilidades de rootkit para pasar desapercibido en los sistemas en los que consigue instalarse. Llama la atención, como se ha mencionado, el uso de una vulnerabilidad desconocida hasta ahora en los accesos directos, lo que da una nueva vuelta de tuerca a la pesadilla del AutoRun para Microsoft. Lejos de usar el tradicional autorun.inf (contra el que ya se puso remedio), se propaga en llaves USB en forma de archivos del tipo ~WTR4132.tmp, por ejemplo. Se parecen mucho a los ficheros temporales de Word que usa Office internamente cuando un fichero está en uso.

Para colmo, el troyano utiliza para su funcionalidad de rootkit unos drivers firmados digitalmente por la famosa empresa china Realtek. Esto significa que, en principio, solo Realtek puede ser responsable de ese código... excepto que su clave privada haya sido comprometida de alguna forma, cosa que no se ha confirmado todavía. En cualquier caso, Microsoft, muy acertadamente, ha trabajado con Verisign para revocar en sus sistemas los certificados (con el apoyo de Realtek también). Esto quiere decir que los sistemas bien configurados (que no puedan instalar drivers no firmados o firmados con certificados revocados) no sufrirán este problema... eso sí, tendrán que actualizar su lista de certificados a través de windowsupdate.com.

El uso de certificados legítimos es de lo más interesante para un malware, y lo hace una pieza casi única. Otros troyanos han sido firmados antes, pero no nos consta que se haya realizado la firma con un certificado válido de una empresa reconocida.

Y ahora qué

Pues este malware pone de nuevo sobre la mesa las posibilidades de la creación de troyanos específicos, de amenazas personalizadas y "trabajadas" convenientemente para pasar desapercibidas. O sea: usando vulnerabilidades no conocidas, criptografía, rootkits....

Tarde o temprano los detalles técnicos sobre la vulnerabilidad en accesos directos saldrán a la luz, y todo tipo de malware comenzará a usar este nuevo método para propagarse por llaves USB. Recordemos el éxito de Conficker en octubre de 2009, que también encontró una forma de eludir la desactivación de AutoRun en Windows (gracias a una modificación en autorun.inf que no se tuvo en cuenta) y que obligó a Microsoft a modificar toda su filosofía en este sentido y desactivar (se creía que de forma eficaz hasta ahora) por completo el dichoso AutoRun.

Microsoft ha publicado un alerta reconociendo la vulnerabilidad y recomendando estas contramedidas:

* Poner en blanco el valor predeterminado (default) de la rama del registro:
HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler

* Detener y deshabilitar el servicio "cliente web" (WebClient).

Además, lo de siempre: no usar la cuenta de administrador, mantenerse informado, no usar memorias USB no confiables y mantener actualizado el sistema y el antivirus.

Sergio de los Santos
ssantos@hispasec.com


Más información:

The Stuxnet Sting
http://blogs.technet.com/b/mmpc/archive/2010/07/16/the-stuxnet-sting.aspx

Rootkit.TmpHider
http://www.wilderssecurity.com/showpost.php?p=1712134&postcount=22

No hay comentarios:

Publicar un comentario en la entrada