AdaptixC2
Framework de commande et contrôle (C2) de post-exploitation open source et extensible, avec un client GUI multiplateforme, des agents et des modules de listener. Open-source, extensible post-exploitation command-and-control framework with a cross-platform GUI client, agents, and listener modules.
↗ https://github.com/Adaptix-Framework/AdaptixC2Overview
AdaptixC2 is an open-source C2 framework built as a free alternative to commercial platforms like Cobalt Strike. It ships a Qt-based GUI client, a teamserver, pluggable listener types (HTTP/HTTPS, SMB), and an extension system for adding custom agents (BOFs, in-memory execution) and listeners, aimed at red-team operators running adversary simulations.
Common Usage
Start the teamserver (loads profile with listener/operator config)
./teamserver -profile profile.json
Launch the GUI client and connect to a teamserver
./AdaptixClient
From the client console, start a listener
listener start http --port 8080 --host 0.0.0.0
Generate a beacon payload for a listener
generate beacon --listener http_8080 --os windows --format exe
Task an active session (example: run a BOF)
execute-bof /path/to/module.bof
Operator Config Example
{
"server": { "host": "0.0.0.0", "port": 4321 },
"operators": [
{ "name": "operator1", "password": "changeme" }
]
}
Tips
- Traffic between client and teamserver is authenticated and encrypted — rotate operator credentials per engagement
- Extensions (custom agents/listeners) are the intended way to add evasion or protocol support without patching core code
- Treat generated beacons like any C2 payload: stage delivery and detection-testing carefully, and only against in-scope targets
Help / Man page
AdaptixC2 Teamserver
Usage:
./teamserver -profile <profile.json> [-v]
Options:
-profile FILE JSON profile with server, listener, and operator config
-v Verbose logging
AdaptixClient (GUI)
Usage:
./AdaptixClient
Console commands (inside client):
listener start <type> [options] Start a new listener
listener stop <name> Stop a listener
generate <agent> [options] Generate an agent payload
sessions List active sessions
interact <session_id> Interact with a session
Vue d’ensemble
AdaptixC2 est un framework C2 open source conçu comme une alternative gratuite aux plateformes commerciales comme Cobalt Strike. Il embarque un client GUI basé sur Qt, un teamserver, des types de listeners enfichables (HTTP/HTTPS, SMB), et un système d’extensions pour ajouter des agents personnalisés (BOFs, exécution en mémoire) et des listeners, à destination des opérateurs red-team qui mènent des simulations d’adversaire.
Utilisation courante
# Démarrer le teamserver (charge un profil avec la config listener/opérateur)
./teamserver -profile profile.json
# Lancer le client GUI et se connecter à un teamserver
./AdaptixClient
# Depuis la console du client, démarrer un listener
listener start http --port 8080 --host 0.0.0.0
# Générer un payload beacon pour un listener
generate beacon --listener http_8080 --os windows --format exe
# Confier une tâche à une session active (exemple : lancer un BOF)
execute-bof /path/to/module.bof
Exemple de configuration d’opérateur
{
"server": { "host": "0.0.0.0", "port": 4321 },
"operators": [
{ "name": "operator1", "password": "changeme" }
]
}
Conseils
- Le trafic entre le client et le teamserver est authentifié et chiffré : faites tourner les identifiants d’opérateur à chaque mission
- Les extensions (agents/listeners personnalisés) sont la façon prévue d’ajouter de l’évasion ou le support d’un protocole sans modifier le code de base
- Traitez les beacons générés comme n’importe quel payload C2 : mettez en scène la livraison et les tests de détection avec soin, et uniquement contre des cibles dans le périmètre
Aide / Page de manuel
AdaptixC2 Teamserver
Usage:
./teamserver -profile <profile.json> [-v]
Options:
-profile FILE JSON profile with server, listener, and operator config
-v Verbose logging
AdaptixClient (GUI)
Usage:
./AdaptixClient
Console commands (inside client):
listener start <type> [options] Start a new listener
listener stop <name> Stop a listener
generate <agent> [options] Generate an agent payload
sessions List active sessions
interact <session_id> Interact with a session