Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Идём по киберследу : анализ защищенности Active Directory c помощью утилиты BloodHound

Покупка
Новинка
Основная коллекция
Артикул: 857390.01.99
Доступ онлайн
300 ₽
В корзину
Представьте, что вы можете видеть невидимые связи в вашей инфраструктуре Active Directory, выявлять сложные последовательности атак и устранять их до того, как они приведут к инцидентам. Утилита BloodHound делает это реальностью! В этой книге вы познакомитесь с мощным инструментом, который использует графовую базу данных neo4j и язык запросов Cypher, чтобы дать вам полный контроль над вашей системой безопасности. С помощью этой книги вы сможете освоить интерфейсы BloodHound и расширять его функционал для решения специфических задач вашей организации, научитесь писать эффективные запросы на языке Cypher для выявления скрытой опасности, визуализировать все опасные связи между объектами Active Directory и планировать действия по их устранению. Не важно, специалист вы по безопасности, аудитор или участник Red Team, эта книга даст вам все необходимые знания для проведения глубокого анализа защищенности Active Directory и выявления потенциальных атак.
Неверов, Д. Идём по киберследу : анализ защищенности Active Directory c помощью утилиты BloodHound : практическое руководство / Д. Неверов. - Москва : Альпина ПРО, 2025. - 304 с. - ISBN 978-5-206-00398-7. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2206535 (дата обращения: 19.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
ISBN 978-5-206-00398-7
© Неверов Д., 2024
© Оформление . ООО «Альпина ПРО», 2025
УДК 004.9
ББК 16.8
 
Н44
Редактор  Е Я
Неверов Д.
Н4 4 Ид ём по киберследу :  Анализ защищенности Active Directory c помощью утилиты BloodHound / Дмитрий Неверов. — М. : Альпина ПРО, 202 5. — 298 с.
ISBN 978-5-206-00398-7
Представьте, что вы можете видеть невидимые связи в вашей инфраструктуре Active 
Directory, выявлять сложные последовательности атак и устранять их до того, как они 
приведут к инцидентам. Утилита BloodHound делает это реальностью! В этой книге вы 
познакомитесь с мощным инструментом, который использует графовую базу данных neo4j 
и язык запросов Cypher, чтобы дать вам полный контроль над вашей системой безопасности.
С помощью этой книги вы сможете освоить интерфейсы BloodHound и расширять его 
функционал для решения специфических задач вашей организации, научитесь писать 
эффективные запросы на языке Cypher для выявления скрытой опасности, визуализировать все опасные связи между объектами Active Directory и планировать действия 
по их устранению.
Не важно, специалист вы по безопасности, аудитор или участник Red Team, эта книга даст 
вам все необходимые знания для проведения глубокого анализа защищенности Active 
Directory и выявления потенциальных атак.
УДК  004.9
ББК  16.8
Все права защищены. Никакая часть этой книги не может быть воспроизведена в какой бы то 
ни было форме и какими бы то ни было сред ствами, включая размещение в интернете и в корпоративных сетях, а также запись в память ЭВМ для частного или публичного использования, 
без письменного разрешения владельца авторских прав. По вопросу организации доступа к электронной библиотеке издательства обращайтесь по адресу mylib@alpina.ru.


СОДЕРЖАНИЕ
Вступление  
 5
01
Общая информация и настройка лаборатории  
 6
Что такое BloodHound  
 8
Область применения  
 8
Настройка лаборатории  
 8
Установка neo4j  
 14
Установка BloodHound  
 20
02
Знакомство с SharpHound, BloodHound и neo4j  
 22
SharpHound  
 24
Интерфейс BloodHound  
 26
База данных neo4j  
 44
03
Дрессируем собаку. Язык запросов Cypher  
 58
Основные принципы  
 60
Оператор MATCH  
 63
Оператор OPTIONAL MATCH  
 68
Условия фильтрации запросов  
 70
 Оператор RETURN  
 76
Оператор WITH  
 81
Добавление и изменение свой ств  
 82
Работа со списками  
 86
Условие «если… то»  
 98
Работа со временем  
 99
Функции для работы со строками  
 102
Создание и удаление узлов и связей  
 107
Загрузка информации в базу данных  
 115


Загрузка данных через CSV-файл  
 116
Создание утилиты для загрузки данных  
 119
04
Учим старую собаку новым трюкам  
 124
Настройка окружения и проверка сборки  
 126
Изменение информации о программе (About)  
 129
Изменение запроса в Shortest Path from Owned Principals  
 130
Добавление собственных запросов  
 131
Локальная учетная запись с правами администратора  
 136
Повторно используемые пароли  
 161
Доступность хостов  
 167
Разбор inf-файлов в групповых политиках  
 177
Добавление атрибутов с правами WriteProperty  
 194
Общие файловые ресурсы  
 209
Центр сертификации  
 230
Вместо заключения  
 297


ВСТУПЛЕНИЕ
Утилита BloodHound —  популярный инструмент для проведения оценки 
защищенности Active Directory. BloodHound использует графовую базу 
данных neo4j и язык запросов Cypher, что позволяет увидеть небезопасные 
связи между объектами, которые  не очевидны при обычном линейном рассмотрении. В книге приводятся интерфейсы BloodHound и базы данных 
neo4j. Также мы знакомимся с языком запросов Cypher на реальных примерах, а в завершение рассматриваем, как можно расширить функционал 
BloodHound, чтобы повысить эффективность утилиты.


ГЛАВА 1. Общая информация и настройка лаборатории
6
ОБЩАЯ ИНФОРМАЦИЯ 
И НАСТРОЙКА ЛАБОРАТОРИИ
Г Л А В А


Любой проект начинается со сбора и анализа информации, и проекты по наступательной безопасности не  исключение. Можно сказать, 
что это один из самых важных этапов проекта: качество собранной 
информации позволит эффективно выполнить поставленные задачи 
и уменьшить количество потраченного времени.
В результате сбора информации мы получаем большой объем 
данных, который необходимо изучить и извлечь важное содержание. В линейных строковых данных не всегда можно эффективно 
определить связи между двумя объектами. Визуализация данных 
в виде графов помогает определить связь между двумя объектами 
и показать причину возникновения этой связи. Также графы помогают определить дальнейшие шаги при выполнении работ.
Графы можно рисовать на бумаге или в приложениях (например, 
visio), но при использовании этого метода могут быть упущены 
некоторые связи. Существуют инструменты, которые на основе 
полученных данных могут показать связи между объектами, даже 
если эти связи на первый взгляд неочевидны.  Среди них Adelante 1, 
Ping Castle2 и BloodHound 3. Именно о BloodHound эта книга.
1 hƩps://github.com/Seyaji/adelante .
2 hƩps://github.com/vletoux/pingcastle .
3 hƩps://github.com/BloodHoundAD/BloodHound .


ГЛАВА 1. Общая информация и настройка лаборатории
8
Что такое BloodHound
BloodHound состоит из трех элементов:
1. BloodHound —  это одностраничное веб-приложение, написанное на Java 
Script; при создании приложения используется Linkurious. Для компиляции используется Electron.
2.  Neo4j —  база данных для хранения информации, в которой используется язык запросов Cypher.
3. SharpHound —  сборщик информации из Active Directory.
BloodHound использует теорию графов, чтобы показать скрытые и часто 
непреднамеренные связи в среде Active Directory или Azure.
Область применения
Наступательная безопасность: специалисты по информационной безопасности могут использовать BloodHound для обнаружения очень сложных 
последовательностей атак, которые обычным способом невозможно быстро 
обнаружить.
Кроме наступательной безопасности этот инструмент может использоваться и в других областях для обеспечения безопасности, например:
• Защитники могут использовать BloodHound для выявления и устранения тех же последовательностей атак.
• Специалисты по реагированию на инциденты могут использовать 
BloodHound для проведения расследований и выявления причин инцидента.
• Аудиторы могут проводить проверки на соответствие стандартам безопасности.
• Утилита BloodHound будет полезна во время стратегических и тактических игр, когда любой сценарий можно визуализировать и пошагово разобрать.
Настройка лаборатории
Материал в книге подготовлен с использованием среды Windows. Для 
сбора дополнительной информации используются скрипты, написанные 
на Powershell, который установлен по умолчанию на Windows и имеет достаточный набор функций для работы с доменом, файловой системой и т. д.


Настройка лаборатории
9
Для изучения материала потребуется тестовый стенд с Active Directory, 
а также машина, на которой будут анализироваться данные и добавляться 
функционал к самому BloodHound. В книге домен называется DOMAIN.
LOCAL, но это не имеет большого значения, самое главное —  менять имя 
домена на свое при выполнении запросов.
Минимальные требования к стенду —  это контроллер домена и компьютер для аналитики и разработки. Для удобства сбора информации 
и анализа данных машину для BloodHound можно ввести в домен. Наименование машин будет следующим:
• DC —  контроллер домена, Windows Server 2019;
• COMP —  рабочая станция для BloodHound, Windows 10/11.
Если мощности позволят, необходимо создать еще одну виртуальную машину и добавить ее в домен. Если мощностей нет —  тогда просто 
создать еще один объект, компьютер:
• SERVER —  просто сервер, Windows Server 2019.
Установка Active Directory
В первую очередь для установки Active Directory на сервере, который будет 
являться контроллером домена, необходимо поменять имя на DC и установить статический адрес.
Рис. 1.1. Установка статического адреса для контроллера домена


ГЛАВА 1. Общая информация и настройка лаборатории
10
Запускаем Server Manager и выбираем Add roles and features. Следуем 
за мастером добавления новой роли. Нажимаем кнопку Next. Предложенные по умолчанию настройки нас будут устраивать, поэтому нажимаем 
кнопку Next до тех пор, пока не появится окно Select server roles.
Выбираем следующие роли:
• Active Directory Domain Service;
• DNS Server.
 Рис. 1.2. Выбор ролей
Далее нажимаем кнопку Next до самого конца, пока кнопка Install не станет активной, и нажимаем на нее (рис. 1.3)
После установки нажимаем на кнопку Close. В верхнем правом углу появился желтый восклицательный знак, который указывает нам, что роли требуют завершения настройки (рис. 1.4).
Нажимаем на ссылку Promote this server to a domain controller. Появляется окно с выбором, куда добавить контроллер домена. Так как у нас 
ничего нет, выбираем Add a new forest и вводим имя домена domain.
local (рис. 1.5).
В следующем окне оставляем все по умолчанию и вводим пароль для 
восстановления (рис. 1.6).


Рис. 1.3. Подтверждение установки Active Directory
Рис. 1.4. Завершение установки Active Directory


Похожие

Доступ онлайн
300 ₽
В корзину