SILENTTRINITY ist ein modernes, asynchrones, Multiplayer- und Multiserver-C2/Post-Exploitation-Framework, das auf Python 3 und der .NET-DLR basiert. Es ist der Höhepunkt umfangreicher Forschung zur Nutzung eingebetteter .NET-Skriptsprachen von Drittanbietern, um dynamisch auf .NET-APIs zuzugreifen – eine Technik, die der Autor als BYOI (Bring Your Own Interpreter) bezeichnet hat. Ziel dieses Tools und des BYOI-Konzepts ist es, das Paradigma wieder hin zu PowerShell-ähnlichen Angriffen zu verschieben (da diese weitaus mehr Flexibilität als traditionelle C#-Methoden bieten), nur ohne jegliche Verwendung von PowerShell.
Zu den Hauptmerkmalen, die SILENTTRINITY auszeichnen, gehören:
Multi-User & Multi-Server – Unterstützt die Zusammenarbeit mehrerer Benutzer. Zudem kann der Client mehrere Teamserver verbinden und steuern.
Client und Teamserver in Python 3.7 – Es werden die neuesten und besten Funktionen der Python-Sprache genutzt; intensiver Einsatz von Asyncio sorgt für extreme Geschwindigkeiten.
Echtzeit-Updates und Kommunikation – Die Verwendung von WebSockets ermöglicht Echtzeit-Kommunikation und -Updates zwischen Client und Teamserver.
Fokus auf Benutzerfreundlichkeit mit einer extrem modernen CLI – Angetrieben von prompt-toolkit.
Dynamische Auswertung/Kompilierung mithilfe von .NET-Skriptsprachen – Das SILENTTRINITY-Implantat Naga ist insofern einzigartig, als es eingebettete .NET-Skriptsprachen von Drittanbietern (z. B. Boolang) verwendet, um Aufgaben dynamisch zu kompilieren/auszuwerten. Dadurch entfällt die Notwendigkeit, Aufgaben serverseitig zu kompilieren, ermöglicht Echtzeit-Bearbeitung von Modulen, bietet mehr Flexibilität und Tarnung als herkömmliche C#-basierte Payloads und macht alles viel leichter.
ECDHE-verschlüsselte C2-Kommunikation – SILENTTRINITY verwendet Ephemeral Elliptic Curve Diffie-Hellman Key Exchange, um den gesamten C2-Datenverkehr zwischen dem Teamserver und seinem Implantat zu verschlüsseln.
Vollständig modular – Listener, Module, Stager und C2-Kanäle sind vollständig modular, sodass Betreiber leicht eigene entwickeln können.
Umfangreiche Protokollierung – Jede Aktion wird in einer Datei protokolliert.
Zukunftssicher – HTTPS/HTTP-Listener basieren auf Quart und Hypercorn, die auch HTTP2 und WebSockets unterstützen.
Aufruf für Beiträge
Ich bin nur eine Person, die dies hauptsächlich in meiner Freizeit entwickelt – ich muss auch ein Leben außerhalb des Computers haben (radikale Idee, ich weiß).
Das bedeutet: Wenn jemand dieses Tool nützlich findet und gerne X-Funktionalität hinzugefügt sähe, ist der beste Weg, diese hinzuzufügen, einen Pull-Request einzureichen.
Sei die Veränderung, die du in der Welt sehen willst!
Zum Zeitpunkt dieses Schreibens das Nützlichste, was du beitragen kannst, sind Post-Ex-Module: Das würde es mir ermöglichen, mich auf das Framework selbst, die Benutzererfahrung, QOL-Features usw. zu konzentrieren.
Dazu wirst du die Programmiersprache Boo lernen müssen (das Boo Wiki ist fantastisch und enthält alles, was du zum Start brauchst). Wenn du Python kennst, wirst du dich sofort wie zu Hause fühlen :).
Schau dir einige der vorhandenen Module an. Wenn du bereits ein Empire-Modul geschrieben hast, wirst du sehen, dass es sehr ähnlich ist.
Schließlich kannst du damit beginnen, Post-Ex-Module aus anderen C2-Frameworks wie Empire zu portieren.
Dokumentation, Einrichtung und grundlegende Nutzung
Die Dokumentation ist noch in Arbeit, aber einiges ist bereits im Wiki verfügbar.
Installationsanweisungen findest du hier und die grundlegende Nutzung hier.
Ich empfehle, den Befehl help und das Flag -h ausgiebig zu nutzen :)
@C_Sto für die Hilfe bei einigen der .NET-ECDHE-Implementierungsdetails und die Bewahrung meiner geistigen Gesundheit.
@davidtavarez für einige erstaunliche Beiträge, einschließlich eines plattformübergreifenden Stagers.
@mcohmi alias daddycocoaman, für die großartige Arbeit und Codebeiträge einschließlich Modulen.
@SkelSec für die fantastische Arbeit an Pypykatz und als allgemeine Inspiration.
@cobbr_io für das Schreiben von SharpSploit, das beim Aufbau eines Großteils des Implantat-Codes und der Module stark als Referenz diente.
@harmj0y für das Schreiben von SeatBelt, das ich gestohlen habe (wird nicht das Letzte sein, was ich von ihm stehle!) und nach Boolang portiert habe, und als allgemeine Inspiration.
@TheWover und Odzhan für das Schreiben von Donut, das von SILENTTRINITY stark genutzt wird.
modexp für die Hilfe bei einer Reihe von Low-Level-Windows-Dingen, die ich eines Tages lernen werde, wenn ich mich entscheide, erwachsen zu werden.
@xpn für einen AMSI-Patch, den ich gestohlen habe, und als allgemeine Inspiration.
@_RastaMouse für einen AMSI-Patch, den ich gestohlen habe, und als allgemeine Inspiration.
@r3dQu1nn für das Schreiben seiner großartigen AggressorScripts; eine ganze Reihe von SILENTTRINITY-Modulen basieren auf diesen Skripten.