Знак информационной продукции (Федеральный закон № 436-ФЗ от 29.12.2010 г.)
Редактор: Евгения Якимова
Руководитель проекта: Анна Туровская
Арт-директор: Татевик Саркисян
Корректоры: Наташа Казакова, Елена Сербина
Верстка: Белла Руссо
Все права защищены. Данная электронная книга предназначена исключительно для частного использования в личных (некоммерческих) целях. Электронная книга, ее части, фрагменты и элементы, включая текст, изображения и иное, не подлежат копированию и любому другому использованию без разрешения правообладателя. В частности, запрещено такое использование, в результате которого электронная книга, ее часть, фрагмент или элемент станут доступными ограниченному или неопределенному кругу лиц, в том числе посредством сети интернет, независимо от того, будет предоставляться доступ за плату или безвозмездно.
Копирование, воспроизведение и иное использование электронной книги, ее частей, фрагментов и элементов, выходящее за пределы частного использования в личных (некоммерческих) целях, без согласия правообладателя является незаконным и влечет уголовную, административную и гражданскую ответственность.
© Неверов Д., 2024
© Оформление. ООО «Альпина ПРО», 2025
Вступление
Утилита BloodHound – популярный инструмент для проведения оценки защищенности Active Directory. BloodHound использует графовую базу данных neo4j и язык запросов Cypher, что позволяет увидеть небезопасные связи между объектами, которые не очевидны при обычном линейном рассмотрении. В книге приводятся интерфейсы BloodHound и базы данных neo4j. Также мы знакомимся с языком запросов Cypher на реальных примерах, а в завершение рассматриваем, как можно расширить функционал BloodHound, чтобы повысить эффективность утилиты.
01. Общая информация и настройка лаборатории
Любой проект начинается со сбора и анализа информации, и проекты по наступательной безопасности не исключение. Можно сказать, что это один из самых важных этапов проекта: качество собранной информации позволит эффективно выполнить поставленные задачи и уменьшить количество потраченного времени.
В результате сбора информации мы получаем большой объем данных, который необходимо изучить и извлечь важное содержание. В линейных строковых данных не всегда можно эффективно определить связи между двумя объектами. Визуализация данных в виде графов помогает определить связь между двумя объектами и показать причину возникновения этой связи. Также графы помогают определить дальнейшие шаги при выполнении работ.
Графы можно рисовать на бумаге или в приложениях (например, visio), но при использовании этого метода могут быть упущены некоторые связи. Существуют инструменты, которые на основе полученных данных могут показать связи между объектами, даже если эти связи на первый взгляд неочевидны. Среди них Adelante[1], Ping Castle[2] и BloodHound[3]. Именно о BloodHound эта книга.
Что такое 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 и имеет достаточный набор функций для работы с доменом, файловой системой и т. д.
Для изучения материала потребуется тестовый стенд с Active Directory, а также машина, на которой будут анализироваться данные и добавляться функционал к самому BloodHound. В книге домен называется DOMAIN.LOCAL
, но это не имеет большого значения, самое главное – менять имя домена на свое при выполнении запросов.
Минимальные требования к стенду – это контроллер домена и компьютер для аналитики и разработки. Для удобства сбора информации и анализа данных машину для BloodHound можно ввести в домен. Наименование машин будет следующим:
● DC
– контроллер домена, Windows Server 2019;
● COMP
– рабочая станция для BloodHound, Windows 10/11.
Если мощности позволят, необходимо создать еще одну виртуальную машину и добавить ее в домен. Если мощностей нет – тогда просто создать еще один объект, компьютер:
● SERVER
– просто сервер, Windows Server 2019.
В первую очередь для установки Active Directory на сервере, который будет являться контроллером домена, необходимо поменять имя на DC
и установить статический адрес.
Рис. 1.1. Установка статического адреса для контроллера домена
Запускаем Server Manager и выбираем Add roles and features. Следуем за мастером добавления новой роли. Нажимаем кнопку Next. Предложенные по умолчанию настройки нас будут устраивать, поэтому нажимаем кнопку Next до тех пор, пока не появится окно Select server roles.
Выбираем следующие роли:
● Active Directory Domain Service;
● DNS Server.