Emotet“, conocido desde 2014 como el troyano bancario, es un malware que constantemente muestra nuevas variantes. En la segunda mitad del año 2017, hemos observado una nueva y además muy activa ola de ataques, distribuidos a través de enlaces en emails de phishing. En este artículo, explicaremos el vector de ataque y la vía de infección de “Emotet“, así como sus métodos de propagación, objetivos y trucos empleados para evitar el análisis, todo con la ayuda de una muestra previamente analizada de forma estática y dinámica.

 

Phishing emails como vectores de ataque

 

Pudimos observar phishing emails muy simples pero a la vez muy eficaces, en los que se empleaba la identidad de una persona a partir de un libreta de direcciones hecha pública. Con esta, el atacante envía un enlace al resto de las personas en la libreta de direcciones, que invita a descargar un documento de Office. Las libretas fueron extraídas de otros ordenadores infectados con “Emotet”.

 

Según un informe de Kaspersky Lab sobre la última gran oleada de 2015, “Emotet” cuenta con un diseño modular que le permite descargar en el sistema infectado cualquier contenido desde un servidor de “Command and Control” (C&C), empleando una utilidad de descarga integrada. Además, el troyano incluye un módulo para extraer las libretas de direcciones de Microsoft Outlook en los equipos infectados. Este comportamiento se ha observado también en la nueva variante de “Emotet”.

 

Con el enlace en el email de phishing, las víctimas descargan un archivo de Office, por ejemplo, disfrazado de factura, que incluye una macro maliciosa. Cuando el usuario abre el archivo, se le anima a activar la función de macros a través de un truco de phishing.

 

Betrugsversuch durch gefälschte Officeanweisung

Si la víctima cae presa del truco y lleva a cabo las instrucciones en la captura de pantalla, se ejecuta la macro de VBA en el documento, que a su vez pone en efecto una serie de comandos de PowerShell para descargar y ejecutar “Emotet“. Para el agresor, la ventaja de este método es que puede cambiar el contenido de la descarga en cualquier momento o apagar el servidor si lo desea. Este componente temporal dificulta la tarea de predecir las consecuencias de una infección.

 

 

Análisis de “Emotet”

Hemos analizado una muestra de malware que es responsable por la infección y la descarga de nuevos módulos. Esta muestra fue descargada con la macro de un documento de Office, con el siguiente identificador único sha256: 9e40a7cc2a8d070dbcbb24fe37782ef70876f748bc9e8304d4391601ee4e6f57. Mediante ingeniería inversa y análisis dinámico, hemos podido observar que “Emotet” opera en cuatro fases:

 

1ra fase

 

En esta fase, el software malicioso parece ser inofensivo, porque importa relativamente pocas funciones. Junto con secciones de una muy obvia alta entropía, esto es una señal de que el archivo binario tiene contenido comprimido.

 

Aquí se cargan las bibliotecas necesarias para ejecutar la primera fase del malware y, a continuación, recoge la información básica sobre el sistema, como por ejemplo, el nombre de usuario, nombre del ordenador, variables del entorno y la ruta de Windows. Esta ruta se combina con el string “\system32\calc.exe”, para así crear “C:\Windows\system32\calc.exe” Después, comprueba si se trata de un archivo ejecutable, como se puede ver en la siguiente captura de pantalla del análisis dinámico. De esta manera, el software malicioso intenta descubrir si realmente se encuentra en un entorno Windows.

 

 

Al final de la primera fase, se descifra, desempaca y ejecuta la segunda fase.

 

 

2da fase

 

En esta fase, se desempacan las bibliotecas incluidas y se recargan las funciones necesarias de forma dinámica, que posteriormente se llaman indirectamente. En la captura de pantalla siguiente, puede ver una llamada a la función VirtualAlloc de la biblioteca kernel32.dll (en la esquina superior derecha). En el código binario traducido por el desensamblador, la llamada indirecta correspondiente del registro EAX puede verse en la dirección 00402122.

 

Esta técnica se utiliza para complicar el análisis. Sería muy difícil predecir lo que se encuentra en el registro EAX solo mediante el análisis estático y, por ende, entender qué función se ejecuta. Solo a través del análisis dinámico se cargan los valores correctos en los registros y se muestra la verdadera función.

 

A continuación, se emplean algunas técnicas para dificultar el análisis en un Sandbox. En la siguiente captura de pantalla se puede observar cómo se consulta el nombre del sistema NetBIOS a través de llamadas indirectas de la función GetComputerNameExA, y luego, se compara con el string “TEQUILABOOMBOOM” con otra llamada indirecta de la función lstrcmp.

 

Este string es muy significativo. En un blog, Malwarebytes Labs describe cómo se usa el string en el Neutrino Botnet Builder Toolkit para detectar Sandboxes. Los comentarios mencionan que esta revisión se refiere al Sandbox VirusTotal. Aquí, sin embargo, se compara el nombre de usuario y no el del ordenador con este string. Hemos asumido que esto es solo una referencia graciosa, o que el programador cometió un error en la función. En cualquier caso, cambiar el nombre del ordenador según corresponda pudiese ser una estrategia de mitigación.

 

Como puede observarse en las siguientes capturas de pantalla de las llamadas al API, se llevan a cabo aún más comprobaciones para evitar la ejecución en Sandboxes. Si alguna de estas tiene éxito, se detiene la ejecución del malware.

 

Comprobación de nombres conocidos:

 

 

Comprobación de archivos de Sandbox conocidos:

 

 

Entre otras cosas, se realizan las siguientes comprobaciones para evitar el análisis en Sandbox:

 

  • El nombre de usuario es “Wilbert” y una de las variables es “SC” o “CW”?
  • ¿El nombre de usuario es “admin” y el nombre del ordenador es “SystemIT”, y puede leerse el archivo “C:\Symbols\aagmmc.pdb”?
  • ¿El nombre de usuario es “admin” y el nombre del ordenador es “KLONE_X64-PC”?
  • ¿El nombre de usuario es “John Doe” y una de las variables es “BEA-CHI”?
  • ¿El nombre de usuario es “John” y se encuentra el archivo “C:\take_screenshot.ps1” o “C:\loaddll.exe”?
  • ¿El nombre de usuario es “John” y se encuentra el archivo “C:\take_screenshot.ps1” o “C:\loaddll.exe”?
  • ¿Existen los archivos “C:\email.htm” y “C:\123\email.doc”, o quizás “C:\123\email.docx”?
  • ¿Existen los archivos “C:\a\foobar.bmp” y “C:\a\foobar.doc”, o quizás “C:\a\foobar.gif”?
  • • ¿Se nombró la muestra de malware con el nombre de “sample”, “mlwr_smpl” o “artifact.exe”?

Una vez que se superan estas comprobaciones, se desempaca y ejecuta la tercera fase.

 

3era fase

 

En esta fase, el software malicioso comprueba con Mutex MC01935C3 si ya está ejecutándose en el sistema.

 

Al crearse una entrada en el registro se establece persistencia, y pudimos observar diferentes comportamientos dependiendo de la versión de Windows. En Windows XP 32 bit, “Emotet” continúa ejecutándose bajo su nombre de archivo original al momento de ejecutarse.

En cambio, bajo Windows 7 32 bit y Windows 10 64 bit, “Emotet” borra su archivo original y se copia a sí mismo en otra ubicación. Además, se crean las siguientes entradas en el registro:

 

  • HKLM\SOFTWARE\Microsoft\Tracing\infoagent_RASAPI32
  • HKLM\SOFTWARE\Microsoft\Tracing\infoagent_RASMANCS

4ta fase

 

“Emotet” corre en Windows 10 en la ruta C:\Users\username\AppData\Local\Microsoft\Windows\eventshedule.exe como copia de sí mismo, y como subproceso de explorer.exe. Si el malware detecta que se encuentra bajo observación, se borra a sí mismo de esta ubicación y se copia de nuevo a C:\Windows\SysWOW64\eventshedule.exe. Si “Emotet” de nuevo detecta que está bajo observación, finaliza el proceso actual y se reinicia desde la misma ubicación.

 

Pudimos observar que “Emotet” se ejecuta bajo el nombre de “Web DAV Client DLL” en todas las versiones de Windows. La siguiente captura de pantalla muestra el proceso en Windows 7.

 

 

A continuación, el malware se pone en contacto con sus servidores C&C y a recargar módulos nuevos. Observamos intentos de contacto con los siguientes servidores C&C:

 

  • http: //162.243.154.25:443/
  • http: //136.243.202.133:8080/
  • http: //66.234.234.36:8080/
  • http: //212.83.146.230:8080/
  • http: //209.126.105.250:8080/
  • http: //66.175.215.16:8080/
  • http: //178.254.33.12:8080/
  • http: //46.4.67.203:7080/
  • http: //147.135.209.118:443/

“Emotet”, la cadena de muerte cibernética

 

El objetivo de los creadores de “Emotet” es obtener dinero. Por lo tanto, este malware puede clasificarse como “crimeware” o software que se utiliza para cometer un delito. El modelo teórico de la “escalera de dolor” describe que las técnicas y tácticas utilizadas por un atacante son las que menos cambian. Esto es algo que puede observarse en el caso de las versiones anteriores de “Emotet”. Aunque la carga de nuevos módulos y la aparición de nuevas variantes de este malware crean incertidumbre en cuanto a sus intenciones inmediatas, es de suponer que la finalidad de obtener dinero, incluso en futuras versiones del malware, no cambiará. Mientras continúa el análisis, las piezas del puzzle comienzan a encajar para formar una imagen completa.

 

 

Sandbox de Hornetsecurity

Ahora contamos con una captura de pantalla de la muestra de “Emotet” luego de haberse analizado dentro del Hornetsecurity Sandbox, que lo identifica claramente como malicioso (con la máxima puntuación posible):

 

 

 

 

Protegidos contra el Malware con Advanced Threat Protection

El malware “Emotet” es solo una de las muchas amenazas que enfrenta su empresa de sufrir daños financieros. La pérdida de datos importantes también puede ser a causa de malware, virus o ransomware. Advanced Threat Protection es un filtro spam que detecta el contenido peligroso en emails desde el primer momento. A diferencia de un filtro normal, Advanced Threat Protection es capaz de detectar amenazas que aún no se conocen. Haga clic aquí para consultar más información sobre Advanced Threat Protection.Advanced Threat Protection.