Exploration is a red team Command and Control (C2) framework.
This repository includes both the TeamServer and the Client.
The release package contains the TeamServer, the Client, as well as the beacons and modules for Windows from C2Implant and for Linux from C2Implant.
You can run the following command to retrieve the latest release:
wget -q $(wget -q -O - 'https://api.github.com/repos/maxDcb/C2TeamServer/releases/latest' | jq -r '.assets[] | select(.name=="Release.tar.gz").browser_download_url') -O ./C2TeamServer.tar.gz
mkdir C2TeamServer && tar xf C2TeamServer.tar.gz -C C2TeamServer --strip-components 1
The TeamServer is a standalone application, coded in C++, that handles listeners. The Client, coded in Python, communicates with the TeamServer through gRPC.
Beacons run on the victim host. Each Beacon that connects back to the TeamServer opens a new session. This session is used to control the Beacon, send commands, and receive results.
Listeners and Beacons can communicate through TCP, SMB, HTTP, HTTPS.
A compiled version of the TeamServer is available in the Releases, complete with default certificates for gRPC communication and HTTP Listener.
The TeamServer binary is in Release/TeamServer. It can be launched using the following command:
./TeamServer
The Python Client is located in Release/Client. It can be launched using the following command:
cd Release/Client
# --dev is to specify that the GRPC hostname in the SSL certificat will not be checked
# --ip is the ip of the TeamServer
python3 GUI.py --ip 127.0.0.0 --port 50051 --dev
The following packages are required to run the Client:
pip3 install pycryptodome
pip3 install grpcio==1.66.1
pip3 install PyQt5
pip3 install pyqtdarktheme
pip3 install protobuf==5.27.0
For more information, please visit the wiki