30 junio 2010

zynamics PDF Dissector

No es noticia que desde hace un par de años el mayor número de vulnerabilidades se están encontrando en productos del lado cliente, en especial aquellos que pueden ser explotados remotamente. Como por ejemplo Adobe y su producto Acrobat Reader, que instala un complemento que permite ver los ficheros PDF directamente desde el navegador.

Por ese motivo y por ser un producto prácticamente virgen Acrobat Reader ha acaparado toda la atención últimamente, tal es así que el número de archivos PDF infectados es inmenso, explotando distintas vulnerabilidades y ocultando su código para que sea complicado ser detectado y analizado

Para tratar de paliar esta problemática nace PDF Dissector,  una aplicación escrita en Java por la compañía Zynamics, que muestra el contenido del documento de forma estructurada, facilitando las tareas de la inspección.

El uso de la herramienta es sencillo pero requiere conocimientos en el formato de los PDF y sus posibilidades.
Entre sus principales características destacan:
  1. Presenta el archivo de forma "física" o "lógica". Es decir, tal y como esta almacenado en disco o siguiendo la estructura del documento.
  2. Opciones desarrolladas para la extracción y compresión del código JavaScript (en el que generalmente se introduce la vulnerabilidad):
    • Decodifica los objetos "Stream" que contengan código. De tal forma que se facilite la extracción, ya que en ocasiones los objetos estas comprimidos y no pueden ser vistos directamente.
    • Ejecución en un intérprete propio Javascript, para ir deofuscando y entiendo el código malicioso.
    • Ejecución en una emulación del intérprete de Javascript de Acrobat, que dispone de funciones propias y son usadas en ocasiones para complicar más el análisis.
    • Procesamiento del código, tabulando y mostrándolo de forma más visual y comprensible.
  3. Identificación de vulnerabilidades conocidas.

He estado probando la utilidad intensivamente y he sacado algunas capturas con los ejemplos más habituales de su uso, aunque podéis ver más en la página del producto. También hay un par de videos [1] [2] muy instructivos y un breve manual.

La parte izquierda de la ventana muestra la interpretación física del archivo PDF, en la que se ha seleccionado un objeto que contiene código Javascript. En la parte derecha en amarillo se ve ese código comprimido.

El objeto Stream es decodificado y mostrado al pulsar en la pestaña "Decoded".


En la parte superior se muestra la interpretación y visualización del código js ofuscado para su análisis manual. La parte inferior contiene una tabla con el resultado de la ejecución del código en el propio intérprete. Esta ventana es un editor y permite modificar nombres de variables y funciones para que la lectura sea más sencilla.


 Por último, esta captura muestra cómo se visualiza el árbol de contenido cuando se selecciona la pestaña "logic", lo que permite encontrar rápidamente las acciones que se conocen más peligrosas.



El precio es de 250$ para la licencia de un único usuario durante un año, posteriormente si se desea mantener la actualización, será necesario abonar un 80% del precio anualmente, en este caso 200$.

5 comments :

Anónimo dijo...

¿se puede ejecutar desde línea de comandos? Es decir, ¿se podría hacer un script que automáticamente analice todos los pdf y distinga entre los que tienen código javascript (u otra propiedad sospechosa) y los que no?

Interesante...

Alejandro Ramos dijo...

@Anónimo: el autor de la aplicación ha leido tu pregunta y directamente nos ha remitido la respuesta:

--
yes, it is possible to
run a stand-alone version for automated analysis. This stand-alone
version can be fully scripted using Jython, JRuby, or Java and has
access to all parts of the PDF file.

Regards,
Sebastian
---

Anónimo dijo...

Muy bien, bastante util para gente que tenga que tratar con muchos pdfs y documentos, el problema es que es un verdadero atraco el dinero que pide por el programa y encima solo de un año. Se lo puede quedar, yo espero una solución libre.

Anónimo dijo...

Requiere controlar un poco moito para que sea útil, pero siempre me han llamado mucho la atención los pdfs con regalicos.
Muchas gracias por las explicaciones, parece todo mucho más sencillo :)

Anónimo dijo...

y ademas barato.. una joya.