Назад к обновлениям
New releaseAug 20, 2026

AD-PathFinder v1.2.0

Построение карты путей атак для Active Directory, ADCS, SCCM и MSSQL с использованием данных BloodHound CE + OpenGraph.

Поделиться

ADPathFinder

build

ADPathFinder — это инструмент построения карты атак для пентестеров и red team-специалистов. Он анализирует данные SharpHound и объединяет их с плагинами OpenGraph, чтобы выявить пути атак до высокоценных целей, таких как Domain Admins и Domain Controllers, начиная от низкопривилегированных пользователей и компьютеров. MSSQLHound и ConfigManBearPig поддерживаются нативно, расширяя покрытие на AD, ADCS, SCCM и MSSQL.

Блог: Сопоставление путей атак OpenGraph в BloodHound CE

Демонстрация CLI ADPathFinder: сгруппированные находки рисков и пути атак

Перейти к: Быстрый старт · Покрытие · Как это работает · Отчёты · Конфигурация · Участники

Покрытие

ОбластьПримеры
Основной ADПути повышения привилегий, делегирование, права администратора, BadSuccessor, доступные высокоценные сессии
ПаролиСлабые пароли, пустые пароли, повторное использование, схожесть имён пользователей, использование LM-хешей, Kerberoast и AS-REP, сочетающиеся со слабыми паролями
ADCSРиски шаблонов сертификатов и ЦС в стиле ESC
MSSQL (данные OpenGraph MSSQLHound)Учётные записи, связанные серверы, имперсонация, relay и пути повышения привилегий
SCCM (данные OpenGraph ConfigManBearPig)Пути захвата и relay, точки распространения с поддержкой PXE и получение политик с точек управления
Между доменамиДоверия, общие пароли и пути повышения привилегий между доменами

Требования

  • Python 3.9 или новее.
  • BloodHound CE и Neo4j, доступные локально по умолчанию по адресу neo4j://localhost:7687.
  • Учётные данные API BloodHound CE для операций импорта и удаления.
  • ZIP-архив BloodHound CE / SharpHound для покрытия аудита AD.
  • Необязательные ZIP-архивы плагинов OpenGraph от MSSQLHound и ConfigManBearPig для покрытия MSSQL и SCCM.
  • Необязательный дамп хешей NTDS и potfile от hashcat для аудита паролей.

Быстрый старт

Установка из исходников
git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Настройка доступа к API BloodHound
adpathfinder --setup-bloodhound-api

Эта команда сохраняет настройки API BloodHound CE, используемые для операций импорта и удаления.

Импорт данных SharpHound
adpathfinder --import SharpHound.zip

Несколько ZIP-файлов SharpHound и плагинов OpenGraph можно импортировать одной командой:

adpathfinder --import SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip
Импорт данных и полный аудит
adpathfinder -i SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile

Используйте только те ZIP-файлы, которые у вас есть. Значение --pwd — это не домен AD; это разделённый запятыми список терминов компании, бренда или организации для пометки во взломанных паролях.

Запуск аудита домена
adpathfinder --ad
Запуск аудита паролей
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile

Используйте --unsafe-report только когда отчёты должны содержать пароли в открытом виде.

Запись диагностики
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile --diagnostics

Как это работает

ЭтапЧто происходит
IngestОбъединяет SharpHound и поддерживаемые ZIP-архивы OpenGraph в один граф. Данные MSSQLHound и ConfigManBearPig поддерживаются напрямую
MapНаходит кратчайшие пути от пользователей и компьютеров до высокоценных целей. Вы можете настроить набор рёбер, чтобы исключить шумные рёбра, например HasSession
GroupГруппирует учётные записи с общим путём, чтобы повторяющиеся пути сообщались как одна находка, а не множество почти одинаковых
PairСопоставляет NTDS-хеши и potfile от hashcat с данными графа, показывая, какие пути реально применимы в ходе оценки
LayerСообщает о самостоятельных находках, таких как отключённая подпись SMB или группы привилегированных по умолчанию, и повышает серьёзность, когда тот же хост или группа также находится на пути к высокоценным целям
RenderФормирует HTML-отчёты с SVG-графами путей, примечаниями по митигированию, шагами проверки в PowerShell и отслеживанием состояния устранения, а также текстовые, JSON и диагностические выводы

Схема работы ADPathFinder

HTML-отчёт AD

Обзор отчёта ADPathFinder по AD: обзор, митигирование и этапы подтверждения

HTML-отчёт аудита паролей

Обзор отчёта ADPathFinder по аудиту паролей: взломанные категории, соответствие политикам, длины паролей и roastable-учётные записи

Конфигурация

ADPathFinder читает config.ini из рабочего каталога. Значения также можно задавать через переменные окружения ADPF_*.

Запустите это, чтобы настроить доступ к API BloodHound CE для импорта и удаления:

adpathfinder --setup-bloodhound-api

Все параметры, настройки подключения к Neo4j, права на файлы и примеры конфигурации см. в разделе Configuration в вики. Фильтрацию вывода путей атак см. в разделе Excluded relationships.

Выводы

Отчёты записываются в каталог report_<domain>/, например report_training.local/.

ВыводНазначение
<domain>_AD_report.htmlHTML-отчёт для клиентов со сгруппированными находками, графами путей, примечаниями по митигированию, шагами проверки и отслеживанием состояния устранения
<domain>_domain_audit.txt / <domain>_domain_audit.jsonТекстовый и JSON выводы аудита домена для просмотра, автоматизации и последующего анализа
<domain>_password_audit.html / <domain>_password_audit.txt / <domain>_password_audit.jsonВыводы аудита паролей при наличии NTDS-хешей и potfile от hashcat
<domain>_*_unsafe.*Необязательные небезопасные отчёты, создаваемые только с флагом --unsafe-report; они могут содержать пароли в открытом виде
diagnostics.jsonНеобязательная статистика запуска и отладочные данные, создаваемые с флагом --diagnostics

Относитесь к данным NTDS, potfile и сгенерированным отчётам как к чувствительным данным оценки. Флаг --unsafe-report записывает пароли в открытом виде в выходные файлы; используйте его только когда вам действительно нужен открытый текст в отчёте, и храните полученные файлы _unsafe соответствующим образом.

Примеры вывода аудита домена и аудита паролей см. в sample_reports/.

Участники

Проверки — это небольшие классы, которые регистрируются через декоратор, объявляют свои требования к данным и возвращают словари находок. Платформенные проверки объявляют свой источник данных, поэтому обычные аудиты AD пропускают проверки MSSQL или SCCM, когда соответствующие данные OpenGraph отсутствуют.

См. Adding new checks, Working with OpenGraph plugins и Framework Guide в вики.

Тестирование

pip install -e ".[test]", затем pytest tests/ -m "not neo4j and not integration" запускает быстрые тесты фреймворка без Neo4j. Набор фикстур Neo4j и полный локальный процесс тестирования описаны в tests/README.md.

Благодарности

ADPathFinder опирается на данные, собранные другими проектами; спасибо их авторам и команде SpecterOps:

Категории