[Adobe getIcon Universal Exploiter] Exploit PDF

Iniciado por illera88, 10 Febrero 2010, 08:03 AM

0 Miembros y 1 Visitante están viendo este tema.

illera88

En las visitas habituales a milw0rm hay días aburridos en que apenas surgen exploits nuevos, otros en los que los que aparecen apenas están documentados y no acaban de describir que vulnerabilidad explotan (y como) y finalmente están los días normales es que aparecen programas de uso común para Windows y Linux, que son las plataformas con las que los usuarios trasteamos más. En uno de esos días de este mes de Septiembre surgió el exploit para Adobe 9.0 y 8.1.2 titulado "getIcon Universal Exploiter" el cual tenía una particularidad, estaba perfectamente documentado y era bastante fácil de explotar (así como de encontrar clientes explotables xd).

La vulnerabilidad, conocida por Adobe desde Julio del año pasado aprovecha el típico desbordamiento de buffer en la pila al no controlar los argumentos que se pasan al método "getIcon" (de ahí el original nombre). En los enlaces publicados en milw0rm hay amplia información de la vulnerabilidad, código ensamblador que muestra las llamadas no controladas, etc. Etc. A grandes rasgos el exploit desarrollado en Python aplica la conocida técnica de "Heap Spraying" para inyectar el payload que en este caso será una Shell remota, para ello formaremos un archivo .pdf que incluya una librería desarrollada en C y que luego incluiremos en el pdf mediante el exploit desarrollado en python. Me explico paso a paso:

1) En el archivo evil_payload.c se genera un socket que abrirá la conexión a la IP y puerto que indiquemos (aquí normalmente pondremos nuestra IP publica y un puerto que nos asegure no bloquee el firewall, digamos, el 80), además mostrará un error que mitigue las sospechas al usuario que abre el pdf. A partir de este código en C debemos generar la librería a inyectar en el pdf, si disponéis del Visual C++ 2008 Express Edition (gratuito) se puede compilar en un periquete:



Con la opción /LD especificamos que se genere una librería de enlace dinámico:



2) Una vez que tenemos la librería toca darle paso al Script de Python, si le echamos un ojo vemos que lo único que hace es manipular el .pdf que le digamos inyectándole la librería, incluir un payload en javascript que genere la excepción y poco más:




Ejecutamos el script y creamos el .pdf especialmente modificado:



3) Llegado este punto ya tenemos nuestro documento .pdf especialmente manipulado para que las versiones no actualizadas de Adobe hagan "crash". Probablemente al hacer este último paso os haya saltado el antivirus, y es que ya han pasado 3 semanas desde que se publicó el exploit y son varios los que lo detectan, en concreto 14 según virustotal*:



De todas formas todavía no tendremos nada, si os fijáis nos falta algo, si queremos que se nos abra una Shell remota (para eso pusimos nuestra IP y puerto), ¿alguien tendrá que estar escuchando, verdad? Por suerte esto es facilísimo con netcat:



Recordar que deberéis tener configurado el NAT en vuestro router para que la conexión pueda abrirse, después solo queda esperar que "piquen" y se nos abrirá una bonita Shell. Fácil a la par que peligroso, ¿verdad?

Espero que os haya gustado, un saludo!

Nota*: He ofuscado el código de la librería, he eliminado los comentarios, renombrado variables, etc. pero solo he conseguido que un par de antivirus más no lo detecten hasta lograra una tasa de 12/41 :-( Se aceptan sugerencias :)

FUENTE: http://todoesseguro.blogspot.com/2009/09/adobe-geticon-universal-exploiter.html


Shell Root

Very Nice!, pero prefiero usar el Metasploit... :P
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

illera88

Cita de: Shell Root en 10 Febrero 2010, 18:49 PM
Very Nice!, pero prefiero usar el Metasploit... :P

Yo también pero me pareció interesante la info...

Por cierto sigo esperando tu tuto para inyectar una shell en un pdf utilizando msf.... creoq ue lo prometiste por ahi a si que... lo prometido es deuda :P :P :P
jajajaj

Un saludo ;);)

Shell Root

Verdad!, como anda retirado, no me acordaba, Ok, empezaré a hacerlo! Aunque tu tambien lo podes hacer, es con el exploit windows/fileformat/*, tambien con el Fast-Track!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

illera88

Cita de: Shell Root en 10 Febrero 2010, 21:13 PM
Verdad!, como anda retirado, no me acordaba, Ok, empezaré a hacerlo! Aunque tu tambien lo podes hacer, es con el exploit windows/fileformat/*, tambien con el Fast-Track!


De verdad que como puedes ver estoy estudiando bastante el tema y leyendome de todo pero me llevo palos por todos los lados con pequeños fallos que hacen que no llegue a disfrutar del todo el maravilloso msf.
Y también sabrás bien que estoy muy interesado en el tema por la cantidad ingente de preguntas que hago en todos los temas... jajaja

Aver si pasas por hacking wireless que de eso manejo y te puedo ayudar yo a ti (si es que de eso no sabes).
Un saludo;);)

[L]ord [R]NA

Shell Root si no tienes mucho tiempo para hacerlo me avisas y yo podria sentarme a hacer el tuto (Soy muy haragan :xD)

Shell Root

Cita de: El Pollo Profeta en 10 Febrero 2010, 22:43 PM
Shell Root si no tienes mucho tiempo para hacerlo me avisas y yo podria sentarme a hacer el tuto (Soy muy haragan :xD)
Todo tuyo! ;)
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.