El peligroso mundo del PDF

En este excelente post que salió hoy en Segu-Info, se relata una de las últimas y peligrosísimas vulnerabilidades de los PDFs, confirmando lo que planteábamos en nuestro post de ayer. Les adelanto la moraleja de la historia: mejor usen el formato libre DJVU; es más seguro y crea archivos más pequeños y de mejor calidad… es sólo que no tiene el soporte de un «gigante» como Adobe.



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 vulnerable

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.

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.

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.

Háganme caso, mejor usen el formato libre DJVU: es más seguro y crea archivos más pequeños y de mejor calidad.

Fuente: Segu-Info


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   marcoshipe dijo

    una aclaracion: pdf tambien es un formato libre.
    y habria que ver de quien es la culpa, si del formato (PDF) o de los programas (Acrobat Reader, Foxit, etc) por que el formato puede ser muy bueno, pero el programa que lo ejecute sea muy malo, y eso no quiere decir que no haya programas bueno que esto no les pase (todos usan el Acrobat o el Foxit, pero en linux tenemos muchas mas opciones, seran estos vulnerables?)

    nunca probe djvu, ahora me fije un poquito a ver que es, y tiene una cosita que no me gusta en este poquito tiempo que me fije, no se puede copiar el texto, ya que todo es una imagen. no me gusta que sea asi, suelo copiar cosas de los pdf que leo.
    no se si lo usaria mucho, creo que prefiero que se mejore el formato pdf, que es vectorial.
    saludos

  2.   Usemos Linux dijo

    Estimado Marcos, tus comentarios son acertados. PDF era un formato propietario, pero desde el 1 de Julio de 2008 es un formato abierto.
    De todos modos, es cierto lo que decís de que a veces los clientes/lectores tienen mucho que ver. Un claro ejemplo es el caso que se relata en este post.
    Y sí, a mí tampoco me gusta no poder copiar el texto de los .djvu. 🙁 No obstante, en la página de Wikipedia en inglés dice que: «Thus, instead of compressing a letter «e» in a given font multiple times, it compresses the letter «e» once (as a compressed bit image) and then records every place on the page it occurs.
    Optionally, these shapes may be mapped to ASCII codes (either by hand or potentially by a text recognition system), and stored in the DjVu file. If this mapping exists, it is possible to select and copy text.» Lo que significa que sí se podría seleccionar texto en los djvus.