
Асинхронный инструмент для перебора паролей (Password Spraying) на C# для сред Windows
SharpHose — это инструмент для атаки методом перебора паролей (password spraying) на C#, созданный для быстрой, безопасной и удобной работы через execute-assembly Cobalt Strike. Он обеспечивает гибкий способ взаимодействия с Active Directory как в контексте присоединения к домену, так и без него, а также позволяет нацеливаться на конкретные домены и контроллеры домена. SharpHose учитывает политику паролей домена, включая детализированные политики паролей, чтобы избежать блокировки учётных записей. Детализированные политики паролей перечисляются для пользователей и групп, к которым они применяются. Если политика также применяется к группам, то участники групп фиксируются. Затем все включённые пользователи домена классифицируются в соответствии с их политиками паролей в порядке приоритета и помечаются как безопасные или небезопасные. Оставшиеся пользователи фильтруются по дополнительному списку исключений, предоставленному пользователем.
Помимо перебора (spraying), операторы Red Team могут просматривать все политики паролей для домена, всех пользователей, на которых влияет политика, или просто просматривать включённых пользователей домена. Вывод может быть направлен непосредственно в консоль или в указанную пользователем выходную папку.
Следите за мной в Twitter — скоро выйдут новые инструменты! @ustayready
Сопла (Nozzles) — это встроенные методы перебора. Хотя в настоящее время поддерживается только одно сопло (LDAP), оно написано таким образом, что его легко расширить.
Сопло для атаки на Active Directory через протокол LDAP
Пользователи Cobalt Strike
Обязательно используйте --auto, чтобы избежать интерактивных запросов в SharpHose. Также подготовьте аргументы локально, чтобы прочитать описание перед запуском. Если вы не передадите никаких аргументов через execute-assembly, SharpHose выдаст исключение 'Missing Argument Exception', и Cobalt Strike не вернет никакого вывода. Вы узнаете об этом, когда увидите [-] Invoke_3 on EntryPoint failed. В будущем это будет исправлено.
Атака с присоединением к домену без взаимодействия SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto
Атака с присоединением к домену с исключениями SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --exclude c:\temp\exclusion_list.txt
Атака без присоединения к домену SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --domain lab.local --username demo --password DemoThePlanet --output c:\temp\
Просмотр политик с присоединением к домену Active Directory хранит длительности в виде отрицательных больших целых чисел, которые должны истечь после превышения последнего lockoutThreshold. В будущих версиях это будет отформатировано аккуратнее. SharpHose.exe --action GET_POLICIES --output c:\temp\
Просмотр пользователей политик с присоединением к домену SharpHose.exe --action GET_POLICY_USERS --policy lab --output c:\temp\
Просмотр всех пользователей с присоединением к домену SharpHose.exe --action GET_ENABLED_USERS --output c:\temp\
Атака с присоединением к домену через Cobalt Strike execute-assembly /path/to/SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto