Существует прекрасный наглядный инструмент, показывающий связи между различными объектами в ActiveDirectory, при помощи которого можно быстро оценить возможность компрометации лакомых кусочков – администраторов домена или схемы, а также выявить уже имеющиеся проколы в безопасности. Инструмент работает практически “из коробки”, что не может не радовать. В данном обзоре мы установим, соберём данные с домена и проверим на практике как работает Bloodhound.
Установка Bloodhound
Имеем на борту установленный Kali Linux (лучше актуальной версии).
$ sudo install bloodhound
После того, как установка будет завершена (чаще всего протекает без каких либо ошибок, если есть соединение с Интернетом и правильно прописаны репозитории), запустим консоль neo4j:
$ sudo neo4j console
В ходе запуска появляется следующая подсказка – удалённый интерфейс управления доступен по адресу: http://localhost:7474/. Пройти можно через имеющийся в Kali браузер.
От нас потребуется указать (сменить) имя пользователя и пароль при подключении к базе данных. Оставлю “neo4j:neo4j”.
Больше тут делать нечего. Теперь в другом окне запускаем сам непосредственно bloodhound:
$ bloodhound
Логинимся и попадаем на рабочий стол приложения.
В базе пусто. Теперь надо загрузить сюда данные с ActiveDirectory.
Собираем данные о домене
Нам понадобится сборщик данных (collector) и учётная запись пользователя домена.
- Коллектор качать тут: https://github.com/BloodHoundAD/BloodHound/tree/master/Collectors
- Учётную запись домена брать… Хе. Сгодится любая, даже пользовательская. Способы добычи валидных учёток различны, как вариант – прослушать responder-ом и сбрутить NetNTLMv2-хеш. Ну или подсмотреть. Или сбрутить по SMB… или найти файлик. Или ещё что угодно.
Итак, мы скачали collector (sharphound), теперь запустим его от имени пользователя домена. Причём сделать это можно и с узла, не входящего в исследуемый домен:
Запускаем командную строку от имени Администратора и выполняем следующую команду:
runas /netonly /user:домен\логин cmd.exe
Потребуется ввести пароль пользователя
Если учётные данные верны, мы увидим новый сеанс командной строки, в заголовке которого будет значится имя нашего юзера:
Затем запускам в этом сеансе наш коллектор, указав имя домена.
Важно отметить, у нас должен быть прописан DNS этого домена, чтобы отрезолвить его по имени.
sharpdound.exe -d имя_домена
Когда сбор данных будет завершён – мы увидим архив с соответствующим именем – указан в выводе программы. Этот архив нам и нужно импортировать в Bloodhound.
Что получаем
Нажимаем кнопку “Upload Data” в Bloodhound
Выбираем архив, созданный на предыдущем этапе, открываете.
Процесс импорта.
Когда импорт будет завершён – можно перейти на вкладку “Analysis” и выбрать уже заготовленные шаблончики. Попробуем “Find Shortest Paths to Domain Admins” – Поиск кратчайшего пути до доменного администратора.
Автоматически построился соответствующий граф. При внимательном рассмотрении можно найти что-нибудь интересненькое. Вот например, сходу обнаружился пользователь ****USER9 входящий в группу Администраторов домена. Причём пока непонятно, это misconfig или умышленно оставлено. Но по крайней мере у него может оказаться слабый пароль и, в конечном итоге, это ещё + одна цель для атаки на пользователя.
В Bloodhound есть множество заготовленных скриптов и аналитики. Можно создавать свои графы и отмечать узлы как важные, как цели. Искать новые пути для достижения цели – захвату домена.
Наглядно. Инструмент однозначно будет полезен как администратору, так и пентестеру. Что думаете? Отпишите в коммент.
Прошу обратить внимание на одну из предыдущих статей:
Comments: