
Построение карты путей атак для Active Directory, ADCS, SCCM и MSSQL с использованием данных BloodHound CE + OpenGraph.
ADPathFinder — это инструмент построения карты атак для пентестеров и red team-специалистов. Он анализирует данные SharpHound и объединяет их с плагинами OpenGraph, чтобы выявить пути атак до высокоценных целей, таких как Domain Admins и Domain Controllers, начиная от низкопривилегированных пользователей и компьютеров. MSSQLHound и ConfigManBearPig поддерживаются нативно, расширяя покрытие на AD, ADCS, SCCM и MSSQL.
Перейти к: Быстрый старт · Покрытие · Как это работает · Отчёты · Конфигурация · Участники
| Область | Примеры |
|---|---|
| Основной AD | Пути повышения привилегий, делегирование, права администратора, BadSuccessor, доступные высокоценные сессии |
| Пароли | Слабые пароли, пустые пароли, повторное использование, схожесть имён пользователей, использование LM-хешей, Kerberoast и AS-REP, сочетающиеся со слабыми паролями |
| ADCS | Риски шаблонов сертификатов и ЦС в стиле ESC |
| MSSQL (данные OpenGraph MSSQLHound) | Учётные записи, связанные серверы, имперсонация, relay и пути повышения привилегий |
| SCCM (данные OpenGraph ConfigManBearPig) | Пути захвата и relay, точки распространения с поддержкой PXE и получение политик с точек управления |
| Между доменами | Доверия, общие пароли и пути повышения привилегий между доменами |
neo4j://localhost:7687.git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
adpathfinder --setup-bloodhound-api
Эта команда сохраняет настройки API BloodHound CE, используемые для операций импорта и удаления.
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 читает config.ini из рабочего каталога. Значения также можно задавать через переменные окружения ADPF_*.
Запустите это, чтобы настроить доступ к API BloodHound CE для импорта и удаления:
adpathfinder --setup-bloodhound-api
Все параметры, настройки подключения к Neo4j, права на файлы и примеры конфигурации см. в разделе Configuration в вики. Фильтрацию вывода путей атак см. в разделе Excluded relationships.
Отчёты записываются в каталог report_<domain>/, например report_training.local/.