Bloodhound
Life-Hack - Linux/Хакинг/Хакер/ИБ/OsintBloodHound – это популярный инструмент для сбора и анализа данных при проведении пентеста внутренней инфраструктуры на базе Active Directory. Этот инструмент позволяет визуализировать некорректные настройки объектов AD и строить цепочки атак. Основная его особенность — использование теории графов при анализе данных. BloodHound состоит из трех компонент:
- SharpHound – собирает информацию об объектах Active Directory и формирует данные для загрузки в базу данных (стоит также отметить AzureHound — экспортер данных Azure для BloodHound).
- Neo4j – база данных, которая хранит и обрабатывает информацию. В качестве языка запросов используется Cypher.
- BloodHound – визуализатор данных, написанный на JavaScript и скомпилированный в бинарное приложение (недавно был выпущен BloodHound Community edition).
Вы можете собрать много данных с помощью SharpHound, просто запустив сам двоичный файл без установленных флагов:
С:\> SharpHound.exe
SharpHound автоматически определит, к какому домену принадлежит ваш текущий пользователь, найдет контроллер домена для этого домена и запустит метод сбора «по умолчанию». Метод сбора по умолчанию собирает следующую информацию:
- Domain trusts
- Security group memberships
- Abusable rights on Active Directory objects
- Group Policy links
- OU tree structure
- Several properties from computer, group and user objects
- SQL admin links
Кроме того, SharpHound попытается собрать следующую информацию с каждого компьютера с Windows, присоединенного к домену:
- Участников группы локальных администраторов, удаленного рабочего стола, распределенной модели COM и удаленного управления
- Активные сеансы
Когда все будет готово, SharpHound создаст несколько файлов JSON и поместит их в zip-файл. Перетащите этот zip-файл в графический интерфейс BloodHound, и интерфейс позаботится о слиянии данных с базой данных.
Можно собирать данные для домена из системы, которая не присоединена к этому домену. Для этого выполните следующие действия:
1) Настройте IP-адреса контроллера домена в качестве системного DNS-сервера.
2) Создайте оболочку CMD в качестве пользователя в этом домене с помощью runas и флага /netonly, например:
C:\> runas /netonly /user:CONTOSO\Jeff.Dimmock cmd.exe
Вам будет предложено ввести пароль. Введите пароль и нажмите Enter.
3) Появится новое окно CMD. Если вы введете whoami, вы не увидите имя пользователя, за которого выдаете себя. Это связано с флагом /netonly: экземпляр CMD будет аутентифицироваться как этот пользователь только при аутентификации в других системах по сети, но вы все еще остаетесь тем же пользователем, которым были раньше при локальной аутентификации.
4) Убедитесь, что у вас есть действительная аутентификация в домене:
C:\> net view \\contoso\
Если вы видите папки SYSVOL и NETLOGON, все в порядке.
C:\> SharpHound.exe -d contoso.local
5) Запустите SharpHound, используя флаг -d, чтобы указать домен AD, с которого вы хотите собирать информацию. Вы также можете использовать любые другие флаги по своему усмотрению.
P.S. BloodHound.py позволяет собирать данные для BloodHound удаленно из системы Linux, OSX или Windows, на которой установлен Python. Еще есть замечательная альтернатива удаленного сбора данных с помощью RustHound, написанного на языке Rust.