En los últimos años, los archivos diseñados mediante técnicas de creación de archivos políglotas se utilizan cada vez con más frecuencia en ciberataques. Les permiten a los atacantes eludir los filtros de correo electrónico y los escáneres de archivos para introducir malware, engañar a las víctimas mediante ataques de phishing y dificultar la investigación de incidentes.
Para lograrlo, los atacantes crean deliberadamente un archivo que el sistema puede interpretar como diferentes formatos dependiendo de la aplicación que lo abra. Un ejemplo clásico es un archivo que puede tratarse como una imagen PNG o como un archivo ZIP. Basta con cambiar la extensión del archivo o, simplemente, utilizar una u otra aplicación para abrirlo.
Veamos por qué es posible crear este tipo de archivos, qué combinaciones de formatos se han utilizado en ataques reales y cómo pueden protegerse las organizaciones frente a esta amenaza.
Por qué es posible crear archivos políglotas
Los formatos de datos que hay detrás de los archivos políglotas rara vez son poco comunes. Todo se reduce a una combinación ingeniosa de formatos habituales que, casualmente, son estructuralmente compatibles. Los archivos poliglotas aprovechan al menos una de las siguientes peculiaridades de ciertos formatos de archivo:
- La mayoría de los formatos de archivo deben descodificarse desde el primer byte, pero algunos requieren que se lean desde el final. El ejemplo más claro es un archivo ZIP: un inicio dañado o que falte no impide que las aplicaciones lean el archivo, ya que todos los encabezados necesarios se encuentran, de hecho, al final. Esto permite a los atacantes simplemente unir dos archivos: en el ejemplo anterior, un PNG y un ZIP. El inicio se lee como una imagen PNG válida, mientras que el final se lee como un archivo ZIP válido.
- Muchos formatos funcionan como las muñecas rusas “matrioskas”: aunque exteriormente tengan una extensión específica acorde con su uso previsto, en el interior el archivo es, en esencia, un archivo ZIP que contiene los datos necesarios. Este grupo incluye documentos ofimáticos modernos (DOCX/XLSX/PPTX), paquetes de instalación de Android (APK), archivos de bibliotecas Java (JAR) y muchos otros.
- Algunos formatos no tienen requisitos de estructura estrictos, o bien son lo suficientemente flexibles como para que la aplicación que procesa el archivo pueda localizar el fragmento que necesita aunque no se encuentre al principio.
En el repositorio de Polydet en GitHub, se describen numerosos ejemplos de posibles combinaciones de archivos para crear un archivo políglota. Según la clasificación de MITRE, esta técnica pertenece a la categoría “Masquerading” (T1036.008, Masquerade File Type).
Ejemplos de archivos políglotas utilizados en ciberataques conocidos
Los análisis de campañas de malware disponibles públicamente revelan el uso de todo tipo de archivos políglotas. Los atacantes adaptan todo el esquema del ataque a una combinación específica de tipos de archivo.
El grupo Head Mare distribuyó el malware PhantomPyramid como archivo ZIP adjunto. El archivo contenía código ejecutable de Windows (EXE) y un pequeño archivo comprimido ZIP añadido al final. Cuando la víctima lo abría, encontraba un archivo comprimido con la extensión PDF.LNK que, al ejecutarse, iniciaba el mismo adjunto políglota, pero esta vez como ejecutable.
En el ataque documentado por JPCERT, los atacantes crearon un archivo que comenzaba como PDF y que la mayoría de los escáneres detectaban como tal, pero tenía la extensión DOC, y las aplicaciones de Office lo abrían como un documento DOC válido que incluía macros maliciosas.
Los ataques que propagaban los troyanos StrRAT y Ratty utilizaban un archivo políglota creado a partir de un paquete de instalación de Windows firmado (MSI), al que se le había añadido código Java malicioso (JAR) al final.
Los ataques de StrelaStealer utilizaban un archivo políglota con extensión HTML: una biblioteca de Windows (DLL) a la que se le había añadido al final un documento HTML señuelo. Un acceso directo incluido en el archivo comprimido ejecutaba el archivo dos veces: una mediante el comando start (el equivalente a hacer doble clic, que abría un navegador y mostraba el documento HTML) y otra mediante rundll32 (que ejecutaba la DLL maliciosa).
En un ataque simulado pero ingenioso, los investigadores unieron dos archivos ZIP comunes y descubrieron que distintas herramientas populares de compresión mostraban el archivo resultante de manera diferente: algunas mostraban solo el primer archivo comprimido, otras solo el segundo y algunas mostraban ambos a la vez, como si se tratara de un único archivo comprimido con contenido compartido. Si el atacante conoce la infraestructura de la víctima y sabe qué software tiene instalado, puede utilizar esta combinación para mostrarle un archivo a las herramientas de seguridad y otro distinto a la víctima.
Los atacantes utilizaron una compleja matrioska de malware en una campaña de distribución del infostealer IcedID. Adjuntaban un archivo comprimido ZIP a correos electrónicos de phishing que, al descomprimirse, generaba un archivo ISO. Ese archivo ISO, a su vez, contenía un archivo CHM (Ayuda de Windows) creado mediante la técnica de archivos políglotas. Cuando la víctima lo abría con la herramienta estándar de Ayuda de Windows, se ejecutaba un script de JavaScript integrado en el contenido de ayuda, que iniciaba la aplicación estándar mshta (host de aplicaciones HTML de Microsoft) y la dirigía al mismo archivo CHM. Los autores de la campaña incluyeron una aplicación HTA dentro del archivo CHM de tal forma que su presencia no interfería con la lectura del archivo como un documento de ayuda inofensivo. Por su parte, el controlador de HTA omite todo el contenido irrelevante que aparece al principio del archivo hasta encontrar el script HTA.
Cómo gestionan los archivos políglotas las herramientas de seguridad
Los ejemplos anteriores muestran claramente cómo este truco de doble interpretación les permite a los atacantes instalar malware en el ordenador de la víctima. Pero ¿cómo interpretan realmente este tipo de archivos los filtros de correo electrónico y los sistemas EDR? La respuesta depende por completo de la solución específica, por lo que es necesario comprobarlo, ya sea consultando la documentación técnica del proveedor o realizando una prueba controlada en la infraestructura corporativa con todas las precauciones necesarias. En términos generales, solo hay dos aspectos que se cumplen en todos los casos:
- La mayoría de las soluciones de seguridad no se basan en la extensión declarada del archivo, sino que analizan su inicio para determinar su estructura real. Por eso, en el ataque descrito anteriormente, el archivo PDF con extensión DOC se analizó como un PDF inofensivo, mientras que la macro maliciosa permanecía oculta en la parte DOC añadida al archivo.
- Si un archivo comienza con contenido inofensivo (por ejemplo, como una imagen) y su extensión coincide con ese formato, es probable que no se someta a un análisis más exhaustivo. Los atacantes pueden aprovechar esta circunstancia: las instrucciones que acompañan al archivo pueden indicarle a la víctima que cambie su nombre para que el sistema termine procesando la segunda carga útil en lugar de la imagen.
Cómo proteger a una organización frente a ataques con archivos políglotas
La protección frente a los archivos políglotas no requiere soluciones técnicas ni organizativas complejas, sino la aplicación de prácticas de seguridad sólidas y congruentes en toda la organización:
- Utilizar listas cerradas de aplicaciones autorizadas para ejecutarse en las estaciones de trabajo de los empleados. Excluir las aplicaciones de Windows obsoletas, las herramientas administrativas de Microsoft que no se utilicen, el software de acceso remoto y de transferencia de archivos, y cualquier otro programa que se considere potencialmente peligroso u obsoleto.
- Utilizar soluciones avanzadas de seguridad de correo electrónico que incorporen tecnologías de CDR (Desarme y reconstrucción de contenido, que neutraliza los archivos adjuntos sospechosos y los reconstruye en versiones más seguras) y de detonación (que ejecuta los archivos adjuntos sospechosos en un entorno aislado para su análisis). Configurar un análisis exhaustivo de los archivos adjuntos que presenten indicios de ser archivos políglotas: archivos comprimidos y de Office, archivos con extensiones no estándar, entre otros.
- Asimismo, configurar la solución EDR para que realice un análisis exhaustivo de los archivos que puedan ser políglotas.
- Crear reglas de supervisión que generen alertas ante combinaciones inusuales entre un proceso y los archivos que se procesan con él, como un archivo CHM ejecutado mediante mshta o un archivo HTML ejecutado mediante rundll32, como en los ejemplos anteriores.
- Añadir información básica sobre los archivos políglotas en el programa de concienciación sobre seguridad de la organización, para que los usuarios estén alerta cuando se les indique cambiar la extensión de un archivo o manipularlo de una forma poco habitual, por ejemplo, abriéndolo con una aplicación específica.
malware
Consejos