Aller au contenu

C2 défini par l'utilisateur (UDC2)

L'listener UDC2 prend en charge les plugins de transport personnalisés, généralement des gestionnaires de transport basés sur BOF et exécutés sur l'infrastructure de l'opérateur. UDC2 permet des canaux de communication entièrement personnalisés (protocoles propriétaires, transports exotiques) tout en utilisant le relais de Stentor pour la gestion des beacons et le routage des tâches.


Configuration

Champ Type Obligatoire Par défaut Description
name chaîne Oui -- Nom d'affichage
type chaîne Oui -- Doit être "udc2"
relay_id UUID Oui -- Relais hébergeant le listener
port int Oui -- Port TCP pour les connexions du plug-in de transport

Créer un listener UDC2

curl -s -X POST https://stentor.app/api/v1/listeners \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Custom Transport",
    "type": "udc2",
    "port": 3333,
    "relay_id": "RELAY_UUID"
  }'

Protocole

UDC2 utilise le même format de trame à préfixe de longueur petit-boutiste de 4 octets que le C2 externe :

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

Déroulement de la session

  1. Le plug-in de transport se connecte au port TCP UDC2
  2. Première image : Métadonnées de beacon JSON :
    {"hostname": "WORKSTATION01", "username": "CORP\\jsmith", "ip": "10.10.10.20", "arch": "x64"}
    
  3. Le relais répond avec l'enregistrement du beacon :
    {"beacon_id": "a1b2c3d4-..."}
    
  4. Proxy bidirectionnel : Trames de tâches du relais, trames de sortie du plugin de transport

Cas d'utilisation

  • Transports exotiques : Acheminez le trafic C2 via des protocoles que Stentor ne prend pas en charge de manière native (par exemple, MQTT, WebRTC, stéganographie).
  • Gestionnaires de transport BOF : Implémentez une logique de transport personnalisée dans un BOF qui relie l'interface TCP UDC2
  • Réseaux isolés : Créez un mécanisme de relais personnalisé qui relie les réseaux isolés au relais Stentor.
  • Recherche de protocoles : Prototyper de nouveaux protocoles de transport C2 sans modifier la base de code du relais

UDC2 vs C2 externe

  • External C2 est conçu pour intégrer des frameworks C2 tiers (Metasploit, Sliver) avec leur propre format d'agent
  • UDC2 est conçu pour les plug-ins de transport personnalisés qui acheminent le trafic des beacons Stentor sur des canaux non standard.

Considérations OPSEC

  • Le port UDC2 ne doit être accessible qu'à partir de votre infrastructure de plugin de transport
  • Le plugin de transport est responsable de son propre cryptage et OPSEC sur le fil
  • La connexion TCP entre le plugin et le relais doit être tunnelisée via SSH ou VPN