Mostrando entradas con la etiqueta pdf. Mostrar todas las entradas
Mostrando entradas con la etiqueta pdf. Mostrar todas las entradas

17 abril 2015

Herramientas para analizar ficheros ofimáticos online

Decir que la mayoría de incidentes de seguridad con amplia repercusión han involucrado, casi siempre, el envío de documentos con 'regalos', es hablar de una realidad en los últimos años.

Desde el siempre comentado 'Caso RSA', que involucró un documento Excel, hasta los cientos de ataques que tuvieron como protagonistas ficheros PDF, demuestra que, poder analizar de una forma eficaz un documento sospechoso, es algo en lo que merece la pena profundizar.

En este blog tuvimos la suerte de contar con una contribución de Jose Miguel Esparza hablando de PeePDF, herramienta que permite analizar y extraer el jugo a un documento PDF orientada a hacer el análisis en local. 

Hoy toca ver herramientas online al estilo virus total, que nos permitan subir un documento para que sea analizado, diseccionado y obtengamos un informe sobre su peligrosidad.

El primer servicio es 'Joe Sandbox Document Analyzer' permite analizar documentos Office y también documentos PDF. Luce tal que así:


Otra opción son las herramientas de 'Malware Tracker' que tiene una versión para documentos ofimáticos y otra para documentos PDF






Finalmente, otra muy buena opción es XecScan que además permite consultar los informes de ficheros que han ido enviando otros usuarios

 

En próximos artículos hablaré de como hacer este tipo de análisis en modo manual
Leer más...

18 octubre 2012

Infecciones automáticas mediante PDFs

La gente consciente de la seguridad/inseguridad informática sabe que un PDF puede contener malware y al abrirlo con una versión vulnerable del lector, la máquina del usuario puede ser infectada. De hecho es una de las formas más extendidas de distribuir software malicioso. Pero aunque hace años que se habló de otras formas de conseguir el mismo objetivo sin necesidad de abrir el fichero, mucha gente sigue no siendo consciente. Ya en el 2009 Didier Stevens mostró en su blog varias maneras, concretamente tres, de infectar una máquina sin necesidad de abrir un PDF. Incluso también existe una cuarta forma en la que no es necesario ni interacción por parte del usuario.


En los ejemplos mostrados se hace uso de las Shell Extensions para infectar la máquina del usuario, así que lo primero es comprender en qué consisten. Es un software añadido al explorador de Windows, de forma que éste incorpora una nueva funcionalidad gracias a la integración de software de terceros.  Un ejemplo sería la posibilidad de analizar un fichero/directorio con un AV mediante el menú contextual, o realizar una compresión con Winzip/Winrar/etc. Pero no sólo se trata de añadidos en el menú contextual, sino que también puede consistir en pestañas extras que se muestran al ver las propiedades de un fichero, previsualización de thumbnails, etc.

Como he comentado anteriormente, Didier Stevens en el 2009 utilizando como plataforma un Windows XP SP2 totalmente parcheado y corriendo un Adobe Reader 9 demostró éstas vías de infección. La versión 9 de Reader implementaba DEP, ASLR y MIC de nivel medio. Pero en la versión X, como medidas de seguridad se hace uso de una sandbox para mitigar futuras vulnerabilidades, y se ha rediseñado Adobe Reader para poder ejecutarse con un MIC de nivel bajo. Actualmente con Adobe Reader X las Shell Extensions (thumbnails, properties, preview) corren dentro de la sandbox y no se instala iFilter. Aquí lo explican.

NOTA: en Windows 7 de 64 bits he tenido problemas para utilizar las Shell Extensions. La cuestión es que la Shell Extension pdfshell.dll situada en C:\Program Files (x86)\Common Files\Adobe\Acrobat\ActiveX es de 32 bits y por lo tanto no es cargada por Windows Explorer de 64 bits. Como en Windows 7 de 64 bits ya no se puede lanzar un explorador de 32 bits de C:\Windows\SysWOW64, una forma de poder utilizar las extensions de 32 bits en Windows de 64 bits es mediante Half Shell. Pero todo apunta a que tampoco funciona correctamente debido a las modificaciones hechas por Microsoft en Windows 7.


Ahora que ya sabemos en qué consisten las Shells Extensions, es hora de ver las formas de explotar vulnerabilidades en un lector de PDF sin necesidad de abrir el fichero. Adobe Reader instala software extra que permite leer ficheros PDF a los componentes de Windows. Hay que tener en cuenta que éstas formas de infección son relativamente antiguas, hace tres años ya, pero sirven como base para conocer que no siempre abrir un fichero es la única forma de infectarnos. Por lo tanto una infección mediante alguno de éstos métodos o similares sería posible en software actual si no existen mitigaciones a otros niveles:


1) Column Handler Shell Extension: es un objeto COM que le proporciona a Windows Explorer datos adicionales sobre un determinado tipo de fichero. Windows Explorer muestra estos datos en columnas extra. En el caso de un PDF éstos serían el título, autor, etc.

Cuando Windows Explorer tiene que mostrar un PDF, invoca al Column Handler para que lea los datos del PDF y se los pase a él. Por lo tanto, haciendo click sobre un fichero malicioso se ejecutaría el shellcode incluido en el mismo quedando infectada la máquina.

Si quisiéramos desinstalar las Shell Extensions relacionadas con PDFs, lo podemos hacer mediante el Shell Extension Manager de Nirsoft o la utilidad Autoruns de Sysinternals


2) Cuando en Windows Explorer se utiliza la vista Thumbnail se muestra la primera página del PDF en formato mini-imagen. Esto implica la lectura del PDF, por lo tanto también podemos aprovecharnos de un Adobe Reader vulnerable para realizar la infección.


3) Al situar el cursor sobre un fichero PDF se muestran las propiedades y los metadatos del mismo. Si se incrusta un stream object malformado en los metadatos que se aproveche de una vulnerabilidad, se puede ejecutar código con sólo situar el cursor sobre el fichero. Esto se debe a que Windows para mostrar el tooltip lee los metadatos mediante una aplicación (como Adobe Reader).


Debido a que, como hemos visto, no es necesario hace doble click para ejecutar el malware, Didier Stevens recomienda cambiar la extensión del mismo: malware.pdf.mal. Con esto evitaremos infecciones automáticas indeseadas como las previamente comentadas.


Antes había hablado de iFilter, y es hora de que sepamos en qué consiste. El indexador de contenido Windows Indexing Service (llamado Windows Desktop Search en Windows XP y Windows Server 2003), fue reemplazado por Windows Search en Windows Vista y 7. El IFilter AcroRdIF.dll extiende la funcionalidad de Windows Indexing Service para indexar el contenido de los PDFs. Windows puede leer y por lo tanto indexar el contenido de ciertos ficheros, como sería cualquier txt, pero para formatos más específicos hace uso de aplicaciones de terceros. Es ahí donde entre en juego iFilter, ya que sin él el contenido de un fichero PDF no puede ser parseado ni indexado por Windows Search.

Dicho de otra manera, cuando Windows Search indexa contenido, al no entender el formato de ciertos ficheros busca en el registro el IFilter correspondiente. El demonio de indexado de contenido (cidaemon.exe) llama a Acrobat IFilter (AcroRdIF.dll), el cual carga el parser (AcroRD32.dll). Es éste el que se encarga de parsear el contenido y pasarle a Windows Search el texto extraído del documento para que lo indexe.

Como reseña histórica indicar que en Windows XP SP3, Windows Indexing Service se ejecutaba como System, y por lo tanto la DLL AcroRdIF también. El servicio no se iniciaba automáticamente, sólo si lo activábamos expresamente después de realizar una búsqueda como administrador.

En Windows Desktop Search 4.0 se ejecutaba también como system, pero AcroDrIF.dll corría en un proceso a parte bajo la cuenta local service. Por tanto hubo una mejora en el diseño de seguridad del mismo.

Para evitar la explotación de una vulnerabilidad en Adobe Reader mediante IFilters, procedemos a eliminar la correspondiente entrada del registro:

regsvr32 /u AcroRdIf.dll

aunque, como se ha dicho antes, en la versión X actual ya no se incluye.

Aunque existen estas dos posibilidades para ejecutar el payload de un fichero de forma automática (sin abrir el PDF y sin interacción), los autores de malware sigue prefiriendo el uso de ingeniería social para que los usuarios de forma manual abran el PDF.

El shellcode incrustado en el fichero PDF podría ejecutar cualquier instrucción, pero la shellcode clásica descarga un troyano. Primero busca el system directory (system32), descarga un troyano de Internet y lo guarda en el system directory ejecutándolo finalmente. Aunque también existen ficheros que contienen de forma embebida el troyano. En este caso la shellcode extrae el ejecutable, lo guarda en disco y lo ejecuta.


Artículo cortesía de David Montero
Leer más...

24 febrero 2011

Presentación sobre seguridad en PDF.

Después de dar las charlas en Adwys2011, Cádiz y GSIC, Coruña, dejo por aquí el material que he utilizado para la presentación y el vídeo de la demo, en el que utilizando Metasploit, se explota una vulnerabilidad en un Adobe Reader 9.





Leer más...

12 julio 2010

Asegur@IT 2010 Valencia - Adobe ¬¬

... Claro, además del curso de verano, también terminó el Asegur@IT que se celebró al día siguiente en la misma ciudad. En esta ocasión con una ponencia sobre archivos PDF.

Comenzamos con algún pequeño incidente. Según parece, para la gente de la Bolsa de Valencia no soy demasiado elegante y me toco darme una vueltecita y tunearme como si fuese un Seat Makinero para bypassear al "señorcito simpático" de la entrada.

Pero una vez dentro, todo transcurrió sin ningún tipo de incidente.

Aprovechando esta entrada me quería disculpar de dos cosas. Primero, según comentó la organización tocábamos a un croissant por cada tres personas, así que lo siento por los 11 que se quedaron sin nada, pero es que... ¡¡tenía muuucha hambre!! Y segundo, las prisas, pensaba que la charla duraba 1 hora y no 45 minutos, por lo que no se pudieron lanzar preguntas e incluso la última parte fue con más revoluciones que el protagonista de Crank.

Iré escribiendo algunas de las cosas que se explicaron, aun así, repito lo mi anterior entrada, si alguien quiere aprovechar: turno de preguntas.




Leer más...

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$.

Leer más...

25 junio 2010

Buenas prácticas: Prevención de ataques a través de PDFs

Está claro que la moda últimamente es la distribución de malware/explotación de vulnerabilidades mediante ficheros PDF. De los productos de Adobe salen unas 200 vulnerabilidades al día (ojo, dramatización, este dato no está basado en ninguna estadística...), y si hace unos años el peligro venía en forma de ficheros .vbs, .ppt, .scr que llegaban a nuestros correos, ahora hay que tener cuidado con este formato de documentos y concienciarnos sobre ellos.

Y ya no sólo porque se nos instale en nuestro sistema un maravilloso servicio que pueda pertenecer a una superbotnet; es que podría convertirnos en la perfecta pasarela desde Internet a nuestra red corporativa, y da igual que seas Google, 

Por ello, después de comprobar que no es suficiente con tener nuestro Adobe Acrobat actualizado a la últimísima versión, que se nos actualice silenciosamente, y tras estar cansados de leer siempre que se ha descubierto que se está explotando una vulnerabilidad "in-the-wild" (activamente, sin que nadie se entere salvo dos o tres personajes...), en SearchSecurity nos recopilan una serie de buenas prácticas, enfocadas sobretodo al mundo corporativo (aplicables también a nuestros equipos personales), para prevenir estos ataques mediante PDFs, o por lo menos, que en caso de que se exploten mediante vulnerabilidades del producto no reportadas, que el riesgo o impacto sea mínimo y no se vea comprometida toda una infraestructura. Punto por punto de dicha recopilación, intentaremos ampliarlo con un poco más de información al respecto:
  • Únicamente confiar en archivos PDF que provengan de fuentes conocidas
Es algo que siempre se intenta transmitir, cayendo en comentarios del tipo "eso es muy fácil decirlo, pero, ¿y si comprometen la dirección de correo electrónico de mi compañero? ¿o del proveedor? ¿o de mi cliente?". Nunca está de más comprobar que realmente se espera un documento del remitente, y en caso de resultar sospechoso, comprobarlo telefónicamente o con otro correo electrónico como respuesta (aunque igual de esa cuenta de correo no podemos esperar nada bueno...).

Si lo habitual es la distribución de los informes por su parte en .doc o .docx por ejemplo, sería un poco extraño que de repente se adjunte un .pdf. Si viene por parte de un compañero, que incluso podría sentarse a 3 metros de tu sitio, y se supone que el fichero incluye las fotos de su último viaje a Cancún (que no ha hecho), un poema gracioso sobre política (que te lo podría recitar en la hora del café), o fotos del mundial y de vuvuzelas (que te las enseñe en su equipo), evitar abrirlo, se puede seguir viviendo sin problemas, no es indispensable.
  • No visitar enlaces web a ficheros .pdf y y protección frente a direcciones peligrosas
El comportamiento habitual es que el navegador invoque a Adobe Acrobat para la lectura del fichero desde el propio navegador, pudiendo comprometerlo. No hay excusa frente a correos del tipo "como informe es heavy, mejor le dejado uploaded en nuestro almasen online de documentos...de Rusia...si no possible to acceder, go a este de China...por cierto ganó 1 millón de libras". Si aún así, alguna persona hiciese clic en este enlace del correo, se debería contar con un software antivirus capaz de analizar URLs que pudiesen resultar maliciosas antes incluso de llegar a acceder a ellas. 
  • Manejo de ficheros PDF por parte del navegador
Al hilo del punto anterior, trataremos a continuación como poder evitar que, automáticamente, el navegador abra el fichero PDF directamente, y proceda a su descarga, dónde podría ser analizado.

En las propias preferencias de Adobe Acrobat, Edición -> Preferencias, en la categoría Internet, podremos desactivar la casilla Mostrar PDF en explorador.


También es posible llevar a cabo una serie de acciones en los propios navegadores. Ahora distinguiremos estas acciones a seguir para cada uno de ellos, aunque al final sabemos cual es el navegador corporativo en la mayoría de entornos...
  1. Internet Explorer
    1. Mediante el registro de Windows, en caso de poder acceder a él, modificarlo, etc, únicamente tendríamos que modificar la clave HKEY_CLASSES_ROOT\AcroPDF.PDF.1\EditFlags y dejarla con el valor 00 00 00 00



    2. Accediendo a Herramientas -> Administrar complementos, podremos desactivar todos los plug-ins referentes a Adobe PDF.
  2. Mozilla Firefox
    1. En el menú de Herramientas -> Opciones -> Pestaña Aplicaciones, estableceremos "Preguntar siempre" en los ficheros PDF, evitando así su apertura directa.



    2. Es posible utilizar en su lugar, por comodidad, complementos que actúan como visor de documentos de tipo PDF u otros utilizando por ejemplo el visor de documentos mediante Google sin abandonar obviamente el navegador para su lectura.
  3. Google Chrome
    1. Este navegador directamente descargará los ficheros PDF sin abrirlos directamente o pidiéndonos su ubicación de descarga, y hace poco Google confirmaba que muy próximamente incluiría un visor integrado de ficheros PDF en el propio navegador.
    2. Al igual que con Mozilla Firefox, contamos con addons que permiten ver documentos PDF y de otros tipos directamente desde el navegador aprovechándose del visor del propio Google Docs.
  4. Opera
    1. Para modificar el comportamiento frente a ficheros PDF, acceder a Configuración -> Opciones (o Control+F12) -> Pestaña Avanzado -> sección Descargas, buscamos "pdf" y seguidamente Editar para seleccionar la acción. Lo más adecuado sería Guardar en disco o Mostrar diálogo de descarga.


    Emulando la acción que facilitan las extensiones para los navegadores que hemos comentado en Firefox y Chrome en referencia al visor de Google Docs para ver PDFs en base a una URL, podréis hacerlo mediante el servicio que encontraréis en la página http://docs.google.com/viewer?pli=1
  • Desactivar soporte de JavaScript en Acrobat
En el entorno que estamos tratando, resultaría cuanto menos extraño que necesitemos tener activado el soporte de JavaScript en Acrobat. Por ello, es conveniente desactivarlo para ahorrarnos algún que otro programa con muchas de las vulnerabilidades que aparecen. Sobretodo se recomienda mientras se espera a una solución o parche oficial por parte de Adobe a dicha vulnerabilidad. Workaround por excelencia.

Para desactivar el soporte de JavaScript en Adobe Acrobat / Reader, accederemos a Edición -> Preferencias y en la categoría JavaScript y des-marcamos la casilla de "Activar JavaScript para Acrobat".



  • Privilegios del usuario actual en el sistema operativo
Digamos que esta práctica debería ser llevada a cabo, no sólo para evitar los ataques a los que nos referimos, si no para minimizar el impacto de muchos problemas de seguridad.

En entornos corporativos se suele contar ya de por si con usuarios restringidos, no Administradores totales del sistema. En caso de ser el empleado del mes al que dejan total libertad con su equipo de trabajo, es conveniente utilizar una cuenta de usuario con privilegios mínimos sobretodo si realizamos un uso normal y corriente del sistema, como navegación, calculadora, Word, Buscaminas, etc.
  • Buen estado de la plataforma
Repetimos lo comentado anteriormente. Si ya de por si no se realiza por política de la empresa, mantener el equipo de trabajo actualizado a su última versión, con los últimos parches de seguridad aplicados (si es el Windows del trabajo, seguro que no tienes problemas con Windows Update y el wga ¿cierto?), actualización del software antivirus, etc.
  • Alternativas al software de Adobe
Es viernes, ¿tienes otras cosas que hacer, entregar esos informes de últimísima hora, y no tienes tiempo de cambiar registros, bucear en preferencias e instalar complementos? Ya contamos con alternativas perfectamente válidas para poder abrir ficheros PDF sin echar de menos ninguna funcionalidad de Acrobat, como por ejemplo Foxit Reader, de los más famosos visores de documentos PDF gratis.

Comentadnos vuestras experiencias, más buenas prácticas a tener en cuenta, alternativas, si en las paredes de vuestras oficinas contáis con posters de concienciación con dianas sobre Adobe, ¡lo que queráis!

Leer más...

03 abril 2010

Desproteger PDF que no permiten copiar y pegar (o imprimir..)

Los archivos PDF tienen dos tipos de protecciones, la más sencilla es la denominada protección de usuario que permite abrir el archivo, pero no imprimirlo, modificar, copiar y pegar texto o añadir anotaciones al documento.

La protección de propiedad es más fuerte y evita que el archivo sea abierto por un usuario si este no dispone de la contraseña para descifrarlo.

La siguiente captura ilustra un PDF que tiene configurado permisos especiales para evitar que sea modificado o se añadan anotaciones:



Esta mismas propiedades se pueden consultar observando el diccionario del archivo PDF con la herramienta pdf-parser.


De la que se obtiene:
  • /Filter /Standar: uso del manejador estándar de seguridad
  • /V: algoritmo 1
  • /R: revisión 2
  • /O: contraseña de propietario (Owner)
  • /U: contraseña de usuario
  • /P: configuración de permisos en decimal.
Los permisos como copiar, imprimir, etcétera se establecen  mediante 32 bits donde 1 es permitido y 0 denegado. De estos 32 bits  realmente se utilizan del 3 al 6. Los 2 primeros, el 7 y 8 y los últimos 20 están reservados y el resto disponibles para la revisión 3 del estándar PDF y generalmente sin uso.

En este ejemplo los permisos corresponden al decimal -44, que en binario se traduce como: 101100. Lo que significa que se puede imprimir y copiar pero no modificar o añadir anotaciones. La siguiente tabla extraiía del estandar (31Mb) muestra un resumen de las opciones disponibles:


Esta protección es muy sencilla de suprimir y existen varias aplicaciones gratuitas y comerciales de escritorio que la eliminan. Pero además, es posible utilizar servicios web con la mismas características. Aunque eso sí siempre para documentos que no sean confidenciales, no vayan a publicarlos la semana que viene en wikileaks.net. En negrita mis dos favoritas:



Más información:
Leer más...