
SILENTTRINITY
SILENTTRINITY es un framework moderno, asíncrono, multijugador y multiserver de C2/post-explotación impulsado por Python 3 y el DLR de .NET. Es la culminación de una extensa investigación sobre el uso de lenguajes de scripting .NET de terceros embebidos para invocar dinámicamente las API de .NET, técnica que el autor denominó BYOI (Bring Your Own Interpreter). El objetivo de esta herramienta y del concepto BYOI es desplazar el paradigma de nuevo hacia ataques al estilo de PowerShell (ya que ofrece mucha más flexibilidad que las técnicas tradicionales en C#), solo que sin usar PowerShell de ninguna manera.
Algunas de las principales características que distinguen a SILENTTRINITY son:
- Multiusuario y Multiserver - Admite colaboración multiusuario. Además, el cliente puede conectarse y controlar múltiples Teamservers.
- Cliente y Teamserver construidos en Python 3.7 - Se utilizan las características más recientes y avanzadas de Python, con un uso intensivo de Asyncio para ofrecer velocidades increíbles.
- Actualizaciones y comunicación en tiempo real - El uso de Websockets permite la comunicación y actualizaciones en tiempo real entre el Cliente y el Teamserver.
- Enfoque en la usabilidad con una CLI extremadamente moderna - Impulsado por prompt-toolkit.
- Evaluación/Compilación dinámica usando lenguajes de scripting .NET - El implante de SILENTTRINITY, Naga, es algo único ya que utiliza lenguajes de scripting .NET de terceros embebidos (por ejemplo, Boolang) para compilar/evaluar tareas dinámicamente, lo que elimina la necesidad de compilar tareas del lado del servidor, permite editar módulos en tiempo real, proporciona mayor flexibilidad y sigilo que las cargas útiles tradicionales basadas en C# y hace que todo sea mucho más ligero.
- Comunicación C2 cifrada con ECDHE - SILENTTRINITY utiliza el intercambio de claves Diffie-Hellman de curva elíptica efímera (ECDHE) para cifrar todo el tráfico C2 entre el Teamserver y su implante.
- Totalmente modular - Los Listeners, Modules, Stagers y C2 Channels son completamente modulares, lo que permite a los operadores construir fácilmente los suyos propios.
- Registro extenso - Cada acción se registra en un archivo.
- A prueba de futuro - Los listeners HTTPS/HTTP están construidos sobre Quart y Hypercorn, que también admiten HTTP2 y Websockets.
Llamado a contribuciones
Soy una sola persona desarrollando esto principalmente en mi tiempo libre; necesito tener una vida fuera de las computadoras (idea radical, lo sé).
Esto significa que si alguien encuentra útil esta herramienta y le gustaría ver agregada la funcionalidad X, la mejor manera de lograrlo es enviar un Pull Request.
¡Sé el cambio que quieres ver en el mundo!
Al momento de escribir esto, lo más útil que puedes contribuir son módulos de post-explotación: esto me permitiría concentrar esfuerzos en el framework en sí, la experiencia de usuario, características de calidad de vida, etc.
Para hacerlo, tendrás que aprender el lenguaje de programación Boo (la wiki de Boo es increíble y tiene todo lo que necesitas para comenzar); si sabes Python, te sentirás como en casa :).
Echa un vistazo a algunos de los módulos existentes; si has escrito un módulo de Empire antes, verás que es muy similar.
Finalmente, puedes empezar a portar módulos de post-explotación de otros frameworks C2 como Empire.
Documentación, configuración y uso básico
La documentación está en progreso, pero ya hay algo disponible en la Wiki.
Mira aquí las instrucciones de instalación y aquí para el uso básico.
Recomiendo hacer un uso abundante del comando help y el flag -h :)
Autor
Marcello Salvati (@byt3bl33d3r)
Agradecimientos, contribuyentes y contribuyentes involuntarios
(Sin orden particular)
- @devinmadewell por algunos módulos increíbles.
- @RemiEscourrou por algunos módulos increíbles.
- @nicolas_dbresse alias @Daudau por contribuir una cantidad enorme de módulos.
- @C_Sto por ayudarme con algunos detalles de la implementación de .NET ECDHE y mantener mi cordura.
- @davidtavarez por hacer contribuciones increíbles, incluido un stager multiplataforma.
- @mcohmi alias daddycocoaman, por ser increíble y hacer contribuciones de código, incluidos módulos.
- @SkelSec por el increíble trabajo en Pypykatz y por ser una inspiración en general.
- @cobbr_io por escribir SharpSploit, que se usó intensamente como referencia durante la construcción de gran parte del código del implante y los módulos.
- @harmj0y por escribir SeatBelt que robé (¡no será lo último que le robe!) y porté a Boolang, y por ser una inspiración en general.
- @TheWover y Odzhan por escribir Donut, del cual SILENTTRINITY hace un uso intensivo.
- modexp por ayudarme con un montón de cosas de bajo nivel de Windows que algún día aprenderé cuando decida crecer.
- @xpn por hacer un parche de AMSI que robé y por ser una inspiración en general.
- @_RastaMouse por hacer un parche de AMSI que robé y por ser una inspiración en general.
- @r3dQu1nn por escribir sus increíbles ; una cantidad considerable de módulos de SILENTTRINITY están basados en esos scripts.