A partir de una detección poco habitual, analizamos una campaña dirigida principalmente a usuarios en México, que combina técnicas de evasión con el abuso de herramientas legítimas del sistema operativo.
- El vector de infección se trata de un archivo .chm (formato de ayuda de Windows), que simulaba ser portador de información de una supuesta transferencia bancaria.
- Este archivo, ejecutado mediante el binario legítimo hh.exe (catalogado como LOLBAS), desencadenó una compleja cadena de ejecución que incluyó scripts en VBScript y PowerShell, aprovechando componentes legítimos del sistema como wscript.exe y cmd.exe.
- El payload final se trata de Agent Tesla, un malware sumamente popular desarrollado en .NET, con capacidades de recopilar información general del equipo, registrar las pulsaciones de teclas, acceder al portapapeles y a las credenciales almacenadas en los navegadores web, además de inspeccionar el sistema de archivos en busca de otra información valiosa.
El siguiente análisis tiene por objetivo comprender el funcionamiento de esta amenaza y destacar la importancia de ir más allá de la detección, como clave para fortalecer la ciberseguridad de las organizaciones. Solo con información clara y detallada sobre las técnicas utilizadas por los actores maliciosos, las organizaciones pueden invertir de manera efectiva en tecnología, fortalecer procesos internos y reducir el riesgo de manera proactiva
Análisis de la detección
La alerta analizada se trata de una detección sobre la ejecución de un archivo con supuesta información de una transferencia interbancaria de una reconocida entidad financiera. Pero lo curioso, como explicamos, es que la ejecución es de un archivo .chm (Compiled HTML Help), un formato de archivo utilizado principalmente para la documentación de ayuda en aplicaciones Windows; utilizando el binario hh.exe, catalogado como LOLBAS.
Aprovechando la potencia que ofrece ESET Inspect, utilizamos un entorno controlado y especialmente diseñado para capturar la mayor cantidad de fases de esta infección y tratar de entender el objetivo final de la campaña.
De este análisis resultó que a partir de la ejecución de un archivo de ayuda de Windows terminaba ejecutándose un script de PowerShell abusando de wscript.exe y el intérprete de comandos del sistema operativo (cmd.exe).
Luego de ver una cadena de infección tan larga, y pudiendo recuperar los archivos de las diferentes fases nos dimos a la tarea de entender que es lo que estaba ocurriendo, un ejercicio que puede resultar útil para entender la forma en que operan los actores cibercriminales y no quedarnos únicamente con las detecciones.
Fase 1. Acceso Inicial
Recuperando información asociada con la infección, se llega hasta un correo electrónico que tiene un archivo comprimido como adjunto, que contiene precisamente el mencionado archivo .chm.

Este tipo de archivos son esencialmente una colección de archivos HTML, imágenes y otros recursos de ayuda; así que dadas las características de la campaña lo que menos esperamos es una ayuda para el usuario, en cambio, luego de decompilarlo nos encontramos con un script embebido, que por sus características al abrirlo en un navegador nos permite analizar sus características:

Fase 2. Ejecución
Dándole una rápida mirada al contenido del script desofuscado, aprovechando que en el navegador se puede ver por el uso de la función document.write —que inyecta directamente el resultado descifrado en el HTML—, toman sentido las alertas vistas en la consola de ESET Inspect acerca del abuso decmd.exe al querer ejecutar el archivo cartons.bat, que a su vez crea el archivo Vreeland.vbs a partir del contenido de una URL.
Este archivo es ejecutado a través de un componente legítimo de Windows: wscript.exe, un binario que forma parte del "Windows Script Host" (WSH) y que se usa para interpretar y ejecutar scripts escritos en lenguajes como VBScript y JScript.

El contenido total del archivo vbs, es un script de más 1200 líneas, pero unas pocas contienen efectivamente la acción maliciosa. Cómo se puede ver en la imagen, hay una amplia cadena de strings, altamente ofuscadas, pero que después de remover los strings basura se obtiene lo siguiente:

En este punto, nos encontramos con que este script vbs busca la ejecución de una serie de comandos, pero esta vez utilizando PowerShell. Es evidente que se trata de una cadena larga de infección porque a pesar de todas las ejecuciones que se han visto aún no se encuentra el payload final. Una vez que se sacan las capas de ofuscación, se llega a los comandos de PowerShell que van a hacer la inyección de código, en este caso usando la técnica Reflective Code Loading.

Payload final
En este punto ya se puede determinar el código malicioso que trata de inyectarse en el sistema. La DLL tiene algunas protecciones de ejecución en entornos virtuales y algunas instrucciones para buscar obtener persistencia a través de Tareas Programadas del Sistema o como un proceso que se lanza al iniciar al sistema, antes de inyectar directamente en memoria el código de AgentTesla descargado de la URL en el script de PowerShell.

Este payload final, es un malware sumamente popular desarrollado en .NET que puede recopilar información general del equipo, registrar las pulsaciones de teclas, acceder al portapapeles y a las credenciales almacenadas en los navegadores web, además de inspeccionar el sistema de archivos en busca de otra información valiosa. Tiene la capacidad de enviar información a su servidor de comando y control (C&C) mediante protocolos como HTTP(S), SMTP, FTP o por medio de un canal de Telegram. La variante de AgentTesla analizada utiliza el protocolo SMTP para exfiltrar la información recopilada a su C&C.
Conclusión
Entre la amplia variedad de crimeware que circula hoy en día, hay familias que destacan por su persistencia y peligro; y el análisis de este tipo de campañas muestran las múltiples etapas utilizadas por los atacantes para evadir controles de seguridad. A partir del análisis de la telemetría de ESET, se pudo determinar que esta campaña estaba ampliamente dirigida a usuarios en México, ya que +80% de las detecciones de las soluciones de seguridad de ESET fueron en este país; con el porcentaje restante de detecciones en Colombia y Perú.
AgentTesla ya tiene sus años en el mundo del cibercrimen, pero no por eso ha perdido fuerza. Al contrario, sigue dando dolores de cabeza, especialmente a quienes no están tan atentos o preparados. Y es que, aunque su nombre no sorprende a nadie que esté en el rubro, lo que sí cambia todo el tiempo son las formas que usan para hacerlo llegar: campañas más sofisticadas, técnicas más sutiles, engaños cada vez más creíbles.
Entender cómo actúan estos atacantes, desde ese primer instante en que se infiltran hasta que logran sacar información, se volvió mucho más que un desafío técnico. Hoy es una cuestión estratégica, porque esa mirada completa ayuda a tomar decisiones más acertadas: invertir con criterio, fortalecer lo que realmente importa dentro de una organización y, sobre todo, anticiparse al golpe en lugar de correr a apagar incendios.
Indicadores de Compromiso (IOCs)
Archivos
SHA-1 | Filename | Detection |
2D86775B224B7F01E84 |
OC_No_140467_080976898978.chm | VBS/TrojanDownloader.Agent.ABWQ |
A6B136220D921D |
cartons.bat | VBS/TrojanDownloader.Agent.ABWC |
156EBA05F0B55258F42 |
vreeland.vbs | VBS/TrojanDownloader.Agent.ZOE |
3753DCED02A726FA334 |
n/a | PowerShell/TrojanDownloader.Agent.KGZ |
034A2B0B498210FF841A |
new_image.jpg | MSIL/Injector.FPT |
BF8369FA6E6AB0D877 |
n/a | Win32/Agent.AFMW |
689A16BA1E4A3AB75A97 |
n/a | MSIL/Spy.AgentTesla.F |
URLs
URL | Descripción |
hxxps://paste.ee/d/NpuO2Bhl/0 |
Sitio tipo pastebin desde donde se obtiene el powershell one-liner |
hxxp://192.3.95.212/base54464meastballxxx.txt |
IP desde donde se descarga el payload |
hxxp://107.174.202.139/img/new_image.jpg |
IP desde donde se descarga la DLL que sirve como injector |
Técnicas MITRE ATT&CK
Táctica | ID | Nombre | Descripción |
Initial Access |
Phishing: Spearphishing Attachment |
Correo phishing con adjunto .RAR |
|
Execution |
Command and Scripting Interpreter: Powershell |
Ejecución de powershell one-liner en memoria. |
|
Execution |
Command and Scripting Interpreter: Windows Command Shell |
Ejecución de cartons.bat |
|
Execution |
Command and Scripting Interpreter: Visual Basic |
Ejecución de vreeland.vbs |
|
Execution |
Windows Management Instrumentation |
AgentTesla ejecuta querys mediante WMI para identificar información del equipo comprometido. |
|
Command and Control |
Web Service |
Acceso al servicio de paste.ee desde donde se obtiene el powershell one-liner que fue ejecutado en memoria. |
|
Command and Control |
Ingress Tool Transfer |
Acceso al servicio de paste.ee desde donde se obtiene el powershell one-liner que fue ejecutado en memoria. |
|
Defense Evasion |
Obfuscated Files or Information |
Utilización de un powershell one-liner ligeramente ofuscado. |
|
Discovery |
System Information Discovery |
AgentTesla intenta identificar información general del sistema, así como la dirección IP pública del mismo. |
|
Collection |
Data from Local System |
AgentTesla accede a la información de Login de los navegadores web para robar las credenciales guardadas en estos. |
|
Credential Access |
Credentials from Password Stores: Credentials from Web Browsers |
AgentTesla accede a la información de Login de los navegadores web para robar las credenciales guardadas en estos. |
|
Credential Access |
Credentials from Password Stores: Windows Credential Manager |
AgentTesla accede a la información de las credenciales almacenadas por el administrador de credenciales de Windows. |