Aller au contenu

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 :

[length (4 bytes LE)] [frame data (N bytes)]

Flux de poignée de main

  1. Le contrôleur se connecte au port TCP externe C2
  2. Trames de métadonnées facultatives : arch=x64, pipename=\\.\pipe\beacon, block=100
  3. Demande de stager facultative : Le contrôleur envoie la trame stager pour recevoir le shellcode du beacon
  4. Début de session : Le contrôleur envoie la trame go pour lancer la session de beacon
  5. 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