C2 externe¶
L'listener C2 externe permet l'intégration avec des frameworks C2 tiers (Metasploit, Sliver, contrôleurs personnalisés) en exposant une interface TCP qui transmet le trafic C2 via l'infrastructure de relais de Stentor. Cela permet à des outils externes de contrôler les beacons Stentor ou de relayer le trafic via la couche de transport de Stentor.
Ceci équivaut à la [spécification C2 externe] de Cobalt Strike (PHTOKEN_0).
Configuration¶
| Champ | Type | Obligatoire | Par défaut | Description |
|---|---|---|---|---|
name | chaîne | Oui | -- | Nom d'affichage |
type | chaîne | Oui | -- | Doit être "external_c2" |
relay_id | UUID | Oui | -- | Relais hébergeant le listener |
port | int | Oui | -- | Port TCP pour les connexions du contrôleur |
guardrails | objet | Non | -- | Filtrage IP/nom d'hôte des beacons |
Créer un listener C2 externe¶
curl -s -X POST https://stentor.app/api/v1/listeners \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "External C2",
"type": "external_c2",
"port": 2222,
"relay_id": "RELAY_UUID"
}'
Protocole¶
Le protocole C2 externe utilise des trames petit-boutiste de 4 octets avec préfixe de longueur sur TCP :
Flux de poignée de main¶
- Le contrôleur se connecte au port TCP externe C2
- Trames de métadonnées facultatives :
arch=x64,pipename=\\.\pipe\beacon,block=100 - Demande de stager facultative : Le contrôleur envoie la trame
stagerpour recevoir le shellcode du beacon - Début de session : Le contrôleur envoie la trame
gopour lancer la session de beacon - Proxy bidirectionnel : Le contrôleur envoie des trames de tâches, le relais répond avec une sortie en attente
Options de métadonnées¶
| Cadre | Description |
|---|---|
arch=x86 / arch=x64 | Architecture cible pour la génération de stager |
pipename=<name> | Configuration du canal nommé |
block=<size> | Taille du bloc de données |
stager | Demander des octets de shellcode de beacon |
go | Démarrer la session de beacon |
Cas d'utilisation¶
- Intégration Metasploit : Acheminez les sessions Meterpreter via l'infrastructure Stentor
- Développement de transports personnalisés : Créez des transports C2 personnalisés qui se connectent au relais Stentor
- Chaînage de framework : Utilisez Stentor comme couche relais pour d'autres frameworks C2
- Recherche : Testez les protocoles C2 personnalisés à l'aide de l'infrastructure de beacon de Stentor
Considérations OPSEC
- Le port C2 externe ne doit être accessible qu'à partir de l'infrastructure de votre contrôleur, et non à partir des réseaux cibles.
- Le trafic entre le contrôleur et le relais n'est pas chiffré par défaut : utilisez des tunnels SSH ou un VPN pour les connexions du contrôleur.
- Les garde-corps s'appliquent aux beacons connectées via le contrôleur externe