caldera
Plateforme d'émulation d'adversaire automatisée du MITRE. Mène des opérations red team autonomes avec des techniques mappées sur ATT&CK, gère les agents et génère des rapports d'évaluation. MITRE's automated adversary emulation platform. Runs autonomous red team operations using ATT&CK-mapped techniques, manages agents, and generates assessment reports.
↗ https://github.com/mitre/calderaOverview
CALDERA is MITRE’s automated adversary emulation system. It uses ATT&CK techniques to autonomously run red team operations — deploying agents, executing techniques, and assessing defensive coverage. Used for purple teaming, security assessment automation, and testing detection capabilities.
Installation
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
Start the server
python3 server.py --insecure
→ Access at: http://localhost:8888 Default creds: admin / admin
Architecture
CALDERA Server → Web UI (planning, reports)
↓
C2 Channel (HTTP/S, DNS, etc.)
↓
Agents (Sandcat, Manx, Ragdoll)
↓
Target Systems (Windows, Linux, macOS)
Agents
# Sandcat (Go) — primary agent, cross-platform
# Deploy from UI: Agents → Add Agent → select Sandcat
# Or manually:
Windows
.\sandcat.exe -server http://10.10.10.50:8888 -group red
Linux
./sandcat -server http://10.10.10.50:8888 -group red
macOS
./sandcat -server http://10.10.10.50:8888 -group red
Operations
# In the web UI:
# 1. Go to Operations → + Add Operation
# 2. Select adversary profile (APT3, APT29, etc. — MITRE ATT&CK groups)
# 3. Select target group (deployed agents)
# 4. Configure planning method (atomic/batch/sequential)
# 5. Start operation
# CALDERA runs techniques automatically:
# - Discovery (system info, users, processes)
# - Credential access (credential dumping)
# - Lateral movement (if configured)
# - Persistence
# - Exfiltration
Adversary Profiles
# Pre-built profiles based on real threat actors:
# APT3 — privilege escalation, lateral movement
# APT29 — credential access, exfiltration
# FIN6 — POS-targeting techniques
# COBALT — financial-sector TTP
# Custom — build your own with specific ATT&CK techniques
# Plugins add more adversaries:
# Emu plugin — emulates specific threat groups
# Training plugin — guided red team exercises
Plugins
# Key plugins:
# stockpile — ATT&CK abilities and adversaries
# sandcat — Go agent deployment
# emu — threat group emulation
# manx — reverse shell agent
# response — automated defense responses
# training — interactive training mode
# Install plugin:
# Server → Configuration → Plugins → Enable
Reports and Purple Teaming
# After operation completes:
# Reports → Operation Report
# Shows:
# - Techniques executed (MITRE ATT&CK IDs)
# - Commands run on each agent
# - Data collected
# - Coverage gaps
# Purple team: share report with defenders
# They map techniques to detection coverage
# Identify gaps in SIEM/EDR coverage
REST API
CALDERA has a full REST API for automation
curl -X GET http://localhost:8888/api/v2/agents \
-H "KEY: ADMIN_API_KEY"
Start operation via API
curl -X POST http://localhost:8888/api/v2/operations \
-H "KEY: ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"test","adversary":{"adversary_id":"ad-hoc"}}'
Tips
- CALDERA is best for purple team exercises — run and share reports with the blue team
- Start with “Discovery” adversary profiles to get baseline coverage without being destructive
- The ATT&CK matrix integration makes it easy to identify detection gaps by technique
- Use in isolated lab environments — agents have real attack capabilities
Help / Man page
python3 server.py [options]
--port N Server port (default: 8888)
--insecure Disable SSL (for testing)
--log LEVEL Log level: DEBUG, INFO, WARNING
--config FILE Config file (default: conf/local.yml)
--fresh Delete existing database on start
Access: http://localhost:8888
Default login: admin / admin (change immediately)
Vue d’ensemble
CALDERA est le système d’émulation d’adversaire automatisée du MITRE. Il utilise les techniques ATT&CK pour mener des opérations red team de façon autonome : déploiement d’agents, exécution de techniques, et évaluation de la couverture défensive. Utilisé pour le purple teaming, l’automatisation d’évaluations de sécurité et le test des capacités de détection.
Installation
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
# Démarrer le serveur
python3 server.py --insecure
# → Accès sur : http://localhost:8888 Identifiants par défaut : admin / admin
Architecture
CALDERA Server → Web UI (planning, reports)
↓
C2 Channel (HTTP/S, DNS, etc.)
↓
Agents (Sandcat, Manx, Ragdoll)
↓
Target Systems (Windows, Linux, macOS)
Agents
# Sandcat (Go) : agent principal, multiplateforme
# Déployer depuis l'UI : Agents → Add Agent → sélectionner Sandcat
# Ou manuellement :
# Windows
.\sandcat.exe -server http://10.10.10.50:8888 -group red
# Linux
./sandcat -server http://10.10.10.50:8888 -group red
# macOS
./sandcat -server http://10.10.10.50:8888 -group red
Opérations
# Dans l'UI web :
# 1. Aller dans Operations → + Add Operation
# 2. Sélectionner un profil d'adversaire (APT3, APT29, etc. : groupes MITRE ATT&CK)
# 3. Sélectionner le groupe cible (agents déployés)
# 4. Configurer la méthode de planification (atomic/batch/sequential)
# 5. Démarrer l'opération
# CALDERA lance les techniques automatiquement :
# - Discovery (infos système, utilisateurs, processus)
# - Accès aux identifiants (credential dumping)
# - Déplacement latéral (si configuré)
# - Persistance
# - Exfiltration
Profils d’adversaires
# Profils prédéfinis basés sur de vrais acteurs de menace :
# APT3 : élévation de privilèges, déplacement latéral
# APT29 : accès aux identifiants, exfiltration
# FIN6 : techniques ciblant les points de vente (POS)
# COBALT : TTP du secteur financier
# Custom : construisez le vôtre avec des techniques ATT&CK précises
# Des plugins ajoutent d'autres adversaires :
# Plugin Emu : émule des groupes de menace précis
# Plugin Training : exercices red team guidés
Plugins
# Plugins clés :
# stockpile : capacités et adversaires ATT&CK
# sandcat : déploiement de l'agent Go
# emu : émulation de groupes de menace
# manx : agent reverse shell
# response : réponses de défense automatisées
# training : mode d'entraînement interactif
# Installer un plugin :
# Server → Configuration → Plugins → Enable
Rapports et purple teaming
# Une fois l'opération terminée :
# Reports → Operation Report
# Affiche :
# - Techniques exécutées (IDs MITRE ATT&CK)
# - Commandes lancées sur chaque agent
# - Données collectées
# - Lacunes de couverture
# Purple team : partager le rapport avec les défenseurs
# Ils mappent les techniques sur la couverture de détection
# Identifient les lacunes de couverture SIEM/EDR
API REST
# CALDERA dispose d'une API REST complète pour l'automatisation
curl -X GET http://localhost:8888/api/v2/agents \
-H "KEY: ADMIN_API_KEY"
# Démarrer une opération via l'API
curl -X POST http://localhost:8888/api/v2/operations \
-H "KEY: ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"test","adversary":{"adversary_id":"ad-hoc"}}'
Conseils
- CALDERA est idéal pour les exercices purple team : lancez et partagez les rapports avec la blue team
- Commencez par des profils d’adversaire “Discovery” pour obtenir une couverture de base sans être destructeur
- L’intégration de la matrice ATT&CK facilite l’identification des lacunes de détection par technique
- À utiliser dans des environnements de lab isolés : les agents ont de réelles capacités d’attaque
Aide / Page de manuel
python3 server.py [options]
--port N Server port (default: 8888)
--insecure Disable SSL (for testing)
--log LEVEL Log level: DEBUG, INFO, WARNING
--config FILE Config file (default: conf/local.yml)
--fresh Delete existing database on start
Access: http://localhost:8888
Default login: admin / admin (change immediately)