
SILENTTRINITY
SILENTTRINITY est un framework C2/post-exploitation moderne, asynchrone, multijoueur et multiserveur alimenté par Python 3 et le DLR de .NET. C'est l'aboutissement d'une quantité importante de recherches sur l'utilisation de langages de script .NET tiers intégrés pour appeler dynamiquement les API .NET, une technique que l'auteur a baptisée BYOI (Apportez votre propre interpréteur). L'objectif de cet outil et du concept BYOI est de faire revenir le paradigme vers des attaques de type PowerShell (car il offre beaucoup plus de flexibilité que les techniques traditionnelles en C#) mais sans utiliser PowerShell d'aucune manière.
Parmi les principales fonctionnalités qui distinguent SILENTTRINITY, on trouve :
- Multi-Utilisateur & Multi-Serveur - Prend en charge la collaboration multi-utilisateur. De plus, le client peut se connecter et contrôler plusieurs Teamservers.
- Client et Teamserver construits en Python 3.7 - Les fonctionnalités les plus récentes du langage Python sont utilisées, l'utilisation intensive d'Asyncio offre des vitesses phénoménales.
- Mises à jour et communication en temps réel - L'utilisation de Websockets permet une communication et des mises à jour en temps réel entre le Client et le Teamserver.
- Accent sur la convivialité avec une CLI extrêmement moderne - Alimenté par prompt-toolkit.
- Évaluation/Compilation dynamique à l'aide de langages de script .NET - L'implant SILENTTRINITY Naga est quelque peu unique car il utilise des langages de script .NET tiers intégrés (par exemple Boolang) pour compiler/évaluer dynamiquement des tâches, cela élimine le besoin de compiler les tâches côté serveur, permet la modification en temps réel des modules, offre une plus grande flexibilité et furtivité que les charges utiles traditionnelles basées sur C# et rend le tout beaucoup plus léger.
- Communication C2 chiffrée par ECDHE - SILENTTRINITY utilise l'échange de clés éphémères Diffie-Hellman sur courbe elliptique pour chiffrer tout le trafic C2 entre le Teamserver et son implant.
- Entièrement modulaire - Les écouteurs, modules, stagers et canaux C2 sont entièrement modulaires, permettant aux opérateurs de construire facilement les leurs.
- Journalisation extensive - Chaque action est enregistrée dans un fichier.
- Pérenne - Les écouteurs HTTPS/HTTP sont construits sur Quart et Hypercorn qui supportent également HTTP2 et Websockets.
Appel à contributions
Je suis juste une personne qui développe cela principalement sur mon temps libre, j'ai besoin d'avoir une vie en dehors des ordinateurs (idée radicale, je sais).
Cela signifie que si quelqu'un trouve cet outil utile et souhaite voir une fonctionnalité X ajoutée, la meilleure façon de l'obtenir est de soumettre une Pull Request.
Soyez le changement que vous voulez voir dans le monde !
Au moment de la rédaction, la chose la plus utile que vous puissiez contribuer sont les modules post-exploitation : cela me permettrait de concentrer mes efforts sur le framework lui-même, l'expérience utilisateur, les fonctionnalités de qualité de vie, etc...
Pour ce faire, vous allez devoir apprendre le langage de programmation Boo (le wiki de Boo est génial et contient tout ce dont vous avez besoin pour commencer), si vous connaissez Python, vous vous sentirez chez vous :).
Jetez un œil à certains des modules existants, si vous avez déjà écrit un module Empire, vous verrez que c'est très similaire.
Enfin, vous pouvez commencer à porter des modules post-exploitation d'autres frameworks C2 comme Empire.
Documentation, Installation et Utilisation de base
La documentation est en cours d'élaboration mais une partie est déjà disponible dans le Wiki.
Voir ici pour les instructions d'installation et ici pour l'utilisation de base.
Je recommande d'utiliser largement la commande help et le drapeau -h :)
Auteur
Marcello Salvati (@byt3bl33d3r)
Remerciements, Contributeurs et Contributeurs involontaires
(Sans ordre particulier)
- @devinmadewell pour des modules géniaux.
- @RemiEscourrou pour des modules géniaux.
- @nicolas_dbresse alias @Daudau pour avoir contribué une quantité phénoménale de modules.
- @C_Sto pour m'avoir aidé avec certains détails de l'implémentation ECDHE .NET et pour avoir préservé ma santé mentale.
- @davidtavarez pour d'incroyables contributions, y compris un stager multiplateforme.
- @mcohmi alias daddycocoaman, pour être génial et avoir contribué du code, y compris des modules.
- @SkelSec pour l'incroyable travail sur Pypykatz et pour être une inspiration générale.
- @cobbr_io pour avoir écrit SharpSploit qui a été largement utilisé comme référence tout au long de la construction de nombreux codes et modules d'implant.
- @harmj0y pour avoir écrit SeatBelt que j'ai volé (ce ne sera pas la moindre chose que je lui volerai!) et porté vers Boolang, et pour être une inspiration générale.
- @TheWover & Odzhan pour avoir écrit Donut dont SILENTTRINITY fait un usage intensif.
- modexp pour m'avoir aidé avec un tas de trucs bas niveau Windows que j'apprendrai un jour quand je déciderai de grandir.
- @xpn pour avoir fabriqué un patch AMSI que j'ai volé et pour être une inspiration générale.
- @_RastaMouse pour avoir fabriqué un patch AMSI que j'ai volé et pour être une inspiration générale.
- @r3dQu1nn pour avoir écrit ses géniaux , une bonne partie des modules SILENTTRINITY sont basés sur ces scripts.