2023-10-15 11:07:45 -04:00
2023-04-26 15:32:13 +02:00
2023-07-22 07:09:26 +00:00
2023-10-15 11:07:45 -04:00
2023-05-05 10:18:43 +02:00
2023-05-10 16:21:58 +02:00
2023-10-15 11:07:45 -04:00
2023-07-21 07:22:48 +00:00
2023-04-26 15:32:13 +02:00
2023-04-26 15:32:13 +02:00
2023-04-26 15:32:13 +02:00
2023-04-26 15:32:13 +02:00
2023-05-05 10:18:43 +02:00
2023-07-25 12:31:14 +00:00

Exploration C2 TeamServer

What it is

Exploration is a rudimentary red team command and control framework.
This repository contains the Team Server and the GUI to communicate with the Team Server. This development is an educational exercise to tackle well know red teaming concepts.

Dependencies:

Sumbodule & External Projects:

Compilation

Build the TeamServer

  • apt install cmake
  • apt install golang-cfssl #(self sign cert for client server grpc communications)
  • pip install conan==1.59
  • pip install grpcio
  • pip install PyQt5
  • pip install pyqtdarktheme
  • pip install protobuf

git submodule update --init
mkdir buildLinux
cd buildLinux
cmake ..
make -j4

The TeamServer binary is in Release/TeamServer
it's launched using './TeamServer'
The Python GUI is in Release/Client It's launched using 'python3 GUI.py'

alt text

Windows Beacon

Beacons and command modules are compiled separately in another project, but the current version is provided in ./Release to be able to use it directly.

alt text

Two side projects can be used to deliver the beacons:

Command and Control

The Team Server is a stand alone application which communicates with a client with GRPC channel (SSL). The Teamserver handle listeners.
Implant run on the target host. Each implant or beacon which connects back to the Team Server open a session. The session is used to control the implant, send commands and receive results.
A listener and implant/beacon can run on TCP, SMB, HTTP and HTTPS

alt text

Windows beacon uses primarily windows API and start with no module loaded. Modules are loaded at runtime using "MemoryModule" project to load DLL sent by the server to the beacon.

alt text

Moreover, the module AssemblyExec & Inject use Donut to give a lot of flexibility to the user, allowing him to launch whatever EXE or DLL he wants on the remote host.

alt text

Coff Module is used to run Coff files.

alt text

Modules List

Module
assemblyExec
upload
download
run
script
inject
pwd
cd
ls
ps
makeToken
rev2self
stealToken
coffLoader
loadModule
powershell
kerberosUseTicket
psExec
wmiExec
spawnAs
chisel
tree
S
Description
Automated archival mirror of github.com/maxDcb/C2TeamServer
Readme MIT 44 MiB
Languages
Python 52.6%
C++ 40.9%
CMake 4.2%
Shell 2.1%
Dockerfile 0.2%