Diariamente recibimos multitud de correos de phishing y entre ellos otros que directamente no intentan robar información del usuario, pero que contienen adjuntos maliciosos. Este tipo de correos son lo que se suele llamar malspam (malware spam), que podríamos definir como el envío indiscriminado de correos electrónicos con adjuntos maliciosos y cuyo objetivo es comprometer el equipo del usuario. Una vez comprometido el PC, en algunos casos, éste puede pasar a formar parte de una botnet, una red de equipos que, sin el conocimiento de sus usuarios, realiza acciones gestionadas desde un servidor central remoto operado por el gestor de la botnet. Estas funciones acciones pueden ir desde el envío de más malspam a los contactos de los usuarios comprometidos, hasta la realización de ataques DDoS hacia objetivos remotos.
En el caso que vamos a analizar, el usuario recibió un correo sospechoso con un documento adjunto que al abrirlo mostraba un comportamiento extraño, realizando conexiones hacia Internet, algo no habitual en un documento ofimático. El documento adjunto descargaba un script y lo ejecutaba en el sistema. Este script a su vez realizaba la descarga de un archivo ejecutable con contenido malicioso.
Ilustración 1. Proceso de infección
En el caso que estamos estudiando, la infección estaba compuesta de 3 fases:
- Fase 1: Recepción del adjunto que explotaba la vulnerabilidad de Office y ejecutaba la descarga de un script.
- Fase 2: Ejecución del script y descarga del binario.
- Fase 3: Ejecución del binario y compromiso del sistema.
En este post intentaremos analizar las distintas fases del compromiso e identificar los métodos utilizados en cada una de ellas.
Fase 1: Documento adjunto
El usuario recibe en su buzón de entrada un correo electrónico con un adjunto que simula ser un documento de Microsoft Word. Estos correos muchas veces provienen de cuentas de usuarios que a su vez han sido comprometidas anteriormente, y desde las que se han enviado múltiples correos electrónicos a las direcciones de sus contactos.
Documento adjunto
El adjunto recibido presenta una extensión .DOC, pero realmente si realizamos un análisis más detallado, vemos que se trata de un documento .RTF, y que en su interior sí que contiene un documento de Microsoft Office que se abrirá con Microsoft Word.
Ilustración 2. Cabecera del documento .rtf
Este documento .DOC contiene en su interior código creado específicamente para aprovechar una vulnerabilidad en el editor de ecuaciones de Microsoft Office Microsoft Equation 3.0 (CVE-2017-11882) que utilizará para ejecutar una serie de comandos que ejecutan la descarga de la segunda fase de la infección.
Esta vulnerabilidad es un stack buffer overflow en la gestión de uno de los registros del tipo MTEF (Math Type Equation Format) utilizado por el editor de ecuaciones de Microsoft Office. La sobreescritura se hace con una cadena de caracteres que incluye el comando que se ejecutará y la dirección de memoria (0x00430c12). Esta dirección referencia a una instrucción dentro de esta misma aplicación que apunta a la función WinExec de Kernel32.dll. El salto a dicha instrucción tomará como parámetro el registro de la pila que ha sido sobrescrito y que contiene ahora el comando con la URL del fichero malicioso a ejecutar, en nuestro caso http://urlz[.]fr/7lh3.
Ilustración 3. Exploitutilizado
Una vez ejecutado el exploit vemos la conexión HTTP hacia el exterior solicitando la URL y siguiendo las redirecciones y descargando el script y posteriormente también el binario.
Ilustración 4. Descarga del archivo
Fase 2: Script descargado
Al explotar la vulnerabilidad, se produce la descarga de un fichero .HTA desde un sitio web externo y se ejecuta utilizando la utilidad mshta.exe.
Los ficheros .HTA (HTml Applications) son aplicaciones que pueden utilizar las mismas funcionalidades y tecnologías que Internet Explorer, pero sin interfaz gráfico; permiten utilizar todas las capacidades de HTML (HTML, CSS, Javascript, VBScript, etc.) más capacidades específicas de este tipo de ficheros, y por defecto se les considera aplicaciones “confiables”, por lo que además pueden ejecutar acciones que no estarían permitidas a Internet Explorer.
Los atacantes utilizan mshta.exe para lanzar la ejecución del fichero .HTA, que en este caso incluye código VBScript.
Ilustración 5. Ejecución de mshta.exe
Ofuscación
Como podemos observar el código que del documento contiene partes que se encuentran ofuscadas, es decir, los comandos necesarios para llevar a cabo las acciones que conducirán al compromiso del equipo están codificadas de forma aparentemente ininteligible. Estos métodos se suelen utilizar para evitar la detección automática de este tipo de scripts.
Ilustración 6. Aplicación .hta
Es habitual que los autores de este tipo de documentos utilicen diferentes técnicas de ofuscación y, aunque en este caso se trata de una ofuscación sencilla, en otras ocasiones utilizan métodos muy elaborados.
Cuando desofuscamos el código del script, podemos ver que utiliza Powershell para ejecutar varios comandos que realizan la descarga de un binario desde un sitio web externo:
Ilustración 7. Script desofuscado
Fase 3: Ejecución File.exe
El binario descargado es un ejecutable para Windows comprimido con UPX. Este tipo de compresión se utiliza con frecuencia en diferentes tipos de malware.
En este caso, tras buscar el hash del binario en VirusTotal vemos que ya había sido analizado y que según las detecciones de antivirus, se trata de un troyano, concretamente Loda (Nymeria) escrito en AutoIT.
Ilustración 8. Detecciones en VirusTotal
Este troyano recoge información del equipo y realiza las funciones de keylogger (guarda todas las pulsaciones de teclado que el usuario realice en el equipo) y de RAT (Remote Access Trojan) que permite controlar de forma remota las funciones del equipo de usuario.
Fichero | MD5 |
doc1.doc | cf9d88a716cc931db94b650612a0bdf4 |
file.hta | 671c479ae6a98d3efaca44550c27113b |
file.exe | 82214f040a63e295ca1cef509e9af4db |
Referencias
Análisis
VirusTotal
http://blog.morphisec.com/microsoft-equation-editor-backdoor
Exploiting CVE-2017-11882
MITRE-ATT&CK attack technique mshta
Malpedia: Loda family