
SILENTTRINITY
SILENTTRINITY è un framework C2/post-exploitation moderno, asincrono, multi-player e multi-server basato su Python 3 e DLR di .NET. È il risultato di un'estesa ricerca sull'uso di linguaggi di scripting .NET embedded di terze parti per chiamare dinamicamente API .NET, una tecnica che l'autore ha definito BYOI (Bring Your Own Interpreter). L'obiettivo di questo strumento e del concetto BYOI è spostare il paradigma verso attacchi stile PowerShell (che offrono molta più flessibilità rispetto alle tradizionali tecniche C#) ma senza utilizzare PowerShell in alcun modo.
Alcune delle principali caratteristiche che distinguono SILENTTRINITY sono:
- Multi-Utente & Multi-Server - Supporta la collaborazione multi-utente. Inoltre, il client può connettersi e controllare più Teamserver.
- Client e Teamserver realizzati in Python 3.7 - Vengono utilizzate le funzionalità più recenti e migliori del linguaggio Python, con un uso massiccio di Asyncio per velocità assurde.
- Aggiornamenti e comunicazione in tempo reale - L'uso di Websocket consente comunicazione e aggiornamenti in tempo reale tra Client e Teamserver.
- Focus sull'usabilità con una CLI estremamente moderna - Basato su prompt-toolkit.
- Valutazione/Compilazione dinamica usando linguaggi di scripting .NET - L'impianto di SILENTTRINITY, Naga, è in qualche modo unico poiché usa linguaggi di scripting .NET embedded di terze parti (es. Boolang) per compilare/valutare dinamicamente i compiti, eliminando la necessità di compilare i compiti lato server, consentendo la modifica in tempo reale dei moduli, offrendo maggiore flessibilità e furtività rispetto ai tradizionali payload C# e rendendo tutto molto più leggero.
- Comunicazione C2 crittografata con ECDHE - SILENTTRINITY utilizza lo scambio di chiavi Ellittico Diffie-Hellman Effimero per crittografare tutto il traffico C2 tra il Teamserver e il suo impianto.
- Completamente modulare - Listener, Moduli, Stager e Canali C2 sono completamente modulari, consentendo agli operatori di costruire facilmente i propri.
- Logging esteso - Ogni azione viene registrata in un file.
- A prova di futuro - I listener HTTPS/HTTP sono costruiti su Quart e Hypercorn che supportano anche HTTP2 e WebSocket.
Richiesta di contributi
Sono solo una persona che sviluppa questo principalmente nel mio tempo libero, ho bisogno di avere una vita al di fuori dei computer (idea radicale, lo so).
Questo significa che se qualcuno trova questo strumento utile e vorrebbe vedere aggiunta una funzionalità X, il modo migliore per ottenerla è inviare una Pull Request.
Sii il cambiamento che vuoi vedere nel mondo!
Al momento in cui scrivo, la cosa più utile a cui puoi contribuire sono i moduli post-ex: questo mi permetterebbe di concentrare gli sforzi sul framework stesso, sull'esperienza utente, sulle funzionalità di qualità della vita, ecc...
Per farlo, dovrai imparare il linguaggio di programmazione Boo (il wiki di Boo è fantastico e ha tutto ciò di cui hai bisogno per iniziare), se conosci Python ti sentirai a casa :).
Dai un'occhiata ad alcuni moduli esistenti qui, se hai già scritto un modulo per Empire vedrai che è molto simile.
Infine, puoi iniziare a portare moduli post-ex da altri framework C2 come Empire.
Documentazione, Installazione e Utilizzo Base
La documentazione è in fase di sviluppo ma una parte è già disponibile nel Wiki.
Vedi qui per le istruzioni di installazione e qui per l'utilizzo base.
Ti consiglio di fare un uso massiccio del comando help e del flag -h :)
Autore
Marcello Salvati (@byt3bl33d3r)
Riconoscimenti, Collaboratori e Collaboratori Involontari
(In nessun ordine particolare)
- @devinmadewell per alcuni moduli fantastici.
- @RemiEscourrou per alcuni moduli fantastici.
- @nicolas_dbresse alias @Daudau per aver contribuito con una quantità pazzesca di moduli.
- @C_Sto per avermi aiutato con alcuni dettagli di implementazione ECDHE di .NET e per aver mantenuto la mia sanità mentale.
- @davidtavarez per aver fatto contributi straordinari, incluso uno stager cross-platform.
- @mcohmi alias daddycocoaman, per essere fantastico e per aver contribuito con codice, inclusi moduli.
- @SkelSec per l'incredibile lavoro su Pypykatz e per essere stato una fonte di ispirazione generale.
- @cobbr_io per aver scritto SharpSploit che è stato ampiamente usato come riferimento durante la costruzione di gran parte del codice dell'impianto e dei moduli.
- @harmj0y per aver scritto SeatBelt che ho rubato (non sarà l'unica cosa che gli ruberò!) e portato su Boolang, e per essere stato una fonte di ispirazione generale.
- @TheWover e Odzhan per aver scritto Donut di cui SILENTTRINITY fa ampio uso.
- modexp per avermi aiutato con un sacco di roba Windows di basso livello che un giorno imparerò quando deciderò di crescere.
- @xpn per aver creato una patch AMSI che ho rubato e per essere stato una fonte di ispirazione generale.
- @_RastaMouse per aver creato una patch AMSI che ho rubato e per essere stata una fonte di ispirazione generale.