Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
AD_Miner — AD Miner — это инструмент аудита Active Directory, который использует запросы Cypher для обработки данных из графовой базы данных #Bloodhound с целью выявления уязвимостей безопасности. | Kitploit
Инструменты/GitHubGitHub/ad-security/ad_miner
Повышение привилегийРазведкаАнализ уязвимостейЛатеральное перемещениеАудит конфигурацииСбор информацииТестирование на ПроникновениеНеправильная КонфигурацияОбучение и Образование
GitHubad-security/ad_miner

AD_Miner

AD Miner — это инструмент аудита Active Directory, который использует запросы Cypher для обработки данных из графовой базы данных #Bloodhound с целью выявления уязвимостей безопасности.

1.6k1635 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
AD_Miner
Latest AD_Miner version Latest release Latest commit in dev Rawsec's CyberSecurity Inventory badge
Discord

AD Miner – это инструмент аудита Active Directory (on-premise и Entra ID), который:

  • Использует Cypher-запросы для анализа данных из графовой базы данных BloodHound (Neo4j).
  • Обеспечивает всесторонний обзор существующих уязвимостей через статический веб-отчёт.

Возможности веб-отчётов:

  • Детальные списки выявленных уязвимостей
  • Динамические графики для визуального анализа
  • Исторические ключевые показатели для отслеживания изменений со временем
  • Рейтинги рисков для приоритизации угроз и действий

Краткий обзор отчёта

Комплексные пути смягчения рисков Active Directory

Рейтинг уязвимостей Active Directory на основе риска, а также комплексные пути смягчения.

Главная страница

Динамический веб-интерфейс

Строка поиска и элементы управления, тщательно настроенные для выявления наиболее рискованных неправильных конфигураций.

Главная страница

Мониторинг прогресса с помощью развивающегося интерфейса

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

Главная страница

AD Miner изначально создан компанией Forvis Mazars и поддерживается командой по аудиту и консультированию в области кибербезопасности Grant Thornton.

Предварительные требования

Для запуска AD Miner сначала необходима база данных neo4j, содержащая объекты Active Directory:

  1. Для извлечения данных из домена можно использовать такие инструменты, как SharpHound, RustHound-CE или BloodHound.py и AzureHound для сред EntraID.

[!CAUTION] Мы настоятельно рекомендуем использовать BloodHound Automation, поскольку он устанавливает плагин Graph Data Science для Neo4j, который :

  • значительно улучшает время вычислений и общую производительность.
  • позволяет использовать Smartest Path вместо встроенного Neo4j shortestPath() (т.е. пути, которые легче эксплуатировать, а не с наименьшим количеством переходов между узлами).
  1. Для настройки среды BloodHound (включая GUI и базу данных Neo4j) настоятельно рекомендуется использовать BloodHound Automation из-за его бесшовной интеграции с плагином Graph Data Science. Хотя можно использовать стандартную установку BloodHound CE, имейте в виду, что вы упустите преимущества GDS (например, более умный поиск путей, улучшенная скорость выполнения и т.д.).

  2. По умолчанию BloodHound создаёт базу neo4j, доступную на порту 7687.

Установка и настройка

Самый простой способ — выполнить следующую команду с помощью pipx:

root@kitploit:~
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'

ADMiner также доступен в некоторых дистрибутивах Linux:

Packaging status

  • BlackArch: pacman -S ad-miner
  • NixOS: nix-env -iA nixos.ad-miner

Доступен образ Docker для сборки. Соберите образ следующей командой:

root@kitploit:~
docker build -t ad-miner .

Чтобы запустить это в Windows с данными BloodHound Community Edition, используйте команды ниже:

root@kitploit:~
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Чтобы запустить это в Linux с данными BloodHound Community Edition, используйте команды ниже:

root@kitploit:~
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Обратите внимание, что монтирование тома с помощью -v критически важно для получения выходных данных. Подразумевается, что сервер BHCE запущен на хосте Docker с настройками по умолчанию.

Использование

Запустите инструмент:

root@kitploit:~
AD-miner [-h] [-b BOLT] [-u USERNAME] [-p PASSWORD] [-e EXTRACT_DATE] [-r RENEWAL_PASSWORD] [-a] [-c] [-l LEVEL] -cf CACHE_PREFIX [-ch NB_CHUNKS] [-co NB_CORES] [--rdp] [--evolution EVOLUTION] [--cluster CLUSTER]

Пример:

root@kitploit:~
AD-miner -cf My_Report -u neo4j -p mypassword

Кэш-файлы создаются после завершения каждого запроса к Neo4j. Эта функция позволяет приостановить или остановить AD Miner в любой момент процесса без потери ранее вычисленных результатов. Чтобы использовать кэш, используйте параметр -c. Кэш-файлы хранятся в папке cache_neo4j в вашем текущем репозитории. Для использования кэша имя отчёта должно совпадать с префиксом имени кэш-файла:

root@kitploit:~
AD-miner -c -cf My_Report -u neo4j -p mypassword

Для лучшей обработки больших наборов данных можно включить многопоточность, а также использовать кластер баз данных neo4j, как показано в следующем примере (где server1 обрабатывает 32 потока, а server2 — 16):

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server1:7687 -u neo4j -p mypassword  --cluster server1:7687:32,server2:7687:16

Если политика смены паролей известна, вы можете указать её с помощью параметра -r, чтобы убедиться, что проверки смены паролей соответствуют настройкам вашей среды (по умолчанию 90 дней). Например, если политика паролей установлена на 180 дней, используйте следующее:

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180

[!TIP] Пароль по умолчанию для базы данных neo4j Bloodhound CE — bloodhoundcommunityedition или neo5j, если вы используете BloodHound Automation

Параметры:

root@kitploit:~
  -h, --help            показать это справочное сообщение и выйти
  -b BOLT, --bolt BOLT  Подключение Neo4j bolt (по умолчанию: bolt://127.0.0.1:7687)
  -u USERNAME, --username USERNAME
                        Имя пользователя Neo4j (по умолчанию: neo4j)
  -p PASSWORD, --password PASSWORD
                        Пароль Neo4j (по умолчанию: bloodhoundcommunityedition)
  -e EXTRACT_DATE, --extract_date EXTRACT_DATE
                        Дата извлечения (например, 20220131). По умолчанию: последняя дата входа в систему
  -r RENEWAL_PASSWORD, --renewal_password RENEWAL_PASSWORD
                        Политика смены пароля в днях. По умолчанию: 90
  -c, --cache           Использовать локальный файл для данных neo4j
  -l LEVEL, --level LEVEL
                        Рекурсивный уровень для запросов путей
  -cf CACHE_PREFIX, --cache_prefix CACHE_PREFIX
                        Используемый кэш-файл (в случае нескольких файлов кэша разных компаний)
  --gpo_low             Выполнить более быстрый, но неполный запрос для GPO (быстрее обычного запроса)
  -ch NB_CHUNKS, --nb_chunks NB_CHUNKS
                        Количество чанков для параллельных запросов к Neo4j. По умолчанию: 20 * количество ЦП
  -co NB_CORES, --nb_cores NB_CORES
                        Количество ядер для параллельных запросов к Neo4j. По умолчанию: количество ЦП
  --rdp                 Включить ребро CanRDP в графах
  --evolution EVOLUTION
                        Эволюция с течением времени: расположение файлов данных JSON. например '../../tests/'
  --cluster CLUSTER     Узлы кластера для выполнения параллельных запросов к Neo4j. например host1:port1:nCore1,host2:port2:nCore2,...

На страницах графиков вы можете щелкнуть правой кнопкой мыши по узлам графика, чтобы сгруппировать их или открыть кластер.

Эволюция

Если у вас есть несколько отчётов AD-Miner за разные периоды, вы можете легко отслеживать эволюцию с помощью аргумента --evolution: каждый отчёт AD-Miner генерирует файл данных JSON вместе с файлом index.html. Вам просто нужно собрать эти различные JSON-файлы в одну папку и указать путь к этой папке после аргумента --evolution.

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180 --evolution evolution_folder/

На главной странице появляется вкладка «Эволюция с течением времени», предоставляющая графики эволюции для каждой категории (Разрешения, Пароли, Kerberos и Разное).

Детальная эволюция для каждой проверки также доступна и может быть получена через кнопку «Показать эволюцию» для каждой категории. Доступна логарифмическая шкала для лучшего выделения тонких изменений с течением времени.

Самые умные пути

AD Miner может вычислять пути на основе их фактической эксплуатируемости. Действительно, иногда кратчайший путь трудно использовать (здесь из-за ExecuteDCOM перед HasSession).

В то время как существует более длинный, но более простой путь (здесь с MemberOf и AdminTo вместо ExecuteDCOM).

AD Miner автоматически переключается в режим самых умных путей, когда в вашей базе данных neo4j установлен плагин Graph Data Science (https://neo4j.com/docs/graph-data-science/current/). Самый простой способ установить этот плагин — определить переменную среды в вашем docker neo4j: NEO4J_PLUGINS=["graph-data-science"] (по умолчанию он установлен вместе с BloodHound Automation).

В настоящее время 10 проверок используют полное покрытие графа и оптимизируют самые умные пути для анализа.

Реализованные проверки

Ниже приведён список проверок, которые уже реализованы в AD Miner:

Проверки для локальной среды

Проверки для Entra ID

Участие в разработке

Узнайте, как внести свой вклад, здесь.

Скачать инструмент
КатегорияОписаниеКатегорияОписание
KerberosУчётные записи, уязвимые для AS-REP RoastingРазноеКомпьютеры с устаревшей ОС
KerberosKerberoastable учётные записиРазноеНеактивные учётные записи
KerberosОграниченное делегирование KerberosРазноеФункциональный уровень домена
KerberosKerberos RBCD против компьютеровРазноеКомпьютеры-призраки
KerberosНеограниченные делегирования KerberosРазноеГруппы без участников
KerberosСтарый пароль KRBTGTРазноеПодразделения без участников
KerberosТеневые учётные данные на привилегированных учётных записяхРазноеТеневые учётные данные на контроллерах домена
KerberosТеневые учётные данные на обычных учётных записяхРазноеНеожиданный PrimaryGroupID
ПаролиДоступ к паролям LAPSРазноеПользователи FGPP
ПаролиКомпьютеры без LAPSРазрешенияАномалии ACL
ПаролиОбъекты могут читать пароли GMSA администраторовРазрешенияУзкие места путей атак
ПаролиОбход требований к паролюРазрешенияКомпьютеры, являющиеся администраторами других компьютеров
ПаролиПользователи с паролями в открытом видеРазрешенияМеждоменные пути к администраторам домена
ПаролиПользователи со старыми паролямиРазрешенияГостевые учётные записи
ПаролиПользователи без срока истечения пароляРазрешенияНедостаточный доступ к привилегиям DCSync
РазрешенияНеадекватные настройки AdminCountРазрешенияНедостаточные привилегии для изменения GPO
РазрешенияНедостаточное число администраторов доменаРазрешенияУчётные записи компьютеров с недостаточными привилегиями
РазрешенияУчётные записи компьютеров с недостаточными привилегиямиРазрешенияНетиер-0 локальные привилегии администратора на ADCS
РазрешенияОбъекты с историей SIDРазрешенияПути к DNS-администраторам
РазрешенияПути к администраторам доменаРазрешенияПути к группам операторов
РазрешенияПути к организационным единицам (OU)РазрешенияПути к серверам
РазрешенияПути к контейнеру AdminSDHolderРазрешенияГруппа «Pre-Windows 2000 Compatible Access»
РазрешенияПривилегированная учётная запись вне группы Protected UsersРазрешенияRDP-доступ (компьютеры)
РазрешенияRDP-доступ (пользователи)РазрешенияНарушение tier-0 (сессии)
РазрешенияПользователи с мощными междоменными привилегиямиРазрешенияПользователи с локальными привилегиями администратора
КатегорияОписаниеКатегорияОписание
Entra ID РазноеНеактивные учётные записи AzureEntra ID MS GraphПрямые контроллеры MS Graph
Entra ID ПаролиПривилегии сброса пароля Entra IDEntra ID MS GraphУчётные записи Entra ID, не синхронизированные с локальной средой
Entra ID ПаролиНесогласованное последнее изменение пароляEntra ID MS GraphСинхронизированные учётные записи с отключенной двойной учётной записью
Entra ID РазрешенияДоступ к привилегированным ролям Entra IDEntra ID РазрешенияПривилегированные учётные записи как в локальной среде, так и в Azure
Entra ID РазрешенияКросс-путь локальная среда/Entra ID к tier-0Entra ID РазрешенияПользователи, возможно связанные с AADConnect
Entra ID РазрешенияПользователи Entra ID с путём к высокоценным целям