Mapping Malware a ATT&CK: Metodología Práctica
Metodología paso a paso para mapear comportamiento de malware a técnicas MITRE ATT&CK. Desde el análisis de un sample hasta el informe mapeado, con errores comunes a evitar y herramientas de automatización.
El mapping a ATT&CK transforma un análisis de malware en inteligencia accionable
Mapear malware a MITRE ATT&CK significa identificar qué técnicas específicas utiliza un sample y documentarlas de forma estandarizada. Un análisis de malware que dice "crea persistencia" es útil. Uno que dice "T1547.001 (Registry Run Keys): crea valor 'WindowsUpdate' en HKCU\Software\Microsoft\Windows\CurrentVersion\Run apuntando a C:\Users\Public\svchost32.exe" es accionable: el SOC puede crear una detección específica.
Metodología en 5 pasos
Paso 1: Analizar el sample
Ejecutar análisis estático y dinámico completo:
Estático: strings, imports, PE headers, YARA matches, entropy, firmas digitales. Dinámico: sandbox (ANY.RUN, CAPE), debugging (x64dbg), monitoring (Sysmon, ProcMon).
El objetivo es obtener la lista de comportamientos observados: qué hace el malware, no qué podría hacer.
Paso 2: Listar comportamientos observados
Documentar cada acción observable:
Comportamientos del sample XYZ-dropper:
1. Ejecuta PowerShell con -EncodedCommand
2. Descarga payload desde https://c2.example.com/update.bin
3. Escribe payload en C:\Users\Public\svchost32.exe
4. Crea clave de registro HKCU\...\Run\WindowsUpdate
5. Inyecta código en explorer.exe via CreateRemoteThread
6. Se comunica con c2.example.com cada 60s via HTTPS
7. Ejecuta whoami, ipconfig, net group "Domain Admins"
8. Accede a LSASS para dump de credenciales
Paso 3: Mapear cada comportamiento a técnica ATT&CK
Para cada comportamiento, buscar la técnica más específica:
| # | Comportamiento | Técnica ATT&CK | ID | Evidencia |
|---|---|---|---|---|
| 1 | PowerShell -EncodedCommand | Command and Scripting Interpreter: PowerShell | T1059.001 | ProcMon: powershell.exe -enc [base64] |
| 2 | Download payload via HTTPS | Ingress Tool Transfer | T1105 | PCAP: GET /update.bin → 200 OK, 245KB |
| 3 | Write to C:\Users\Public\ | — (parte de T1105) | — | Sysmon Event 11: file create |
| 4 | Registry Run key | Boot or Logon Autostart: Registry Run Keys | T1547.001 | Sysmon Event 13: HKCU...\Run\WindowsUpdate |
| 5 | CreateRemoteThread en explorer.exe | Process Injection: DLL Injection | T1055.001 | Sysmon Event 8: CreateRemoteThread target=explorer.exe |
| 6 | HTTPS beacon cada 60s | Application Layer Protocol: Web Protocols | T1071.001 | PCAP: GET /api/status cada 58-62s |
| 7 | whoami, ipconfig, net group | System Owner Discovery + Network Config + Permission Groups | T1033, T1016, T1069.002 | ProcMon: cmd.exe child processes |
| 8 | LSASS access | OS Credential Dumping: LSASS Memory | T1003.001 | Sysmon Event 10: target=lsass.exe, access=0x1010 |
Paso 4: Asignar tácticas
Cada técnica pertenece a una o más tácticas. Organizar el mapping por táctica para mostrar la cadena del ataque:
EXECUTION: T1059.001 (PowerShell)
PERSISTENCE: T1547.001 (Registry Run Key)
DEFENSE EVASION: T1055.001 (Process Injection en explorer.exe)
CREDENTIAL ACCESS: T1003.001 (LSASS dump)
DISCOVERY: T1033, T1016, T1069.002 (whoami, ipconfig, net group)
C2: T1071.001 (HTTPS beaconing)
T1105 (Ingress Tool Transfer)
Paso 5: Revisar y validar
Checklist de validación:
- Cada mapping tiene evidencia observable (no suposiciones)
- Se usa la sub-técnica más específica disponible
- No se mapean capacidades teóricas (solo comportamiento observado)
- Las tácticas asignadas son correctas para el contexto
- Se documenta la versión de ATT&CK usada
Errores comunes al mapear
Error 1: Mapear a táctica en vez de técnica
MAL: "El malware usa Persistence"
BIEN: "T1547.001: crea valor HKCU\...\Run\WindowsUpdate"
Error 2: Mapear capacidad teórica
MAL: "El malware puede hacer keylogging" (tiene la función en código pero no se ejecutó)
BIEN: Solo mapear si se observó keylogging activo en análisis dinámico
Error 3: No usar sub-técnicas
MAL: T1059 (Command and Scripting Interpreter)
BIEN: T1059.001 (PowerShell) — la sub-técnica da contexto específico
Error 4: Confundir herramienta con técnica
MAL: "Usa Mimikatz" → T1003 (genérico)
BIEN: "Mimikatz sekurlsa::logonpasswords" → T1003.001 (LSASS Memory)
"Mimikatz lsadump::dcsync" → T1003.006 (DCSync)
Mimikatz es la herramienta, la técnica es lo que HACE con ella
Error 5: Over-mapping
Mapear técnicas redundantes para el mismo comportamiento. Si el malware usa PowerShell para descargar un payload, mapear T1059.001 (PowerShell) y T1105 (Tool Transfer). No añadir T1204 (User Execution) si el usuario no interactuó.
Herramientas de automatización
| Herramienta | Qué hace | Limitación |
|---|---|---|
| CAPA (Mandiant) | Analiza binarios PE/ELF y detecta capabilities mapeadas a ATT&CK | Solo estático, no analiza comportamiento runtime |
| TRAM (MITRE) | Extrae técnicas ATT&CK de informes de CTI en texto natural | NLP imperfecto, requiere revisión |
| Attack Flow | Visualiza secuencias de técnicas como diagrama de flujo | Es visualización, no detección |
| ATT&CK Workbench | Personalizar y extender ATT&CK con mappings propios | Es plataforma, no automación |
| CAPE Sandbox | Sandbox que mapea comportamiento observado a ATT&CK | Depende de la ejecución del sample |
| ANY.RUN | Sandbox interactivo con ATT&CK mapping automático | Cobertura variable según familia |
CAPA en detalle
CAPA es la herramienta más útil para mapping automatizado desde análisis estático:
Ejemplo output CAPA:
MBC Objective: ANTI-BEHAVIORAL ANALYSIS
MBC Behavior: Virtual Machine Detection (B0009)
ATT&CK: T1497.001 System Checks
MBC Objective: PERSISTENCE
MBC Behavior: Registry Run Keys (F0012)
ATT&CK: T1547.001 Registry Run Keys
MBC Objective: DEFENSE EVASION
MBC Behavior: Process Injection (F0005)
ATT&CK: T1055 Process Injection
CAPA detecta las capabilities del binario analizando APIs importadas, strings, y patrones de código. Es un excelente punto de partida pero no reemplaza el análisis dinámico.
Template de mapping para informes
## ATT&CK Mapping: [Nombre del sample/familia]
**Versión ATT&CK:** v15.1
**Fecha de análisis:** YYYY-MM-DD
**Analista:** [nombre]
**Herramientas usadas:** [CAPE, x64dbg, Sysmon, CAPA, ...]
### Técnicas observadas
| Táctica | Técnica | ID | Evidencia | Confianza |
|---------|---------|-----|-----------|-----------|
| Execution | PowerShell | T1059.001 | [evidencia] | Alta |
| Persistence | Registry Run Keys | T1547.001 | [evidencia] | Alta |
| ... | ... | ... | ... | ... |
### Navigator Layer
[Link a archivo JSON del layer]
### Notas
- Técnicas potenciales no confirmadas: [lista]
- Análisis adicional recomendado: [detalles]
Conclusión
El mapping a ATT&CK es una habilidad core para analistas de malware y CTI. La clave es mapear comportamiento observado (no teórico), usar la granularidad correcta (sub-técnicas), y documentar la evidencia de cada mapping. Herramientas como CAPA y TRAM aceleran el proceso pero no reemplazan el criterio del analista.
Fuentes y referencias
- MITRE: "Best Practices for MITRE ATT&CK Mapping" (CISA, 2023)
- Mandiant: CAPA documentation
- MITRE: TRAM documentation
- Center for Threat-Informed Defense: Attack Flow project
- FIRST: "CTI and ATT&CK" (Katie Nickels, 2022)
Preguntas frecuentes
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.