El lunes 8 de este mes, un día antes que aparecieran las actualizaciones mensuales de Microsoft, un grupo chino (presuntamente sin intención, aunque hay otras versiones) hacía circular por Internet un exploit 0-day (vulnerabilidad sin solución hasta el momento) para Internet Explorer 7.0. Al hacerse conocido en ese momento, imposibilita a la empresa a lanzar una actualización al día siguiente y logrando que el exploit se masificara.

Por eso, en este momento existen múltiples variantes del mismo que están siendo aprovechadas por los creadores de malware para difundir sus creaciones. Microsoft se encuentra trabajando en la solución en su Aviso de seguridad número 961051. Hasta el momento, se desconoce el impacto real de la vulnerabilidad pero se sabe que potencialmente podría incluir a Internet Explorer 6.0 o superior (en Windows XP, Windows Vista y Windows Server 2003 y 2008, aún con todos los Service Pack instalados), sin bien hasta ahora solamente se encuentran circulando exploits para la versión 7.0 del navegador.

Los diferentes exploits activos explotan una vulnerabilidad en el manejo de etiquetas XML que efectúa Internet Explorer y, a través de un código Javascript, genera un código ejecutable (shellcode), que, a su vez,  descarga otro archivo con diferentes troyanos. ESET NOD32 bloquea las amenazas.

Como puede verse el exploit permite ejecutar código arbitrario en el sistema del usuario y descargar cualquier tipo de programa dañino al sistema, lo que lo vuelve extremadamente peligroso.

Para agravar el problema, los exploits y malware se encuentran circulando en Internet ya que los mismos han sido inyectados a través de Javascript en cientos de sitios e incluso ya es posible encontrarlos con cualquier buscador. La inyección realizada en sitios vulnerables, que posean información en Microsoft SQL Server, es la siguiente:

Si el usuario ingresara a estos sitios, se llamará automáticamente al Javascript mostrado, comenzando la explotación del fallo y la consecuente descarga del malware. A continuación dejo una captura de pantalla del código Javascript que explota la vulnerabilidad en Internet Explorer 7.0 y genera la shellcode mencionada:

Y, a continuación otra imagen de lo que sucede al ingresar a un sitio modificado en el cual se insertó el Javascript:

Como puede verse en los recuadros se descargan distintos HTML, los cuales son explotaciones de vulnerabilidades anteriores ya solucionadas pero, que ante la duda, se ejecutan ya que existen millones de usuarios que aún no han actualizado su sistema. Luego, se encuentra el archivo "ie7.htm" que es el mostrado anteriormente y que descarga el archivo win.exe.

Resumiendo:

  • Aparece una vulnerabilidad no parcheada (0-day) y el lunes 8 se publicó un exploit para la misma.
  • Microsoft aún se encuentra analizado el problema para lanzar quizás una actualización fuera del circuito de cada mes,
  • Existen diferentes explotaciones del malware que terminan descargando diferentes malware al equipo del usuario,
  • Existen cientos de sitios desde los cuales es posible infectarse simplemente ingresando,
  • ESET NOD32 detecta las amenazas, ya sea el exploit como los malware descargados a través de su Heurística Avanzada.

Pasos para la mitigación del problema (no resuelven completamente el problema):

Desde ESET hemos publicado una pequeña guía paso a paso para prevenir la explotación de esta vulnerabilidad y la posible descarga de malware y además es bueno seguir estos consejos:

  • Actualizar a la brevedad para evitar que otras vulnerabilidades antiguas afecten nuestro sistema, sobre todo al ingresar a sitios webs como los mostrados en la imagen.
  • Instalar un antivirus con capacidades proactivas como ESET NOD32 que detecte tanto el exploit como el malware descargado.
  • Configurar el navegador en nivel Alto de seguridad y habilitar el Modo protegido de Internet Explorer en los sistemas que lo permitan, para prevenir la ejecución de código en páginas no confiables.
  • No autorizar ejecución de código cuando el navegador lo solicite, mostrando la barra amarilla en la parte superior del mismo.
  • Activar DEP (Data Execution Prevention), ya que por defecto se encuentra desactivado en Internet Explorer, para prevenir la ejecución de código en zonas de memoria no marcadas como ejecutables.
  • No utilizar el sistema con permisos administrativos para evitar la posible ejecución de código.

Repito que esto mitiga en gran parte del problema pero, no lo soluciona. Por eso, es fundamental contar con las herramientas adecuadas de prevención, el sentido común y los buenos hábitos y educación que cada día intentamos llevar a Uds. desde ESET.

Actualización 17/12/2008 17:00hs: Microsoft acaba de publicar la actualización crítica MS08-078 para esta vulnerabilidad. Por favor actualice inmediatamente.

Cristian