El 5 de noviembre, Microsoft anunció el descubrimiento de una nueva vulnerabilidad, CVE-2013-3906, que puede explotarse cuando se procesan imágenes TIFF. Esta vulnerabilidad permite atacar programas, incluyendo Microsoft Office y Lync, que utilizan un DLL vulnerable para procesar imágenes TIFF. El mismo día, surgieron declaraciones de que Microsoft había descubierto ataques que explotaban CVE-2013-3906.
Nos llegaron muchos ejemplares de malware que explotaba CVE-2013-3906. Los analizamos en detalle. Todos ellos utilizaban un el método de “heap spraying” para guardar su código en la dirección 0x08080808, y ejecutar el código desde esa ubicación. La generación de excepciones e inscripción en la memoria se realiza en el ogl.dll vulnerable.
Fragmento de la ejecución de shellcode WinDbg
Los exploits a los que tuvimos acceso pueden dividirse en dos grupos según los shellcodes que se usaron.
Los exploits del primer grupo utilizan un shellcode primitivo y decodificado cuya única tarea es descargar y ejecutar programas maliciosos.
Shellcode de un exploit del primer grupo
La carga explosiva deja un archivo .doc que se muestra para disipar cualquier duda que pueda tener el usuario, así como un programa que antes se detectaba en el ataque de HangOver. Esa es una puerta trasera, escrita en C++, que ni siquiera está codificada.
Fragmento de los contenidos del archivo .docx limpio
Los exploits del segundo grupo son mucho más complejos. Para comenzar, el shellcode que utilizan ya está codificados con un XOR estándar. Después de decodificarlo, se vuelve obvio que no hace falta descargar y ejecutar códigos maliciosos, a diferencia de la mayoría de los exploits, incluyendo aquellos del primer grupo que atacaban a CVE-2013-3906.
Shellcode decodificado de un exploit del segundo grupo
Hay un objeto OLE2 integrado en el documento .docx original; este objeto se lee en el shellcode. Contiene un flujo de datos que consiste en 6 bytes ubicados antes de los datos codificados, que contiene la llave de decodificación original, una llave de decodificación dinámica y el largo del flujo de datos codificado. El algoritmo de decodificación es un XOR estándar con una llave modificada con la operación de bytes ADD.
Fragmento de datos empaquetados y el encabezamiento (en el cuadro rojo) que indica las llaves y el tamaño
Después de la decodificación, los datos se transforman en un DLL, llamado a.I, que se encarga del proceso winword.exe. Este DLL suelta un a.exe que es la puerta trasera Citadel.
Fragmento de un ejemplar sin empaquetar de Citadel
Esto significa que existen dos grupos de cibercriminales que están utilizando la nueva vulnerabilidad.
Vale la pena notar que los archivos TIFF en la segunda categoría de exploits están fechados en marzo de 2013, pero registramos la primera aparición de estos exploits el 31 de julio. Utilizaron técnicas de almacenamiento, codificación y técnicas para lanzar las cargas explosivas que se describen arriba. Pero la carga explosiva verdadera difiere un poco de los otros exploits. Los nuevos ejemplares descargan una biblioteca, que en turnos respectivos descarga y ejecuta un archivo ejecutable limpio .docx. En ejemplares más antiguos, el DLL es diferente y suelta un archivo .docx limpio y diferente y un script vbe. El mismo script vbe se utiliza en el malware de plataformas cruzadas Janicab.
Fragmento del documento .docz descargado, del ejemplar de julio del exploit
Parece que la misma gente fue responsable de propagar Citadel y Janicab, desde el exploit hasta la carga explosiva, o alguien está vendiendo servicios de distribución de malware que pueden hacer exploits de día “0” con tranquilidad.
Por ahora, mientras sigan apareciendo estos exploits, nuestra tecnología de Prevención de Exploits Avanzados (AEP) protege al usuario del lanzamiento del código malicioso mediante aplicaciones que se pudieron haber atacado y exploits que tienen como objetivo principal CVE-2013-3906. Al responder a las anomalías en el comportamiento de muchos procesos mentales, la AEP hace que sea posible bloquear el lanzamiento de los exploits.
Las firmas estáticas detectan estos exploits como Exploit.Win32.CVE-2013-3906.a.
CVE-2013-3906: Otra vulnerabilidad del día cero para Microsoft Office