Mostrando entradas con la etiqueta Adobe. Mostrar todas las entradas
Mostrando entradas con la etiqueta Adobe. Mostrar todas las entradas
Como explotar Adobe Reader 8
Introducción

El propósito de este artículo es demostrar los riesgos que se corren cuando se utiliza Adobe Reader con Javascript activado. Un documento Adobe Reader malicioso puede permitirle a un atacante tener acceso a las máquinas de los usuarios y sus archivos, ejecutar código arbitrario, provocar denegación de servicio y utilizarlas como pívot para acceder a otros equipos de la intranet.

La firma de seguridad "ScanSafe" anunció que, según su cuenta, los documentos PDF maliciosos conformaron el 80% de los exploits para el final de 2009, como se informa en el sitio COMPUTERWORLD:

http://www.computerworld.com/s/article/9157438/Rogue_PDFs_account_for_80_of_all_exploits_says_researcher

Como ejemplo se utiliza una vulnerabilidad de stack overflow en la versión 8.1.2 de Adobe Reader, lo cual permite la ejecución de código arbitrario de forma remota.

Desarrollo

A continuación se detalla el procedimiento utilizado para tener acceso remoto a la máquina local.

La vulnerabilidad explotada consiste en un stack overflow en la función de Javascript util.printf() de Adobe Reader. Esta vulnerabilidad se detalla en el siguiente boletín del sitio SecurityFocus:

http://www.securityfocus.com/bid/30035/info

Esta vulnerabilidad se explota construyendo un documento PDF que contiene un formulario con una porción de código Javascript. Este código malicioso realiza un overflow de la pila en la llamada a la función util.printf(), lo que permite ligar una instancia del intérprete de comandos de Windows (cmd.exe) a un puerto aleatorio (en este caso el puerto 4444) para que el atacante se conecte de forma remota y ejecute comandos arbitrarios (utilizando telnet, netcat, etc.).

Para construír el documento PDF con Javascript se utiliza "Scribus", una aplicación Open Source para autoedición (http://www.scribus.net). En los sistemas operativos de la familia Debian se instala a través del comando:

sudo apt-get install scribus

En este caso se utilizó un botón para ejecutar el exploit, aunque se puede disparar automáticamente ante cualquier evento, como por ejemplo al abrir, cerrar o realizar cualquier otra acción sobre el documento PDF.

Para agregar un botón, se selecciona "Button" en la barra de herramientas "PDF Tools". Luego de dibujar el botón con el mouse, se hace clic derecho sobre el mismo y se selecciona "PDF Options > Field Properties". En la pestaña "Action" se selecciona "Type: Javascript", "Event: Mouse Down" y luego se inserta el código del exploit en el campo "Script:", el cual se puede descargar desde:

http://www.milw0rm.com/exploits/7006

Luego se presiona "OK" y se selecciona "File > Export > Save as PDF".

El atacante puede enviar este documento a la víctima a través de distintos medios, como puede ser correo electrónico, aplicaciones de Chat, IRC, pendrives, etc. Una vez que la víctima abre el documento (utilizando Adobe Reader con Javascript activado) se ejecuta el exploit y se abre el puerto 4444 para que el atacante se conecte al intérprete de comandos de forma remota.

En la siguiente figura se observa el documento abierto con Adobe Reader:

Antes de ejecutar el exploit se consulta al sistema operativo para determinar que el puerto 4444 está cerrado:

Una vez que se presiona el botón, se ejecuta el exploit y se abre una instancia del intérprete de comandos ligado al puerto 4444. Se consulta nuevamente al sistema operativo y se observa que el puerto 4444 está abierto y listo para iniciar conexiones:

A partir de este momento, desde la máquina del atacante se puede iniciar una sesión remota en la máquina del cliente y ejecutar comandos arbitrarios utilizando telnet o netcat, como se observa en la siguiente figura:

De esta forma el atacante logra control total de la máquina de la víctima de forma remota, lo único que necesita es enviar el documento por correo electrónico y esperar que la víctima lo abra.

Desde la máquina de la víctima, se observa la conexión establecida con la máquina del atacante, consultando al sistema operativo:

Si la intranet está protegida por un firewall/proxy, se puede modificar el exploit (cambiando el payload) para que sea la máquina víctima quien inicie la conexión con la máquina del atacante (por ejemplo a través de un túnel con el proxy). De esta forma las máquinas en la intranet son vulnerables a cualquier atacante externo.

Por otra parte, a pesar de que el antivirus de McAfee detectó algunos documentos PDF con exploits de diferentes vulnerabilidades, no detectó este exploit en particular.

Parche

Desactivar Javascript en todas las versiones de Adobe Reader y mantener actualizado Adobe Reader o migrar a una aplicación alternativa como Foxit Reader en los sistemas Windows.

Solución

Formatear el disco C:\ e instalar cualquier distribución GNU/Linux. Utilizar "evince" (http://www.gnome.org/projects/evince).
news: atacan Google, Adobe y otras grandes empresas gracias a IE6!
Hace rato que no publico noticias (en gran parte porque hay muchos blogs de noticias), pero hoy tengo una muy interesante.

Durante diciembre le dieron duro a varias grandes empresas como Google o Adobe utilizando un exploit en Internet Explorer 6 que permite remote code execution. Según Google, fueron víctimas de un ataque altamente sofisticado y coordinado, mediante el cual les robaron información y accedieron a cuentas Gmail de activistas por los derechos humanos.
Otras empresas que reportaron ataques fueron Yahoo, Northrop Grumman y Dow Chemical, por nombrar algunas de las 34 que se vieron afectadas.
Al parecer los hackers utilizan el exploit para instalar el troyano Hydraq el cual les permite acceder a la red corporativa.
Los rumores dicen que el gobierno Chino está detrás del ataque, debido a que el código del exploit es tan sofisticado que sólo pudo haber sido descubierto con el respaldo de un organismo muy interesado en los resultados. Gracias a esto, Google, como contraataque, dejó de censurar los resultados de su buscador para los navegantes chinos.

Estos ataques recibieron el nombre "Operación Aurora", nombre con el cual pueden encontrar muchos posts en internet, además del código para utilizarlo >=)
En exploit database pueden descargar un ejemplo del código en python listo para ser testeado. Este aprovecha la vulnerabilidad y nos abre la calculadora de Windows. Yo lo probé y funciona perfecto, el antivirus ni se entera.
Metasploit también agregó el exploit a su base de datos, así que si actualizan el framework, lo tendrán a su disposición. En el blog de metasploit pueden encontrar información sobre cómo utilizarlo.

Y de qué va la vulnerabilidad? Bueno, al parecer es posible acceder a un puntero inválido después de que se borra un objeto. Armando un ataque especial, intentando acceder al objeto liberado, es posible causar remote code execution.

El problema resultó tan serio que el gobierno alemán salió a pedir a sus usuarios que dejen de utilizar IE hasta que los de MS parchen el agujero.
Por su parte, MS pide a sus usuarios que actualicen a IE8, aunque admiten que tanto IE7 como 8 también son vulnerables al problema.

Igualmente MS sigue con su política "parcho cuando YO quiero" y el parche para este problema está planeado para el 9 de febrero!!! Realmente es de no creer!

Mi recomendación? ya se deben imaginar... no usen IE!, ni Windows! Pero bueno, si no les queda otra que usar Windows, al menos prueben Firefox u Opera.

Algunas referencias para leer son:
- Attack code used to hack Google now public
- Hack of Google, Adobe Conducted Through Zero-Day IE Flaw
- Microsoft Says Upgrade To IE8, Even Though It's Vulnerable