SOC & Blue Team

Adversary emulation avec MITRE CALDERA en 2026

Adversary emulation avec MITRE CALDERA en 2026 : architecture, agents, abilities, plugins, opérations, intégration Atomic Red Team, purple team workflow.

Naim Aouaichia
13 min de lecture
  • CALDERA
  • MITRE ATT&CK
  • Adversary Emulation
  • Purple Team
  • Atomic Red Team
  • Detection Engineering
  • ATT&CK Evals
  • Lab Sécurité

L'adversary emulation est la pratique de reproduire fidèlement les techniques, tactiques et procédures (TTP) d'un acteur adversaire réel documenté, à des fins de test de la détection et de la réponse défensive. Elle se distingue du pentest classique (humain, créatif, sur scope) et de la simulation générique (scénario non rattaché à un acteur spécifique) par sa fidélité aux profils ATT&CK d'acteurs documentés (APT29, FIN7, Sandworm, Lazarus). En 2026, les deux frameworks open source dominants sont MITRE CALDERA (orchestration multi-techniques avec agents et opérations end-to-end) et Atomic Red Team de Red Canary (tests atomiques unitaires par technique). Ils sont complémentaires : Atomic Red Team pour validation rapide d'une détection isolée, CALDERA pour campagnes purple team complètes simulant un acteur sur plusieurs heures ou jours. La MITRE Adversary Emulation Library publie des plans clé en main pour les principaux acteurs (APT3, APT29, FIN6, FIN7, menuPass, Sandworm, Wizard Spider, OilRig). Cet article détaille l'architecture CALDERA (server, agents Sandcat / Manx / Ragdoll, abilities, adversaries, plans, operations), le déploiement step-by-step en lab, l'intégration avec Atomic Red Team, le workflow type d'une campagne purple team trimestrielle, la mesure de coverage défensif, les ressources MITRE ATT&CK Evaluations et les pièges opérationnels.

Adversary emulation vs simulation vs red team

Trois pratiques distinctes souvent confondues. Le sweet spot purple team est l'adversary emulation reproductible.

PratiqueDéfinitionForceLimite
Pentest classiqueHumain créatif, scope défini, exploitation profondeDécouverte vulnérabilités complexes, chaining inattenduPonctuel, non reproductible, scope restreint
Red teamHumain motivé simulant attaquant sans restrictionTest résistance face à attaquant motivé, ingénierie socialeCoûteux (50 à 200 k€), 1-2 fois par an max
Adversary simulationScénario générique scripté (par exemple : ransomware générique)Reproductible, automatisablePas rattaché à un acteur réel, peut manquer la pertinence
Adversary emulationReproduction fidèle TTP d'un acteur documentéReproductible, mesurable, aligné CTI réelleLimité aux TTP documentés (pas de zero-day)

Adversary emulation est le pivot du purple teaming moderne : reproductible (peut être ré-exécuté à chaque release), mesurable (chaque technique = un test), alignée sur la threat intel réelle (priorise les acteurs plausibles pour l'organisation), et complémentaire du pentest annuel (validation continue entre pentests).

Architecture de CALDERA

CALDERA (Cyber Adversary Language and Decision Engine for Red team Automation) est un framework open source de MITRE Center for Threat-Informed Defense, développé en Python avec interface web. Repo : github.com/mitre/caldera. Version stable 2026 : 5.x.

Composants principaux

ComposantRôle
Server CALDERAOrchestrateur central, interface web, base de données, planning
AgentsImplants déployés sur les endpoints cibles
AbilitiesTechniques individuelles exécutables, mappées ATT&CK
AdversariesCollections d'abilities ordonnées simulant un acteur
OperationsExécutions concrètes d'un adversary sur agents
PluginsExtensions (Atomic Red Team integration, Caldera-specific)
FactsVariables découvertes (IPs, users, hosts) utilisables dans abilities suivantes

Agents disponibles

  • Sandcat : agent Go, multi-platform (Windows, Linux, macOS), le plus utilisé. HTTP/HTTPS callback.
  • Manx : agent reverse shell TCP, plus simple.
  • Ragdoll : agent Python pour environnements Linux/macOS sans Go.
  • GIST : agent legacy historique.

Sandcat est le choix par défaut en 2026 pour la majorité des déploiements.

Flow d'exécution typique

1. Server CALDERA démarre, attend les agents
2. Agent Sandcat est déployé sur endpoint cible
3. Agent enregistre auprès du server (callback initial)
4. Operator définit une operation : choix d'adversary + groupe d'agents
5. Server pousse les abilities séquentiellement aux agents
6. Chaque agent exécute la commande, retourne stdout/stderr
7. Server évalue le résultat, extrait facts (IPs, users découverts)
8. Server pousse l'ability suivante avec contexte mis à jour
9. À la fin de l'operation : rapport ATT&CK avec techniques exécutées

Déploiement step-by-step

Étape 1 — Server CALDERA

# Lab ou environnement isolé. Ne JAMAIS déployer en production.
# Ubuntu 22.04 LTS recommandé, 4 vCPU 8 Go RAM minimum
 
# Installation des prérequis
sudo apt update
sudo apt install -y python3.11 python3.11-venv git npm
 
# Clonage et setup
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
 
# Configuration via conf/local.yml
cp conf/default.yml conf/local.yml
 
# Démarrage
python3 server.py --insecure --build
# Interface accessible sur http://localhost:8888
# Login: red / Password: défini dans conf/local.yml

Étape 2 — Sécuriser le déploiement (recommandé)

# conf/local.yml — configuration durcie
host: 0.0.0.0
port: 8888
 
users:
  red:
    red: "$2b$12$..." # bcrypt hash, généré avec scripts/hash.py
  blue:
    blue: "$2b$12$..."
 
api_key_red: "<generate via openssl rand -hex 32>"
api_key_blue: "<generate via openssl rand -hex 32>"
 
# Reverse proxy nginx + TLS Let's Encrypt en frontage recommandé pour production lab

Étape 3 — Déployer un agent Sandcat sur cible Windows

Depuis l'interface CALDERA, section "Agents" → "Deploy an agent" → choisir Sandcat → choisir target platform Windows → choisir HTTP listener → générer commande.

# Exemple commande générée par CALDERA pour Windows
$server="http://10.0.0.5:8888";
$url="$server/file/download";
$wc=New-Object System.Net.WebClient;
$wc.Headers.add("platform","windows");
$wc.Headers.add("file","sandcat.go");
$output="C:\Windows\Temp\sandcat.exe";
$wc.DownloadFile($url,$output);
Start-Process -FilePath $output -ArgumentList "-server $server" -WindowStyle hidden;

Exécution de cette commande dans une session admin sur l'endpoint Windows lab → l'agent apparaît dans la console CALDERA.

Étape 4 — Première operation

  1. Section "Operations" → "Create new operation".
  2. Adversary : choisir un adversary built-in (par exemple "Discovery" pour démarrer simple) ou importer depuis Adversary Emulation Library.
  3. Groupe d'agents : sélectionner les agents cibles disponibles.
  4. Planner : "atomic" (séquentiel simple) pour démarrer.
  5. Cleanup : "Yes" pour que CALDERA nettoie les artefacts à la fin.
  6. Lancer l'operation. Observer les abilities s'exécuter en temps réel.

Étape 5 — Analyse du rapport

À la fin de l'operation, CALDERA génère :

  • Liste des abilities exécutées : succès, échec, output.
  • Facts découverts : IPs, users, fichiers identifiés.
  • Rapport ATT&CK : techniques couvertes mappées sur la matrice.
  • Export JSON : pour intégration externe (Navigator layer, SIEM).
# Export du rapport ATT&CK Navigator format
curl -H "KEY: <api_key>" \
  "http://10.0.0.5:8888/api/v2/operations/<operation_id>/report/attack-navigator" \
  -o operation-report.json

Importer cette layer dans Navigator pour visualiser la couverture exécutée vs détection.

Importer un plan d'émulation MITRE

L'usage le plus puissant de CALDERA : exécuter des plans d'émulation officiels MITRE.

Étape 1 — Récupérer le plan

# Adversary Emulation Library
git clone https://github.com/center-for-threat-informed-defense/adversary_emulation_library.git
cd adversary_emulation_library/apt29
 
# Structure type d'un plan
# - Intelligence_Summary.md : profil acteur
# - Operations_Flow.md : ordre des actions
# - Emulation_Plan/Scenario_1/Infrastructure/ : setup C2
# - Emulation_Plan/Scenario_1/CALDERA/ : adversary YAML pour CALDERA

Étape 2 — Importer dans CALDERA

# Copier le plan d'adversaire
cp adversary_emulation_library/apt29/Emulation_Plan/Scenario_1/CALDERA/apt29-1.yml \
  caldera/data/adversaries/
 
# Restart CALDERA, l'adversaire APT29 Scenario 1 apparaît dans la liste

Étape 3 — Adapter au lab

Les plans MITRE supposent un environnement type avec joueurs spécifiques (par exemple un Active Directory complet). Adapter :

  • Variables (IPs, users, hosts) dans le plan YAML pour matcher votre lab.
  • Désactiver les abilities qui requièrent infrastructure non disponible (par exemple C2 externe).
  • Ajouter des sleeps entre abilities pour simuler la temporalité réaliste de l'attaquant.

Intégration avec Atomic Red Team

Atomic Red Team (Red Canary, github.com/redcanaryco/atomic-red-team) est complémentaire à CALDERA. Plus de 1 000 tests atomiques, un test = une technique ATT&CK = une ou quelques commandes simples.

Plugin Atomic Red Team pour CALDERA

CALDERA inclut le plugin atomic qui ingère automatiquement les tests Atomic Red Team comme abilities natives. Activé par défaut dans la version 5.x.

Différence d'usage

Cas d'usageOutil recommandé
Test rapide d'une seule détection (5 min)Atomic Red Team CLI
Validation continue par tests unitaires en CIAtomic Red Team scripted
Campagne d'émulation multi-techniques (heures à jours)CALDERA
Suivi temporel d'une attaque réalisteCALDERA avec sleep configurés
Émulation alignée plan MITRE officielCALDERA + Adversary Emulation Library

Exemple Atomic Red Team standalone

# Installation Invoke-AtomicRedTeam (Windows)
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing);
Install-AtomicRedTeam -getAtomics
 
# Liste des tests pour T1003.001 (LSASS Memory)
Invoke-AtomicTest T1003.001 -ShowDetails
 
# Exécution d'un test spécifique
Invoke-AtomicTest T1003.001 -TestNumbers 1
 
# Cleanup post-test
Invoke-AtomicTest T1003.001 -TestNumbers 1 -Cleanup

Workflow purple team trimestriel

Pattern d'utilisation observé dans les SOC matures 2026.

Phase 1 — Préparation (semaine 1)

  • Sélectionner les adversaires à émuler ce trimestre (top 1 à 3 selon CTI prioritaire).
  • Importer les plans d'émulation correspondants.
  • Vérifier l'état du lab et des agents déployés sur les cibles.
  • Aligner avec l'équipe blue team (SOC) sur la fenêtre d'exécution.

Phase 2 — Exécution (semaines 2-3)

  • Lancer les operations CALDERA selon les plans.
  • En parallèle, l'équipe SOC traite les alertes générées comme s'il s'agissait d'incidents réels (ils savent qu'un purple team est actif mais pas le plan détaillé).
  • Documenter en temps réel les détections (true positives, false negatives, faux positifs).

Phase 3 — Analyse (semaine 4)

  • Comparer les techniques exécutées par CALDERA aux alertes générées par le SOC.
  • Identifier les gaps de détection (techniques non détectées).
  • Calculer le MTTD (Mean Time to Detect) par technique.
  • Évaluer la qualité de la réponse SOC (containment, escalade).

Phase 4 — Amélioration (mois 2-3 du trimestre suivant)

  • Création de nouvelles règles Sigma pour les gaps identifiés.
  • Tuning des règles existantes qui ont généré false positives ou false negatives.
  • Mise à jour de la layer Navigator de couverture défensive.
  • Ré-test pour valider les améliorations.

Phase 5 — Communication

  • Rapport synthétique au CISO : score de couverture par technique, évolution depuis trimestre précédent, gaps prioritaires.
  • Présentation à l'équipe SOC : feedback constructif, valorisation des réussites, alignement sur axes d'amélioration.

ATT&CK Evaluations : benchmark vendor

MITRE Engenuity opère depuis 2018 le programme ATT&CK Evaluations qui teste les solutions EDR/XDR commerciales contre des plans d'émulation d'acteurs réels.

Méthodologie

  • MITRE émule un acteur (par exemple APT29 dans le round 2020) sur un environnement lab.
  • Chaque vendor participant (CrowdStrike, SentinelOne, Microsoft, Palo Alto, Cybereason, etc.) déploie sa solution dans le même environnement.
  • MITRE exécute les techniques et mesure la détection vendor par vendor.
  • Résultats publiés publiquement avec détail technique par technique.

Rounds historiques

RoundAnnéeActeur émulé
12018APT3
22019APT29
32020Carbanak + FIN7
42022Wizard Spider + Sandworm
52023Turla
62024menuPass + ALPHV BlackCat
7 (Mac/Linux)2024-2025Lazarus + Cl0p (Linux/macOS)

Comment utiliser les résultats

Pour évaluer un EDR vendor avant achat : consulter attackevals.mitre.org et étudier le détail technique par technique. Méfiance avec les marketing claims des vendors qui peuvent surinterpréter leurs résultats. Le résultat brut MITRE est plus fiable que les communiqués de presse vendors.

Risques et précautions

L'adversary emulation exécute des techniques offensives réelles. Les risques sont concrets.

Exécution accidentelle en production. Une mauvaise configuration de CALDERA (mauvais agent ciblé, mauvais réseau) peut déclencher une vraie attaque sur un système production. Toujours valider l'isolation réseau, les hostnames cibles, la configuration des agents avant lancement.

Déclenchement d'incident SOC réel. Une opération CALDERA non communiquée à l'équipe SOC déclenchera un incident SOC complet. Coordination obligatoire : annonce préalable au SOC manager (sans détail du plan), fenêtre d'exécution fixée, code de communication pour distinguer purple team d'incident réel.

Persistance non nettoyée. Si l'option cleanup CALDERA échoue, des artefacts (fichiers, processus, registre, comptes) peuvent persister sur les endpoints. Vérifier post-operation que les hosts sont propres.

Compromission du server CALDERA. Le server CALDERA est une cible attractive : si compromis, donne accès à des outils d'attaque packagés. Hardening server obligatoire (TLS, RBAC, isolation réseau, monitoring), ne jamais exposer Internet.

Fuite d'IOCs et de techniques propriétaires. Les plans d'émulation contiennent souvent des IOCs et techniques sensibles. Ne pas commit dans un repo public.

Limites et compléments

Adversary emulation a des limites par construction. Compléments à connaître.

LimiteCompensation
Limité aux TTP documentésPentest manuel pour techniques non documentées, zero-days
Pas d'ingénierie socialePhishing simulé via outils dédiés (KnowBe4, Cofense)
Pas de business logic abuseBug bounty et code review
Pas d'attaques physiqueRed team physique distinct
Évalue détection, pas préventionCombiner avec audits de configuration
Lab vs productionValidation finale par red team conditions réelles

Points clés à retenir

  • L'adversary emulation reproduit fidèlement les TTP d'un acteur réel documenté, distincte du pentest classique (humain créatif) et de la simulation générique. Sweet spot du purple teaming reproductible et mesurable.
  • CALDERA (MITRE) est le framework open source de référence pour orchestrer des opérations multi-techniques avec agents Sandcat. Atomic Red Team (Red Canary) complète avec tests atomiques unitaires rapides.
  • La MITRE Adversary Emulation Library publie des plans clé en main pour les principaux acteurs (APT3, APT29, FIN6, FIN7, Sandworm, menuPass, OilRig, Wizard Spider).
  • Workflow purple team trimestriel type : préparation, exécution, analyse, amélioration, communication. La règle d'or : aucun "gotcha", collaboration constructive entre red et blue.
  • Adversary emulation mesure la détection et la réponse, pas la prévention. Combiner avec pentest annuel, bug bounty, simulation phishing pour couverture complète.

Pour aller plus loin

Questions fréquentes

  • Quelle différence entre adversary emulation, simulation et red team classique ?
    Adversary emulation : reproduire fidèlement les TTP d'un acteur réel documenté (par exemple émuler APT29 en suivant son profil ATT&CK avec ses outils, méthodes, ordre d'opérations). Adversary simulation : tester un scénario d'attaque générique non rattaché à un acteur précis (par exemple : simuler un ransomware générique). Red team classique : engagement humain créatif et adaptatif simulant un attaquant motivé sans se restreindre à un acteur spécifique. Adversary emulation est le sweet spot pour purple team : reproductible, mesurable, alignée sur threat intel réelle. Distinction formalisée par MITRE dans son Adversary Emulation Library.
  • CALDERA ou Atomic Red Team : que choisir en 2026 ?
    Les deux sont complémentaires. Atomic Red Team (Red Canary) : tests atomiques unitaires, un test = une technique ATT&CK. Idéal pour valider une détection isolée (par exemple : tester si T1003.001 LSASS Memory déclenche votre alerte). Démarrage en 5 minutes, scope étroit. CALDERA (MITRE) : framework complet d'orchestration multi-techniques avec agents (Sandcat, Manx, Ragdoll), plans d'émulation alignés ATT&CK Evaluations, automatisation de campagnes longues. Plus complexe à déployer (1 à 2 jours setup) mais permet de chaîner techniques en opérations end-to-end. Pattern type : Atomic Red Team pour tests rapides quotidiens, CALDERA pour campagnes purple team trimestrielles.
  • Quels sont les profils d'acteurs disponibles dans CALDERA en 2026 ?
    MITRE maintient une Adversary Emulation Library (github.com/center-for-threat-informed-defense/adversary_emulation_library) avec plans détaillés pour : APT3 (chinois, premier publié 2018), APT29 (russe, Cozy Bear, plan complet en 2 phases), FIN6 et FIN7 (cybercrime financier), menuPass (chinois ciblant MSPs), Sandworm (russe GRU, infra critiques), Wizard Spider (TrickBot/Conti), OilRig (iranien). Chaque plan inclut documentation détaillée, ordre des techniques, IOCs, scripts d'émulation. Importable dans CALDERA comme adversaries via plugins.
  • Faut-il un environnement de lab dédié pour CALDERA ?
    Oui, obligatoirement. CALDERA exécute des techniques offensives réelles (process injection, credential dumping, lateral movement) qui déclenchent des alertes EDR et peuvent endommager des systèmes en production. Lab type minimum 2026 : un serveur CALDERA (Linux Ubuntu 22.04, 4 vCPU, 8 Go RAM), 2-5 endpoints cibles (Windows 10/11, Windows Server 2022, Linux Ubuntu) déployés en VMs Proxmox ou cloud isolé, réseau dédié sans connectivité production. Snapshots avant chaque opération pour rollback. Le lab maison décrit dans l'article dédié couvre les besoins.
  • Comment mesurer les résultats d'une opération CALDERA ?
    Trois axes. 1) Détection : pour chaque technique exécutée, vérifier si une alerte SIEM ou EDR a été générée (true positive). Compter les techniques détectées vs exécutées = detection coverage. 2) Temps de détection : delta entre exécution de la technique par CALDERA et apparition de l'alerte. Plus court = mieux. 3) Réponse : si automation SOAR active, vérifier si action de containment a été déclenchée. CALDERA exporte les résultats au format JSON et génère des rapports HTML. Couplage avec Vectr ou Navigator pour visualisation sur la matrice ATT&CK.
  • Adversary emulation peut-elle remplacer un pentest annuel ?
    Non, complémentaire seulement. Un pentest mesure la résistance face à un attaquant humain créatif sur un scope défini, avec exploitation profonde et chaining de vulnérabilités complexes. Une opération CALDERA mesure la capacité de détection et de réponse face à des TTP scriptés et documentés. Un attaquant humain peut imaginer des chaînes d'exploitation que CALDERA ne couvre pas (par exemple zero-day, ingénierie sociale, business logic abuse). Inversement, CALDERA permet de mesurer la couverture défensive de manière reproductible et fréquente, ce qu'un pentest annuel ne peut pas. La combinaison purple team continu (CALDERA + Atomic Red Team) + pentest annuel + bug bounty est la posture mature 2026.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.