Рис. 1.14. Форма смены пароля
На данном этапе больше никаких действий не потребуется, и мы переходим к заключительной части настройки лаборатории.
Установка BloodHound
Для установки BloodHound не требуется сложных действий. Скачаем необходимую версию (на момент подготовки книги к печати 4.3.1) с официального GitHub[7].
Внимание
Более новая версия BloodHound может потребовать новую версию neo4j.
Разархивируем загруженный архив, перейдем в директорию с полученными из архива файлами и запустим >bloodhound.exe
. После запуска приложения появится приглашение для ввода пароля.
Рис. 1.15. Форма аутентификации BloodHound
Можно установить флаг Save Password, чтобы не вводить пароль каждый раз.
02. Знакомство с SharpHound, BloodHound и neo4j
Как говорилось ранее, утилита BloodHound состоит из трех частей: непосредственно сама BloodHound, сборщик данных SharpHound и база данных neo4j. В этой части книги мы рассмотрим интерфейсы этих приложений.
SharpHound
SharpHound – это консольное приложение, написанное на C#. SharpHound собирает информацию об объектах домена через запросы LDAP, а также информацию с хостов, такую как членство в локальных группах и сессиях.
Скачать SharpHound можно на официальном GitHub[8]. Разные версии SharpHound генерируют разные форматы данных в JSON, которые BloodHound не всегда принимает. Для BloodHound версии 4.3.1 подойдет SharpHound 1.1.0 или 1.1.1.
Информация
В исходных кодах BloodHound тоже есть SharpHound, он находится в директории >Collectors
.
Внимание
Стоит упомянуть, что антивирусные решения считают SharpHound вредоносной утилитой.
SharpHound имеет большое количество настроек, которые помогают более гибко собирать информацию с домена и рабочих станций. Не будем останавливаться на всех параметрах запуска утилиты – у нее есть понятная справка, которую можно получить, выполнив команду:
>SharpHound.exe -h
В интернете можно найти различные подсказки по методам запуска и некоторую дополнительную информацию по запросам Cypher. Одна из таких подсказок представлена на рисунке 2.1[9].
Для последующего изучения нам потребуются данные из домена. Поэтому в нашей лаборатории запустим SharpHound на хосте >COMP
от имени доменной учетной записи >admin
, которая входит в группу доменных администраторов. Это позволит собрать всю полезную информацию из домена и хостов (рис. 2.2).
>SharpHound -c All
Рис. 2.1. Подсказка по SharpHound
Рис. 2.2. Результат сбора информации
Внимание
Обновленные операционные системы не позволяют получить информацию о сессиях пользователей (HasSession) и членстве в локальных группах (CanRDP или AdminTo) без прав локального администратора.
К собранной информации вернемся позже, а сейчас рассмотрим интерфейс BloodHound.
Интерфейс BloodHound
После прохождения аутентификации открывается основное окно. Пока данных нет, оно пустое; после загрузки данных BloodHound выполняет запрос, который показывает, какие пользователи входят в группу доменных администраторов.
Интерфейс BloodHound интуитивно понятен. Весь его функционал представлен в одном окне.
Рис. 2.3. Основное окно BloodHound
В левом верхнем углу располагаются форма поиска и информационные вкладки, в правом верхнем углу – меню для настройки интерфейса, загрузки и выгрузки данных. В правом нижнем углу – работа с масштабом, внизу по центру окна располагается форма Raw Query для Cypher-запросов.
В основном поле отображается или узел, или граф на основании запроса Cypher. Узлы можно перемещать по полю. Само поле, узлы и связи имеют контекстное меню, которое можно вызвать правой клавишей мыши.