BloodHound
Построение карты путей атаки
«BloodHound» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.
Что такое BloodHound?
BloodHound — инструмент, который представляет связи в Active Directory в виде графа. Он показывает скрытые пути атаки от пользователя с низкими привилегиями к важным целям, таким как Domain Admin.
То, что люди не замечают в сложных переплетениях разрешений, BloodHound находит с помощью теории графов.
Узлы и связи
BloodHound представляет AD в виде узлов (пользователи, группы, компьютеры, OU, GPO), соединенных связями (отношениями).
Связи представляют такие права, как MemberOf, AdminTo, HasSession или GenericAll. Цепочка связей образует путь атаки.
Сборщик: SharpHound
SharpHound — сборщик данных. Запущенный из контекста компьютера, присоединенного к домену, он запрашивает LDAP и другие источники, собирая объекты, членство в группах, сеансы и списки ACL.
Он создает файлы JSON (в архиве), которые затем импортируются в интерфейс BloodHound.
SharpHound.exe -c All --zipfilename loot.zipМетоды сбора
SharpHound поддерживает несколько методов сбора через -c:
- Group: членство в группах.
- Session: кто и где вошел в систему.
- ACL: разрешения объектов.
- All: все данные (больше шума, но полнее).
Шумный сбор данных повышает риск обнаружения, поэтому злоумышленники могут выполнять его поэтапно или ограничивать область сбора.
Сбор с помощью Python и удаленно
Если Вы не можете запустить SharpHound в Windows, bloodhound-python собирает данные удаленно через LDAP с использованием учетных данных домена.
Это особенно удобно при работе с атакующей машиной Linux во время теста на проникновение по сценарию предполагаемого взлома.
bloodhound-python -u lowuser -p Password1 -d corp.local -ns 10.0.0.10 -c AllИмпорт данных
BloodHound использует графовую базу данных Neo4j в качестве серверной части. Вы запускаете Neo4j, входите в GUI BloodHound и перетаскиваете собранный архив в интерфейс для импорта.
После импорта можно выполнять готовые запросы или писать собственные на Cypher.
Готовые аналитические запросы
BloodHound поставляется с мощными готовыми запросами, например:
- Кратчайшие пути к Domain Admins.
- Поиск субъектов с правами DCSync.
- Учетные записи, уязвимые для Kerberoasting.
Если отметить текущего пользователя как «Owned», BloodHound сможет вычислять пути, начинающиеся с объектов, которые Вы контролируете.
Чтение путей атаки
Путь атаки может выглядеть так: Ваш пользователь входит в группу, имеющую GenericAll для другого пользователя, который обладает AdminTo на сервере, где есть сеанс Domain Admin.
Каждая связь сообщает точный метод, необходимый для следующего перехода, превращая граф в пошаговый план.
Опасные связи ACL
К числу наиболее часто используемых злоумышленниками относятся права на основе ACL:
- GenericAll / GenericWrite: полный или широкий доступ на запись к объекту.
- WriteDacl / WriteOwner: получение контроля над разрешениями объекта.
- ForceChangePassword: сброс пароля цели.
Они позволяют повысить привилегии, не взламывая хеш.
Запросы Cypher
Для пользовательского анализа можно писать запросы на Cypher — языке запросов Neo4j. Это позволяет искать определенные условия, которые не охватываются встроенными запросами.
Например, можно найти всех пользователей, имеющих путь к важному серверу.
MATCH p=shortestPath((u:User {owned:true})-[*1..]->(g:Group {name:'DOMAIN ADMINS@CORP.LOCAL'})) RETURN pИспользование для защиты
BloodHound предназначен не только для злоумышленников. Защитники запускают его для аудита собственного AD, поиска непреднамеренных путей атаки и удаления опасных разрешений до того, как ими воспользуются злоумышленники.
Усиление ACL, удаление устаревших прав администратора и ограничение видимости сеансов — все это уменьшает граф, по которому может перемещаться злоумышленник.
Быстрая проверка
Вспомните роль SharpHound.
Повторение
Теперь Вы понимаете принцип работы BloodHound:
- Он представляет AD в виде графа из узлов и связей между отношениями.
- SharpHound (или bloodhound-python) собирает данные в GUI на основе Neo4j.
- Готовые запросы и запросы на Cypher показывают кратчайшие пути к Domain Admin.
- Связи ACL, такие как GenericAll и WriteDacl, позволяют повысить привилегии без взлома.
Вы завершили курс по атакам на Active Directory.
Часто задаваемые вопросы
Урок «BloodHound» бесплатный?
Да — полный текст урока «BloodHound» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.
Чему я научусь в уроке «BloodHound»?
Построение карты путей атаки Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?
Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «BloodHound»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?
Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы AD
- Kerberoasting
- Pass-the-Hash
- BloodHound