Es muy usual encontrar documentos del paquete Office siendo utilizados en actividades maliciosas a través de sus macros, sobre todo archivos de Word y Excel. Sin embargo, ¿son estos los únicos documentos que pueden llegar a ser riesgosos para la seguridad de nuestros equipos? A continuación, explicamos cómo son utilizados los archivos con formato PDF para distribuir malware.
¿Cómo son los archivos PDF?
Uno de los formatos más utilizados a nivel mundial para el almacenamiento de documentos es PDF. Este formato es sumamente versátil, ya que tiene la capacidad de incluir en sus documentos muchos tipos de contenido, como imágenes, video, audio, modelos 3d, otros documentos, scripts, etc.
Si bien esta gran versatilidad es extremadamente útil, también es aprovechada de forma maliciosa por los cibercriminales, quienes utilizan este tipo de archivos para como un medio más para infectar a sus objetivos. Con el fin de comprender mejor los PDF maliciosos, comenzaremos estudiando brevemente la estructura básica de este formato.
En su versión más simple, están compuestos por cuatro secciones principales:
- Header: Está al comienzo del archivo y contiene únicamente la versión de la especificación de PDF que utiliza.
- Body: Contiene todos los objetos (textos, imágenes, etc) que conforman el documento.
- Cross-Reference table (xref): Contiene la posición donde se encuentra cada uno de los objetos en la estructura interna del archivo (la dirección en el binario). Esto es útil para que no sea necesario recorrer todo el documento para encontrar un objeto puntual.
- Trailer: Contiene la posición donde comienza la tabla xref y posteriormente el indicador de fin de archivo: %EOF.
Un dato interesante de este formato es que, debido a su estructura y a cuestiones de performance, los archivos se deben leer desde el final hacia el principio. De esta manera uno comienza leyendo el trailer, de allí obtiene la posición de la XRef table y, al conocer esta posición, se puede obtener la posición de cualquier objeto dentro del archivo.
Por lo tanto, a la hora de analizarlos en busca de elementos maliciosos es imprescindible analizar la sección body, ya que es la que contiene los objetos y, en caso de que los documentos sean muy grandes, podemos aprovechar la XRef table para encontrar esos objetos más rápidamente.
¿Como suelen comportarse los PDF maliciosos?
Si bien las dinámicas empleadas por los cibercriminales al momento de diseñar sus PDF maliciosos son muy variadas, existen dos “corrientes” principales:
Mediante exploits
El PDF malicioso contiene un exploit capaz de aprovechar una vulnerabilidad en el programa con el cual se abre el archivo, comúnmente conocido como lector de PDF. Cabe destacar que no todos los programas presentan las mismas vulnerabilidades e incluso una versión de un programa podría ser vulnerable y otra no. Un ejemplo de esta dinamica es el archivo PDF malicioso analizado en 2018 por investigadores de ESET, donde se descubrio que utilizaba una vulnerabilidad zero-day que afectaba ciertas versiones del popular lector Adobe Reader y que al ser explotada permitía al atacante ejecutar codigo arbitrario en el equipo de la victima de manera remota. En este sentido, estos ataques suelen estár dirigidos únicamente a los usuarios de versiónes específicas de un programa específico. Por esta razón es conveniente evitar revelar públicamente detalles del programa que se utiliza, ya que este tipo de información podría ser utilizada en el contexto de un ataque dirigido (este tema se profundizará más adelante).
Mediante scripts
En este caso los PDF maliciosos contienen un script embebido cuya funcionalidad simplemente se limita a obtener y ejecutar otro malware más completo, es decir, no suelen ser la amenaza principal. Estos scripts suelen utilizar dos estrategias:
- Descargar el malware desde un sitio externo y ejecutarlo.
- Ejecutar un malware que está embebido como un objeto más dentro del PDF malicioso.
Para que el ataque sea efectivo, es necesario que el script sea ejecutado en forma automática e inmediata cuando el usuario abre el PDF. Esto se logra mediante el uso de comandos propios del formato como “OpenAction” configurados para abrir el script.
A continuación, se mostrará un análisis para ejemplificar esta dinámica.
Breve análisis de una amenaza a través de un PDF malicioso
Con el fin de ejemplificar una de las dinámicas empleadas, a continuación analizaremos brevemente una muestra de un PDF malicioso (PDF/TrojanDropper.Agent.D) que realiza un ataque en múltiples etapas.
Comenzamos abriendo el archivo PDF, en este caso con el editor de texto Sublime, y procedemos a analizar su contenido. Algunos puntos importantes para observar son: la versión de PDF utilizada, los archivos embebidos y las “OpenAction” (las acciones que serán llevadas a cabo al abrir el documento).
Puede advertirse claramente que hay un archivo .doc embebido llamado “purchase Items” y, en la siguiente línea, una OpenAction. Luego, el siguiente paso será analizar la acción referenciada para determinar si tiene alguna relación con el archivo adjunto.
En la Imagen 4 puede observarse código JavaScript y, particularmente, la instrucción exportDataObject. Esta instrucción toma como parámetro el nombre del archivo embebido y otro parámetro “2”. Esto, en combinación con la OpenAction vista previamente, quiere decir que cuando se abra el PDF también se abrirá el archivo .doc.
El siguiente paso será determinar la naturaleza maliciosa del archivo “puchase Items.doc”. Para hacerlo podemos utilizar cualquier herramienta gratuita capaz de extraer archivos embebidos dentro de PDF.
Una vez extraído el archivo se puede analizar con algún producto de seguridad o se puede buscar su hash en alguna base de datos de malware. Al realizar esto obtenemos la detección: Win32/Exploit.CVE-2017-11882 (ESET).
La detección nos indica que este archivo está explotando la vulnerabilidad CVE 2017-11882 de Microsoft Office. Esta vulnerabilidad permite que, al abrir el documento, el atacante pueda ejecutar código arbitrario como si fuera el usuario que está utilizando la computadora. Posteriores análisis revelaron que el objetivo de este archivo es explotar la vulnerabilidad para luego descargar y ejecutar otro malware.
Es importante destacar que, al igual que para la ejecución de macros Office, muchos programas lectores de documentos PDF suelen tener protecciones que impiden que el código JavaScript pueda abrir el archivo embebido sin autorización explicita del usuario. Por ejemplo, el Adobe Acrobat Reader muestra un mensaje preguntando si deseamos abrirlo.
Aun contando con estos mecanismos de seguridad no debemos desestimar el potencial malicioso de los PDF, ya que un usuario inexperto, distraído o víctima de ingeniería social podría permitir la apertura del archivo. Por otro lado, al abrir archivos que aprovechen la existencia de una vulnerabilidad en el programa para leer PDF no se mostrará ningún mensaje, ya que la explotación ocurrirá sin necesidad de interacción por parte del usuario.
PDF en ataques dirigidos a empresas
Los archivos PDF están presentes en la actividad laboral de casi cualquier oficina o persona que ofrezca un servicio. Ya sea para enviar o recibir catálogos de productos, contratos, servicios ofrecidos, reportes, etc, es común encontrar archivos PDF en entornos corporativos, por lo cual representan una gran oportunidad para los cibercriminales a la hora de realizar ataques dirigidos.
La complejidad y la dinámica de los ataques que utilizan estos archivos puede variar tanto como la imaginación del atacante, que puede utilizar desde un PDF genérico enviado de forma masiva a todos los empleados de una empresa hasta un PDF cuidadosamente redactado y dirigido a un empleado especifico de un área específica. De esta manera, por ejemplo, un atacante podría confeccionar un documento estableciendo requisitos para la contratación de un servicio y enviarlo al sector de ventas, esperando que estos abran el documento para verificar si pueden satisfacer los requerimientos del “potencial cliente”.
Como vimos anteriormente, muchos PDF maliciosos utilizan exploits que aprovechan vulnerabilidades en lectores de PDF. Estas vulnerabilidades suelen estar presentes únicamente en determinadas versiones de los productos, con lo cual un exploit puede servir para una versión, pero no necesariamente para otra. Por este motivo, antes de lanzar un ataque el cibercriminal debe recopilar información sobre los sistemas y productos que utiliza su objetivo con el fin de aumentar su precisión y efectividad.
Aquí entran en juego otra vez los archivos PDF, pero aquellos que son producidos legítimamente por la organización a la cual se intenta atacar. Cuando se genera un documento PDF este suele contener metadatos que aportan información sobre múltiples cosas, entre ellas, el programa con el cual fue creado e incluso, en algunas ocasiones, el sistema operativo donde se corrió ese software.
Muestra 1 | Muestra 2 |
---|---|
Title: ******* Author: Jack Creator: QuarkXPress(tm) 4.1 Producer: Acrobat Distiller 4.0 for Macintosh CreationDate: Sun Oct 20 15:58:34 2002 CEST ModDate: Sun Oct 20 20:00:07 2002 CEST Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 6 Encrypted: no Page size: 396 x 612 pts Page rot: 0 File size: 5340308 bytes Optimized: yes PDF version: 1.2 | Creator: Adobe InDesign CC 2017 (Macintosh) Producer: Adobe PDF Library 15.0 CreationDate: Thu Apr 5 22:31:59 2018 CEST ModDate: Thu Apr 5 22:32:41 2018 CEST Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 17 Encrypted: no Page size: 595.276 x 841.89 pts (A4) Page rot: 0 File size: 3188133 bytes Optimized: yes PDF version: 1.5 |
Por lo tanto, un atacante podría buscar los PDF públicos de la organización a la que planea atacar e incluso hacerse pasar por un cliente para obtener documentos en formato PDF creados exclusivamente para él. Una vez obtenidos los archivos, puede extraer los metadatos de estos para obtener información sobre el software utilizado y, junto con su versión, verificar si el mismo puede ser explotado a través de alguna vulnerabilidad. Por este motivo es aconsejable ser cuidadosos con los metadatos incluidos en documentos de acceso público, intentando que estos incluyan la menor cantidad posible de información.
Conclusión
En conclusión, este formato de archivo tiene mucho potencial para ser utilizado con fines maliciosos, ya sea mediante un archivo adjunto o mediante un exploit. Por lo tanto, a la hora de utilizarlos, es importante manejarlos con prudencia y emplear buenas prácticas de seguridad:
En el caso de producir archivos con este formato:
- Limpiar cualquier tipo de metadato que pueda dar un indicio de la versión del software con el cual se generó el documento, del sistema operativo, del usuario, etc. De esta manera se reduce el riesgo de que un atacante obtenga información que le sea de utilidad para planificar un ataque dirigido.
En caso de abrir archivos PDF:
- Es esencial contar con algún producto de seguridad capaz de analizar y detener este tipo de amenazas, especialmente en aquellos dispositivos en los cuales se intercambia información con clientes y personas desconocidas, ya que no es posible verificar la confiabilidad del emisor de los documentos.
- Si el software con el cual se abrió el PDF muestra algún formulario preguntando si queremos abrir, ejecutar o activar alguna funcionalidad del documento en cuestión, es probable que este sea malicioso y conviene verificar su legitimidad.
- Asegurarse de que el software utilizado para visualizar estos documentos esté actualizado a la última versión. De esta manera se reduce el riesgo de ser víctimas de un PDF que contenga un exploit.
Fuente: welivesecurity.com