Инструмент анализа Active Directory BloodHound

«Главная опасность в Active Directory не в сложных уязвимостях ядра, а в простом накоплении прав доступа, которое десятилетиями оставалось невидимым. BloodHound делает эти скрытые, но легитимные пути власти доступными для анализа, превращая теоретическую эскалацию в наглядную карту.»

BloodHound — Анализ зависимостей в Active Directory

Active Directory (AD) — это фундаментальная служба каталогов Microsoft, на которой построено большинство корпоративных сетей. Она управляет всеми объектами: пользователями, компьютерами, группами, политиками безопасности. Сама по себе AD не «уязвима» — уязвима её конфигурация, которая со временем обрастает избыточными правами и неочевидными связями.

BloodHound — это не просто сканер уязвимостей. Это инструмент графового анализа, который раскрывает реальную архитектуру прав и зависимостей в AD. Он отвечает на вопрос, который традиционные методы задать не могут: «Как самый обычный пользователь может, шаг за шагом, получить полный контроль над доменом, используя лишь легитимные возможности системы?»

Инструмент имеет двойное применение. Команды безопасности используют его для упреждающего аудита, чтобы найти и ликвидировать опасные цепочки до того, как это сделает злоумышленник. Специалисты по тестированию на проникновение применяют его, уже находясь внутри сети, для построения маршрута к ключевым активам. Непонимание принципов работы BloodHound сегодня равносильно слепоте в вопросах безопасности доменной инфраструктуры.

Архитектура: Два ключевых компонента

Сила BloodHound кроется в разделении ответственности между двумя компонентами. Один собирает сырые данные из реальной сети, другой — превращает их в наглядную модель для анализа.

Neo4j: Сердце в виде графа

Neo4j — это специализированная графовая база данных. В отличие от реляционных СУБД, она идеально подходит для хранения и запросов к высокосвязанным данным. В модели BloodHound каждый объект AD (пользователь, компьютер, группа) становится узлом графа, а каждое отношение между ними (членство в группе, право на сброс пароля, доверие) — направленным ребром.

Такая модель позволяет выполнять запросы, немыслимые для LDAP: «Найти все возможные пути от узла ‘Пользователь из отдела продаж’ до узла ‘Администратор предприятия’, проходящие через не более пяти промежуточных узлов». Алгоритмы обхода графа из коробки решают эту задачу за доли секунды.

SharpHound: Сборщик-невидимка

SharpHound — это съемник данных, который работает внутри целевой среды. Его задача — максимально незаметно и полно собрать информацию для последующей загрузки в Neo4j. Он использует стандартные протоколы, доступные даже рядовому доменному пользователю.

Метод сбора Что выявляет Важность
LDAP-запросы Базовая структура: пользователи, группы, компьютеры, OU. Каркас графа.
Перечисление сессий (через NetSessionEnum) На каких компьютерах у каких пользователей есть активные сеансы. Ключ к горизонтальному перемещению. Показывает, с чьих рабочих станций можно попытаться извлечь данные.
Проверка прав локального администратора (через NetLocalGroupGetMembers) Кто является локальным администратором на каждом компьютере. Фундамент для вертикальной эскалации. Обладание правами локального админа на сервере часто ведет к компрометации доменных учетных данных.
Анализ ACL объектов AD Кто имеет права изменять атрибуты других объектов, например, право сброса пароля (User-Force-Change-Password) или право на запись в группу (WriteProperty). Источник самых коварных и неочевидных путей атаки. Часто предоставляется по ошибке или по незнанию.

Существуют различные реализации сборщика (SharpHound.exe на C#, BloodHound.py на Python) для разных операционных систем и сред, включая гибридные сценарии с Azure AD.

Что BloodHound видит там, где другие инструменты слепы

Главная ценность инструмента — обнаружение нетранзитивных, но реализуемых цепочек привилегий. AD Manager или стандартные оснастки показывают прямые членства. BloodHound вычисляет итоговые, эффективные права.

Скрытые пути к власти

Классический пример: пользователь Иван не входит в группу «Администраторы сервера». Но BloodHound может показать цепочку: Иван → является локальным администратором на рабочей станции Марии → на которой у Марии есть активная сессия → Мария имеет право сбросить пароль пользователю Петру → Петр входит в группу «Сисадмины БУХ» → которая вложена в группу «Администраторы домена». Таким образом, через пять легитимных шагов Иван получает контроль над доменом. Ни один из этих шагов сам по себе не является инцидентом безопасности.

Критические конфигурационные уязвимости

Помимо построения цепочек, BloodHound автоматически выявляет объекты с опасными атрибутами или правами:

  • Учетные записи, подверженные Kerberoasting: Пользовательские аккаунты с назначенным Service Principal Name (SPN). Их хэши паролей можно запросить в виде билетов Kerberos для офлайн-подбора.
  • Учетные записи, подверженные AS-REP Roasting: Аккаунты с отключенной предварительной аутентификацией Kerberos (DONT_REQ_PREAUTH). Позволяет получить данные для офлайн-подбора без предъявления первоначальных учетных данных.
  • Объекты с правами DCSync: Право репликации изменений каталога (DS-Replication-Get-Changes-All). Обладатель этого права может запросить хэши паролей всех пользователей домена, имитируя контроллер домена.
  • Небезопасные делегирования Kerberos: Конфигурации Constrained или Resource-Based Delegation, позволяющие одной службе представляться пользователем другой службе, что может быть использовано для несанкционированного доступа.

Рабочий процесс аудита с помощью BloodHound

Этап 1: Развертывание и сбор данных

На одном из компьютеров в домене (часто достаточно прав обычного пользователя) запускается сборщик. Базовый сценарий — сбор всех возможных данных для полной картины.

SharpHound.exe -c All --OutputDirectory C:Tempbh_data

Собранные данные упаковываются в ZIP-архивы. В этот момент физический доступ к этим файлам должен быть строго ограничен, так как они содержат полную карту прав домена.

Этап 2: Загрузка и анализ

Архивы загружаются в интерфейс BloodHound, подключенный к базе Neo4j. После индексации становятся доступны встроенные аналитические запросы.

Типовой запрос (Pre-Built Analytics) Что выясняет Для чего нужен
Find Shortest Paths to Domain Admins Все кратчайшие маршруты от текущего пользователя (или выбранных) до высших привилегий. Понимание наихудшего сценария компрометации.
Find Principals with DCSync Rights Перечень всех пользователей, компьютеров или групп, которые могут выполнить DCSync. Выявление критически опасных прав, которые необходимо пересмотреть.
List all Kerberoastable Accounts Учетные записи с SPN, чьи билеты TGS можно запросить для атаки. Оценка риска атаки Kerberoasting.
Map Domain Trusts Визуализация доверительных отношений между доменами и лесами. Понимание границ атаки и возможностей междоменного перемещения.

Этап 3: Оздоровление инфраструктуры

На этом этапа анализатор превращается в инструмент управления. Основные действия:

  1. Сегрегация привилегий: Убрать из групп Domain Admins, Enterprise Admins всех, кому это не нужно ежедневно. Использовать подход Just-Enough-Administration (JEA).
  2. Ликвидация «коротких замыканий»: Отозвать избыточные права на объекты AD, особенно права WriteDACL, WriteOwner, GenericAll, ForceChangePassword у непрофильных учетных записей.
  3. Исправление конфигураций Kerberos: Включить предварительную аутентификацию для всех учетных записей. Заменить простые пароли у аккаунтов с SPN на Managed Service Accounts (gMSA) или очень сложные.
  4. Контроль сессий и локальных прав: Пересмотреть, почему рядовые пользователи являются локальными администраторами на своих или, что хуже, на чужих компьютерах.

За пределами классического пентеста: Проактивная защита и нормативное соответствие

В контексте российских требований, таких как 152-ФЗ и приказы ФСТЭК, BloodHound перестает быть инструментом только для красных команд. Он становится средством верификации выполнения требований.

Приказ ФСТЭК №239 требует разграничения доступа, контроля присвоения привилегий и регулярного анализа прав. Ручная проверка этих требований в сложной AD практически невозможна. BloodHound предоставляет формализованный и документированный способ доказать, что пути несанкционированного получения привилегий выявлены и устранены. Отчеты из инструмента могут служить объективным свидетельством для аудитора.

Регулярный прогон BloodHound (например, ежеквартально) и сравнение результатов с предыдущим периодом позволяет увидеть динамику: появляются ли новые опасные цепочки в результате организационных изменений? Снижается ли общее количество путей к критическим активам? Это превращает безопасность из реактивной в управляемую метрику.

Ограничения и этические границы

Мощь BloodHound оборачивается двойной ответственностью. Установка SharpHound в производственную среду без санкции руководства и службы безопасности является нарушением. Собранные данные — это концентрат критической информации об инфраструктуре, и их хранение требует уровня защищенности, сопоставимого с базой паролей.

Для легитимного аудита сбор данных должен производиться с явного согласия и, желательно, с выделенной, изолированной учетной записи, чья активность логируется. Анализ следует проводить в изолированном стенде, куда данные загружаются однократно, а после анализа среда уничтожается.

Важно понимать, что BloodHound — это диагност, а не лекарство. Он блестяще показывает болезнь, но не лечит её. Лечение — это рутинная, часто политически сложная работа по исправлению конфигураций, пересмотру ролей и изменению процессов выдачи прав.

Оставьте комментарий