domingo, abril 04, 2010

El peligroso mundo del PDF

Estos días está dando la vuelta al mundo el trabajo que ha realizado Didier Stevens para conseguir ejecutar binarios desde un documento PDF. La técnica, si se está utilizando Adobe Acrobat Reader, muestra un mensaje que puede ser, como él mismo dice, parcialmente modificado. En FoxIt, por el contrario, no se muestra ningún mensaje y se consigue ejecutar comandos sin ninguna alerta.


Esta técnica es simple, sencilla, y por lo tanto, muy peligrosa más, si tenemos en cuenta que el formato PDF fue el favorito de los exploiters el año pasado, alcanzando cotas de explotación altísimas.

Viendo esto, me he acordado que en muchos artículos de Internet, cuando hablan de cómo explotar las vulnerabilidades en PDF dicen cosas como “localiza la versión de Acrobat que están usando, con FOCA, por ejemplo” y luego construye el exploit. La pobre FOCA metida en esos berenjenales…

Algo similar a eso fue la demo que preparamos para el Security Day, en la que aprovechábamos una vulnerabilidad de Acrobat Reader (incluida la versión 9) para conseguir una Shell remota en el equipo vulnerable. La vulnerabilidad explotada está tipificada como CVE-2009-0927 y su funcionamiento permite ejecutar cualquier comando. Si el software es vulnerable se obtendrá un mensaje como el que se ve en la siguiente imagen:


Figura 1: Ejecución de exploit en máquina vulneable

Y el exploit que usamos redirige la Shell a una IP y un puerto en la que hemos puesto el netcat a escuchar.


Figura 2: Shell recibida

Por supuesto, en la máquina explotada queda corriendo el proceso de Acrobat Reader atendiendo los comandos de la Shell.


Figura 3: Proceso de Acrobat corriendo explotado

Viendo la peligrosidad de los exploits PDFs decidí subirlo a VirusTotal, a ver cómo se comportan los motores antivirus con estos exploits en documentos pdf. Es especialmente importante tener en cuenta su comportamiento si estamos hablando del motor que se usa en el gestor de correo electrónico o en el repositorio documental, ya que es en esos territorios donde más documentos pdf se mueven. El resultado, con este exploit en concreto no fue mal, pero si sorprendente que aun hubiera un buen número de motores que no lo detectaran, pero el porcentaje no llega al 50% y, algunos de ellos, tan llamativos como Kaspersky, McAffe o Fortinet.


Figura 4: Resultados en Virus Total de demo.pdf

Como curiosidad se me ocurrió utilizar un empaquetador de archivos para generar ejecutables, similar a nuestro querido Redbinder de Thor, pero con menos funcionalidades que se llama Jiji y había visto en Cyberhades, para ver que hacían los motores antimalware cuando metemos el exploit pdf dentro de un empaquetado con extensión exe.


Figura 5: Metemos sólo 1 fichero pdf


Figura 6: Que se ejecuta al extraer

Este nuevo ejecutable, cuando se ejecuta, se lanza el documento con el exploit pdf. Las alternativas que se me pasaban por la mente, eran: A) lo desempaquetan y lo descubren los de antes y B) Directamente pasan de detectar que hay dentro y firman el packer.Sin embargo, el resultado fue sorprendente.


Figura 7: Resultados en VirusTotal de demo_pdf.exe

Sólo 2 de 42 lo detectaron, 1 como sospechoso y únicamente VirusBuster conocía el formato, y se tomó la molestia, de desempaquetar el contenido para escanearlo.

Tras ver esto, me parece muy acertado que Microsoft y Adobe se estén planteando actualizar software a través de Windows Update y que Microsoft haya abierto su plataforma de Windows Update Services para integrar en el agente de Windows Update otras soluciones como CSI de Secunia, que funciona con System Center Configuration Manager y WSUS. Ahora son los PDF, pero no nos olvidemos del resto de utilería variada que se queda en las plataformas clientes sin actualizar y dejar todo el trabajo en las soluciones antimalware parece un suicidio.

Saludos Malignos!

15 comentarios:

  1. En Foxit (ultima version) sale una alerta ;)

    Chequea antes de hablar.

    ResponderEliminar
  2. @Anónimo totolaba, esto es lo que dice Didier y puedes ver en su post:

    "With Foxit Reader, no warning is displayed:"

    Él ha sido capaz de saltárselo. Leete su post..... tontolaba.

    Saludos!

    ResponderEliminar
  3. Y si descargas el archivo y lo pruebas? o lees el comentario 17 de su post: http://blog.didierstevens.com/2010/03/31/escape-from-foxit-reader/

    ;)

    ResponderEliminar
  4. @anonimo:
    porque crees que han sacado la última version?

    http://www.hispasec.com/unaaldia/4178
    Actualización de seguridad para Foxit Reader
    Foxit ha publicado la versión 3.2.1 de su lector de documentos PDF....

    ResponderEliminar
  5. ANONIMO OWNEEEEEEEEDDDDDDDDDDD, encima de flamear de forma 'anonima'

    ResponderEliminar
  6. Qué genios estos de Microsoft y Adobe, centralizar las actualizaciones de los programas, lo nunca visto...

    ResponderEliminar
  7. @J.L. Pino, sí, verdad? es guay desde que MS tiene el WU. Ahora van a pasarle pruebas a TODAS las actualizaciones que se distribuyan, es genial.

    Saludos!

    ResponderEliminar
  8. "Sólo 2 de 42 lo detectaron, 1 como sospechoso y únicamente VirusBuster conocía el formato"

    Me parece lamentable la calidad real del software antimalware. Si no conocen la firma no se enteran de nada, y ya sabemos todos el esfuerzo que muchos dedican a "conocer" las firmas.
    Lo que tal vez deberían intentar hacer es frenar los exploits, al fin y al cabo, la mayor parte de los problemas se reducen a eso, aprovechar una vulnerabilidad en un componente del sistema o una aplicación. Yo creo que hay muchos más métodos para engañar al antivirus que 0days circulando libremente, pero parece que a estos les da igual, porque tienen el negocio asegurado.
    @Maligno WSUS no es ni de lejos la panacea, más bien parece un producto abandonado a su suerte. Cuando tienes varios miles de equipos "actualizados" con el, te das cuenta de lo cortito que se queda, aunque creo que es muy buena idea que los subproductos de Adobe se parcheen con el. SCCM es otra cosa, pero tampoco es para tirar cohetes...

    Un saludo.
    Manolo.

    ResponderEliminar
  9. Manolo, poder sacar por los WU (a nivel mundial) las actualizaciones de PDF es un avance...el no tener que desplegar un agente nuevo en las máquinas clientes es un avance.

    Los MUS y lo WUS son útiles para pequeñas instalaciones... vosotros necesitas un SCCM }:P

    Saludos!

    ResponderEliminar
  10. @Maligno Estoy 100% de acuerdo, es un avance, de echo espero que otros se suban al carro, que los admins también queremos tener algo de vida.

    Y lo de wsus/SCCM lo sé, sé que tenemos que cambiar, y mira que me jode jejeje :-) si le dieran un empujón a wsus la cosa iría muy bien, pero el negocio, es el negocio. Es lógico.
    Saludos!!
    Manolo.

    ResponderEliminar
  11. A lo mejor peco de novato pero:

    Aunque tu antimalware, y antivirus fallen...
    Si se dispone de un Cortafuegos, no se supone que saltará un mensaje informando de que un programa intenta conectar a una direccion externa o algo asi??

    ResponderEliminar
  12. @keil Eso depende del firewall (imagino que te refieres al firewall de la propia máquina), y de lo que se haya tragado el "anti"bichos, es decir, si se ha tragado un rootkit que oculta las conexiones que hace un troyano, por ejemplo, entiendo que el firewall se lo puede tragar, ya que el rootkit podría ocultar al firewall lo que está ocurriendo.

    Desde luego, si el firewall está fuera de la máquina, al rootkit se le verá el plumero, otra cosa es distinguir el tráfico del troyano del tráfico legítimo.
    De todas formas todo depende del escenario.

    Un saludo y perdón señor Maligno por la intromisión:-)

    Manolo.

    ResponderEliminar
  13. Lo que me parece fatal es que aun la gente use Windows... o mejor seguir usandolo.

    Asi yo en mi mac tendre las mismas posibilidades de que me pasen cosas "malignas".

    :D

    ResponderEliminar
  14. Pregunto y solo pregunto:

    Los usuarios de Linux ya tienen implementado esto no¿? dado que cuando salta el 'Gestor de actualizaciones' se actualiza cualquier sw del equipo, dado que las actualizaciones vienen de los repositorios del sw instalado.

    No podría MS plantearse hacer algo parecido pudiendo instalar sw desde un repositorio centralizado?

    S2!

    ResponderEliminar
  15. Por cierto que opinais de esta herramienta: https://conan.cert.inteco.es/analizador.php

    ResponderEliminar