
SILENTTRINITY
SILENTTRINITY — это современный, асинхронный, многопользовательский и мультисерверный фреймворк C2/постэксплуатации, работающий на Python 3 и DLR от .NET. Он является результатом обширного исследования по использованию встроенных сторонних скриптовых языков .NET для динамического вызова API .NET — техники, которую автор назвал BYOI (Bring Your Own Interpreter). Цель этого инструмента и концепции BYOI — сместить парадигму обратно к атакам в стиле PowerShell (поскольку это даёт гораздо больше гибкости, чем традиционные методы на C#), но без использования PowerShell.
Некоторые из основных функций, отличающих SILENTTRINITY:
- Многопользовательский и мультисерверный — поддержка совместной работы нескольких пользователей. Кроме того, клиент может подключаться и управлять несколькими Teamserver.
- Клиент и Teamserver написаны на Python 3.7 — используются новейшие возможности языка Python, активное использование Asyncio обеспечивает невероятную скорость.
- Обновления и связь в реальном времени — использование WebSocket обеспечивает связь и обновления в реальном времени между клиентом и Teamserver.
- Акцент на удобстве использования с чрезвычайно современным CLI — работает на базе prompt-toolkit.
- Динамическая компиляция/вычисление с помощью скриптовых языков .NET — имплант SILENTTRINITY Naga несколько уникален тем, что использует встроенные сторонние скриптовые языки .NET (например, Boolang) для динамической компиляции/вычисления задач. Это устраняет необходимость компиляции задач на стороне сервера, позволяет редактировать модули в реальном времени, обеспечивает большую гибкость и скрытность по сравнению с традиционными нагрузками на C# и делает всё гораздо более лёгким.
- Шифрование канала связи C2 с помощью ECDHE — SILENTTRINITY использует эфемерный обмен ключами Диффи-Хеллмана на эллиптических кривых для шифрования всего трафика C2 между Teamserver и его имплантом.
- Полностью модульный — слушатели, модули, стагеры и каналы C2 полностью модульны, что позволяет операторам легко создавать свои собственные.
- Обширное логирование — каждое действие записывается в файл.
- Готовность к будущему — слушатели HTTP/HTTPS построены на Quart и Hypercorn, которые также поддерживают HTTP2 и WebSocket.
Призыв к участию
Я всего лишь один человек, разрабатывающий это в основном в свободное время, и у меня должна быть жизнь вне компьютеров (радикальная идея, я знаю).
Это означает, что если кто-то найдёт этот инструмент полезным и хотел бы видеть добавление функциональности X, лучший способ этого добиться — отправить Pull Request.
Будьте тем изменением, которое хотите видеть в мире!
На момент написания наиболее полезный вклад, который вы можете сделать, — это модули постэксплуатации: это позволит мне сосредоточить усилия на самом фреймворке, пользовательском опыте, улучшении качества жизни и т. д.
Для этого вам придётся изучить язык программирования Boo (вики Boo wiki потрясающая и содержит всё необходимое для начала работы); если вы знаете Python, вы почувствуете себя как дома :).
Посмотрите некоторые из существующих модулей; если вы писали модули для Empire раньше, увидите, что это очень похоже.
Наконец, вы можете начать переносить модули постэксплуатации из других C2-фреймворков, таких как Empire.
Документация, установка и базовое использование
Документация находится в разработке, но часть уже доступна в Wiki.
См. здесь инструкции по установке и здесь для базового использования.
Рекомендую активно использовать команду help и флаг -h :)
Автор
Marcello Salvati (@byt3bl33d3r)
Благодарности, участники и невольные участники
(В произвольном порядке)
- @devinmadewell за несколько отличных модулей.
- @RemiEscourrou за несколько отличных модулей.
- @nicolas_dbresse он же @Daudau за огромное количество модулей.
- @C_Sto за помощь с некоторыми деталями реализации ECDHE в .NET и за то, что не дал мне сойти с ума.
- @davidtavarez за невероятные вклады, включая кроссплатформенный стагер.
- @mcohmi он же daddycocoaman, за то, что был крутым и внёс вклад в код, включая модули.
- @SkelSec за отличную работу над Pypykatz и за то, что был вдохновением.
- @cobbr_io за написание SharpSploit, который активно использовался при создании большого количества кода имплантов и модулей.
- @harmj0y за написание SeatBelt, который я украл (и это не последнее, что я у него украду!) и перенёс на Boolang, и за то, что был вдохновением.
- @TheWover и Odzhan за написание Donut, который SILENTTRINITY активно использует.
- modexp за помощь с низкоуровневыми штуками Windows, которые я когда-нибудь выучу, когда решу повзрослеть.
- @xpn за создание AMSI-патча, который я украл, и за то, что был вдохновением.
- @_RastaMouse за создание AMSI-патча, который я украл, и за то, что был вдохновением.
- @r3dQu1nn за написание его потрясающих AggressorScripts; значительная часть модулей SILENTTRINITY основана на этих скриптах.