CAPE Sandbox: Extracción de Config de AgentTesla
Análisis avanzado con CAPE Sandbox para extraer la configuración completa de AgentTesla: servidores C2, credenciales SMTP, FTP, tokens Telegram, análisis behavioral, reglas YARA activadas y comparación con ANY.RUN. IOCs completos y mapeo ATT&CK.
Más allá del triaje: extracción de configuraciones
Cuando un sandbox genérico te dice "este fichero es malicioso", el trabajo del analista apenas comienza. La verdadera inteligencia accionable está en la configuración embebida del malware: los servidores C2 a los que reporta, las credenciales que usa para exfiltrar datos, los canales de comunicación, y las capacidades específicas habilitadas por el operador.
CAPE (Config And Payload Extraction) es un sandbox open-source diseñado específicamente para esta tarea. Basado en Cuckoo Sandbox pero con módulos especializados de unpacking y extracción de configuraciones para cientos de familias de malware, CAPE es la herramienta de referencia para pasar del "es malicioso" al "esto es exactamente lo que hace y cómo comunicárselo".
En este caso, analizamos una muestra de AgentTesla (un infostealer .NET extremadamente prolífico) en CAPE para extraer su configuración completa y generar inteligencia accionable.
AgentTesla: el infostealer más popular
AgentTesla (también conocido en variantes como OriginLogger) es un infostealer basado en .NET que se vende como Malware-as-a-Service (MaaS). Sus características principales:
- Robo de credenciales: navegadores (Chrome, Firefox, Edge, Opera), clientes de email (Outlook, Thunderbird), clientes FTP (FileZilla, WinSCP), VPN (NordVPN, OpenVPN)
- Keylogger: captura de teclas en tiempo real
- Screen capture: capturas de pantalla periódicas
- Clipboard monitor: captura de datos del portapapeles
- Exfiltración multicanal: SMTP, FTP, Telegram API, HTTP POST, Discord webhooks
La configuración del malware define exactamente qué datos roba, con qué frecuencia, y a dónde los envía. Extraerla es equivalente a obtener la "ficha de operación" del atacante.
Preparación del análisis en CAPE
Subida del sample
Nuestra muestra es un ejecutable .NET empaquetado:
# Análisis estático previo
$ file sample.exe
sample.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows
$ sha256sum sample.exe
b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6 sample.exe
# Verificar si es .NET
$ monodis --assembly sample.exe 2>/dev/null | head -5
.assembly 'WindowsFormsApp1'
{
.ver 1:0:0:0
}
Configuración en CAPE
Al subir el sample a CAPE (interfaz web o API):
# Via API de CAPE
$ curl -F "[email protected]" \
-F "package=exe" \
-F "timeout=300" \
-F "options=procmemdump=yes,CAPE=1" \
http://cape-server:8000/api/tasks/create/file/
{"task_id": 4521}
Opciones clave:
procmemdump=yes: Volcar la memoria de cada proceso (necesario para obtener el payload desempaquetado)CAPE=1: Habilitar los módulos de extracción de CAPEtimeout=300: 5 minutos de ejecución (AgentTesla necesita tiempo para completar su inicialización)
Análisis del comportamiento
Cadena de ejecución
CAPE captura la cadena completa de procesos:
sample.exe (PID 2456) [.NET, packed]
├── Unpacking layer 1: ConfuserEx
├── Unpacking layer 2: Custom .NET loader
└── Injected into: RegAsm.exe (PID 3567) [AgentTesla payload]
├── Reads Chrome Login Data database
├── Reads Firefox logins.json
├── Reads Outlook registry credentials
├── Creates keylog file: %TEMP%\log.tmp
└── Connects to: smtp.yandex.ru:587 (TLS)
Proceso de desempaquetado
CAPE identifica automáticamente las capas de empaquetado:
Capa 1: ConfuserEx
- Protector .NET comercial (versión crackeada)
- CAPE usa su módulo de unpacking específico para ConfuserEx
- Restaura los nombres de métodos y clases ofuscados
Capa 2: Custom .NET loader
- Cargador personalizado que descifra el payload en memoria
- Usa AES-256 con clave derivada de un recurso embebido
- CAPE hookea las funciones de descifrado para capturar el payload en claro
Capa 3: Process hollowing
- El payload descifrado se inyecta en
RegAsm.exe(binario legítimo de .NET) - Técnica T1055.012 (Process Hollowing)
- CAPE captura el payload inyectado mediante hooks en
NtUnmapViewOfSectionyWriteProcessMemory
Volcado del payload desempaquetado
CAPE extrae el binario .NET final (desempaquetado y descifrado):
# El payload extraído está disponible en los resultados
$ sha256sum CAPE/payloads/3567_RegAsm.exe_payload
c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0 payload.bin
$ monodis --assembly payload.bin | head -5
.assembly 'AgentTesla'
{
.ver 4:0:0:0
}
Extracción de configuración
La configuración extraída por CAPE
Este es el resultado principal y la razón de usar CAPE: la configuración completa del malware extraída automáticamente:
{
"family": "AgentTesla",
"version": "4.0",
"exfil_method": "SMTP",
"smtp": {
"host": "smtp.yandex.ru",
"port": 587,
"username": "[email protected]",
"password": "R3dT34m$up3r!",
"use_ssl": true,
"recipient": "[email protected]"
},
"ftp": {
"host": "ftp.compromised-host.xyz",
"port": 21,
"username": "ftpuser",
"password": "Ftp@2026Secure"
},
"telegram": {
"bot_token": "6123456789:AAF_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"chat_id": "-1001234567890"
},
"capabilities": {
"keylogger": true,
"screenshot": true,
"screenshot_interval_seconds": 300,
"clipboard_monitor": true,
"browser_credentials": true,
"email_credentials": true,
"ftp_credentials": true,
"vpn_credentials": true,
"wifi_credentials": true
},
"persistence": {
"method": "registry_run",
"key": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",
"value_name": "WindowsSecurityUpdate",
"copy_path": "%APPDATA%\\Microsoft\\Windows\\svchost.exe"
},
"anti_analysis": {
"detect_vm": true,
"detect_sandbox": true,
"detect_debugger": true,
"delay_execution_seconds": 15,
"check_disk_size": true,
"min_disk_size_gb": 60
},
"mutex": "AgentTesla_HWID_A1B2C3D4"
}
Interpretación de la configuración
Canal primario de exfiltración: SMTP
El malware envía los datos robados como adjuntos de email a través de una cuenta de Yandex ([email protected]) hacia una dirección de Protonmail ([email protected]). Las credenciales SMTP están en texto claro en la configuración.
Canal secundario: FTP
Como backup, el malware puede subir ficheros a un servidor FTP comprometido (ftp.compromised-host.xyz). Las credenciales FTP sugieren que el servidor no pertenece al atacante sino que fue comprometido previamente.
Canal terciario: Telegram
El bot Telegram con token 6123456789:AAF_... envía datos al chat ID -1001234567890 (un grupo o canal privado). El token permite:
- Consultar información del bot:
GET https://api.telegram.org/bot{token}/getMe - Identificar al operador (potencialmente)
Anti-análisis El malware verifica si está en un entorno de análisis: busca indicadores de máquinas virtuales, sandboxes, y debuggers. También requiere un disco de al menos 60 GB (los sandboxes suelen tener discos pequeños). CAPE bypasea estas verificaciones mediante hooks a nivel de kernel.
Reglas YARA activadas
CAPE ejecuta un conjunto extenso de reglas YARA contra el payload desempaquetado:
CAPE_AgentTesla → Detección genérica de AgentTesla
AgentTesla_SMTP → Módulo SMTP de exfiltración
AgentTesla_Keylogger → Módulo de keylogging
DotNET_Stealer_Generic → Patrón genérico de .NET stealer
ConfuserEx_Packed → Detección del empaquetador
AntiVM_VMware → Código de detección de VMware
AntiVM_VirtualBox → Código de detección de VirtualBox
Persistence_RegRun → Persistencia via registro
ProcessHollowing → Técnica de inyección
Regla YARA personalizada para esta variante
rule AgentTesla_SMTP_Yandex_2026 {
meta:
description = "AgentTesla variant using Yandex SMTP for exfiltration"
author = "MalwareIntel Research"
date = "2026-06-06"
severity = "high"
family = "AgentTesla"
strings:
$smtp1 = "smtp.yandex" ascii wide
$smtp2 = "smtp.mail.ru" ascii wide
$method1 = "SmtpClient" ascii
$method2 = "NetworkCredential" ascii
$steal1 = "Login Data" ascii wide
$steal2 = "logins.json" ascii wide
$steal3 = "\\Outlook\\Profiles" ascii wide
$mutex = "AgentTesla" ascii wide
$net = "System.Net.Mail" ascii
condition:
uint16(0) == 0x5A4D and
any of ($smtp*) and
any of ($method*) and
2 of ($steal*) and
$net
}
Análisis behavioral detallado
Ficheros accedidos (robo de credenciales)
CAPE registra cada fichero que el malware intenta leer:
READ: C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\Login Data
READ: C:\Users\admin\AppData\Local\Google\Chrome\User Data\Default\Web Data
READ: C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\logins.json
READ: C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\key4.db
READ: C:\Users\admin\AppData\Local\Microsoft\Edge\User Data\Default\Login Data
READ: C:\Users\admin\AppData\Roaming\FileZilla\recentservers.xml
READ: C:\Users\admin\AppData\Roaming\FileZilla\sitemanager.xml
Claves de registro accedidas
READ: HKCU\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676
READ: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles
READ: HKCU\Software\Martin Prikryl\WinSCP 2\Sessions
READ: HKCU\Software\SimonTatham\PuTTY\Sessions
Comunicaciones de red (detalle)
DNS Query: smtp.yandex.ru → 77.88.21.158
TCP Connect: 77.88.21.158:587
TLS Handshake: smtp.yandex.ru (TLS 1.2)
SMTP AUTH: [email protected]
SMTP MAIL FROM: [email protected]
SMTP RCPT TO: [email protected]
SMTP DATA: [attachment: PW_DESKTOP-ABC_admin_2026-06-05.html]
Comparación CAPE vs ANY.RUN para este sample
| Aspecto | CAPE | ANY.RUN |
|---|---|---|
| Detección de familia | AgentTesla (automático) | AgentTesla (automático) |
| Desempaquetado | Automático (ConfuserEx + custom) | Parcial (solo payload final) |
| Extracción de config | Completa (SMTP, FTP, Telegram, opciones) | Parcial (solo datos de red observados) |
| Credenciales SMTP | Extraídas de la config | Visibles en tráfico MITM |
| Token Telegram | Extraído de la config | Visible en tráfico |
| Credenciales FTP backup | Extraídas aunque no se usaron | No visibles (canal no usado en ejecución) |
| Opciones anti-VM | Listadas en la config | Observadas como comportamiento |
| YARA rules | 9 reglas activadas | Suricata rules (red) |
| Interactividad | No (ejecución automática) | Si (control en tiempo real) |
| Velocidad de análisis | 5-10 min (automático) | 5 min (interactivo) |
Conclusión de la comparación: CAPE es superior para extracción de configuraciones porque accede a datos embebidos que nunca pasan por la red. ANY.RUN es superior para observar el comportamiento en tiempo real e interactuar con el malware. Usar ambos proporciona la imagen más completa.
IOCs del análisis
Hashes
| Tipo | Valor | Descripción |
|---|---|---|
| SHA256 | b5c6d7e8... | Sample original (empaquetado) |
| SHA256 | c9d0e1f2... | Payload desempaquetado (AgentTesla) |
| MD5 | f1e2d3c4... | Sample original |
Infraestructura
| Tipo | Valor | Contexto |
|---|---|---|
| SMTP | smtp.yandex.ru:587 | Canal de exfiltración primario |
| [email protected] | Cuenta SMTP del atacante | |
| [email protected] | Buzón receptor de datos robados | |
| FTP | ftp.compromised-host.xyz:21 | Canal de exfiltración secundario |
| Telegram | Bot token 6123456789:AAF_... | Canal de exfiltración terciario |
| Telegram | Chat ID -1001234567890 | Grupo receptor de datos |
Host
| Tipo | Valor | Contexto |
|---|---|---|
| Mutex | AgentTesla_HWID_A1B2C3D4 | Mutex de instancia única |
| Registry | HKCU\...\Run\WindowsSecurityUpdate | Persistencia |
| Path | %APPDATA%\Microsoft\Windows\svchost.exe | Copia del malware |
| Path | %TEMP%\log.tmp | Fichero temporal de keylogger |
Mapeo MITRE ATT&CK
| Táctica | Técnica | ID | Detalle |
|---|---|---|---|
| Execution | User Execution: Malicious File | T1204.002 | Ejecución del .exe |
| Defense Evasion | Obfuscated Files or Information: Software Packing | T1027.002 | ConfuserEx + loader custom |
| Defense Evasion | Process Injection: Process Hollowing | T1055.012 | Inyección en RegAsm.exe |
| Defense Evasion | Virtualization/Sandbox Evasion | T1497 | Detección de VM/sandbox |
| Persistence | Boot or Logon Autostart: Registry Run Keys | T1547.001 | HKCU...\Run |
| Credential Access | Credentials from Password Stores: Credentials from Web Browsers | T1555.003 | Chrome, Firefox, Edge |
| Credential Access | Input Capture: Keylogging | T1056.001 | Keylogger activo |
| Collection | Screen Capture | T1113 | Capturas cada 300 segundos |
| Collection | Clipboard Data | T1115 | Monitor de portapapeles |
| Exfiltration | Exfiltration Over Alternative Protocol: SMTP | T1048.002 | Envío via Yandex SMTP |
| Exfiltration | Exfiltration Over Web Service | T1567 | Telegram API como backup |
Acciones de remediación basadas en la config
Con la configuración extraída, las acciones de remediación son precisas:
- Bloquear cuentas de email: Reportar
[email protected]a Yandex abuse - Bloquear tráfico: SMTP saliente hacia smtp.yandex.ru en el firewall corporativo (excepto para usuarios legítimos)
- Invalidar bot Telegram: Reportar el token a Telegram abuse
- Bloquear FTP: ftp.compromised-host.xyz en proxy/firewall
- Buscar el mutex: Verificar si
AgentTesla_HWID_A1B2C3D4existe en otros endpoints - Verificar persistencia: Buscar
WindowsSecurityUpdateen HKCU...\Run en todos los endpoints - Resetear credenciales: Forzar cambio de contraseña en todos los servicios cuyos credenciales fueron robados
Los datos de configuración presentados son ficticios con fines educativos, basados en patrones reales de AgentTesla. Todos los indicadores se proporcionan con contexto defensivo.
Preguntas frecuentes
Libros recomendados
Artículos relacionados
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.