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

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

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

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

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

Категории

Все категории
Loading categories
PyADRecon — Python3 реализация ADRecon с поддержкой аутентификации NTLM и Kerberos при запросах к LDAP. Генерирует отдельные CSV-файлы и единый отчет в формате XSLX + HTML о вашем домене AD. | Kitploit
Инструменты/GitHubGitHub/l4rm4nd/pyadrecon
РазведкаАнализ уязвимостейСбор информацииПост-эксплуатацияТестирование на ПроникновениеАутентификацияRed Teaming
GitHubl4rm4nd/pyadrecon

PyADRecon

Python3 реализация ADRecon с поддержкой аутентификации NTLM и Kerberos при запросах к LDAP. Генерирует отдельные CSV-файлы и единый отчет в формате XSLX + HTML о вашем домене AD.

Репозиторий
674162 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Сайт
pyadrecon

Реализация на Python3 улучшенной версии ADRecon для пентестеров и синих команд.

ADRecon — это инструмент, который собирает информацию об Active Directory от Microsoft и генерирует XSLX-отчет, предоставляющий целостную картину текущего состояния целевой AD-среды.

[!TIP] Если вы участвуете в Red Team, попробуйте ADRecon-ADWS.

Содержание

  • Установка
  • Использование
  • Docker
  • Модули сбора
  • HTML-панель управления
  • Благодарности
  • Лицензия

Установка

root@kitploit:~
# stable release from pypi
pipx install pyadrecon

# latest commit from github
pipx install git+https://github.com/l4rm4nd/PyADRecon

Затем проверьте установку:

root@kitploit:~
pyadrecon --version

[!TIP] Для Windows см. эту страницу. Поддерживаются NTLM и Kerberos.

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

root@kitploit:~
usage: pyadrecon.py [-h] [--version] [--generate-excel-from CSV_DIR] [-dc DOMAIN_CONTROLLER] [-u USERNAME] [-p [PASSWORD]] [-d DOMAIN] [--auth {ntlm,kerberos}] [--tgt-file TGT_FILE] [--tgt-base64 TGT_BASE64]
                    [--ssl] [--port PORT] [-o OUTPUT] [--page-size PAGE_SIZE] [--threads THREADS] [--dormant-days DORMANT_DAYS] [--password-age PASSWORD_AGE] [--only-enabled] [--collect COLLECT]
                    [--no-excel] [-v]

PyADRecon - Python Active Directory Reconnaissance Tool

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit  
  --generate-excel-from CSV_DIR
                        Generate Excel report from CSV directory (standalone mode, no AD connection needed)
  --generate-dashboard-from CSV_DIR
                        Generate HTML dashboard from existing CSV files (standalone mode)
  -dc, --domain-controller DOMAIN_CONTROLLER
                        Domain Controller IP or hostname
  -u, --username USERNAME
                        Username for authentication
  -p, --password [PASSWORD]
                        Password for authentication (optional if using TGT)
  -d, --domain DOMAIN   Domain name (e.g., DOMAIN.LOCAL) - Required for Kerberos auth
  --auth {ntlm,kerberos}
                        Authentication method (default: ntlm)
  --tgt-file TGT_FILE   Path to Kerberos TGT ccache file (for Kerberos auth)
  --tgt-base64 TGT_BASE64
                        Base64-encoded Kerberos TGT ccache (for Kerberos auth)
  --ssl                 Force SSL/TLS (LDAPS). No LDAP fallback allowed.
  --port PORT           LDAP port (default: 389, use 636 for LDAPS)
  -o, --output OUTPUT   Output directory (default: PyADRecon-Report-<timestamp>)
  --page-size PAGE_SIZE
                        LDAP page size (default: 500)
  --dormant-days DORMANT_DAYS
                        Days for dormant account threshold (default: 90)
  --password-age PASSWORD_AGE
                        Days for password age threshold (default: 180)
  --only-enabled        Only collect enabled objects
  --collect COLLECT     Comma-separated modules to collect (default: all)
  --workstation WORKSTATION
                        Explicitly spoof workstation name for NTLM authentication (default: empty string, bypasses userWorkstations restrictions)  
  --no-excel            Skip Excel report generation
  --no-dashboard        Skip interactive HTML dashboard generation  
  -v, --verbose         Verbose output

Examples:
  # Basic usage with NTLM authentication
  pyadrecon.py -dc 192.168.1.1 -u admin -p password123 -d DOMAIN.LOCAL

  # With Kerberos authentication (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -p password123 -d DOMAIN.LOCAL --auth kerberos

  # With Kerberos using TGT from file (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-file /tmp/admin.ccache

  # With Kerberos using TGT from base64 string (bypasses channel binding)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-base64 BQQAAAw...

  # Only collect specific modules
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL --collect users,groups,computers

  # Output to specific directory
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL -o /tmp/adrecon_output

  # Generate Excel report from existing CSV files (standalone mode)
  pyadrecon.py --generate-excel-from /path/to/CSV-Files -o report.xlsx

[!TIP] PyADRecon сначала всегда пытается использовать LDAPS через TCP/636.

Если флаг --ssl не используется, в качестве запасного варианта может быть использован LDAP через TCP/389.

[!WARNING] Если включена привязка канала LDAP, скрипт завершится с ошибкой automatic bind not successful - strongerAuthRequired, так как ldap3 не поддерживает эту функцию (см. здесь). Вместо этого необходимо использовать аутентификацию Kerberos.

При использовании аутентификации Kerberos в Linux создайте корректный файл /etc/krb5.conf и запись имени хоста контроллера домена в /etc/hosts. Подробнее здесь. Если вы используете Windows, убедитесь, что у вас есть действительные билеты Kerberos. Подробнее здесь. Обратите внимание, что вы можете передать уже существующий TGT-билет скрипту через --tgt-file или --tgt-base64. Например, полученный с помощью Netexec через netexec smb <TARGET> <ARGS> --generate-tgt <FILEMAME>.

Docker

Также доступен образ Docker на GHCR.IO.

root@kitploit:~
docker run --rm -v /etc/krb5.conf:/etc/krb5.conf:ro -v /etc/hosts:/etc/hosts:ro -v ./:/tmp/pyadrecon_output ghcr.io/l4rm4nd/pyadrecon:latest -dc dc01.domain.local -u admin -p password123 -d DOMAIN.LOCAL -o /tmp/pyadrecon_output

Модули сбора

По умолчанию PyADRecon запускает все модули сбора. Они обозначаются как default или all.

Однако вы можете выбрать собственный набор модулей для запуска:

ИконкаЗначение
🛑Требуются привилегии администратора домена (например, Domain Admins)
✅Требуются обычные привилегии домена (например, Authenticated Users)
💥Новый модуль сбора в бета-версии. Результаты могут быть некорректными.

Лес и домен

  • forest ✅
  • domain ✅
  • trusts ✅
  • sites ✅
  • subnets ✅
  • schema or schemahistory ✅

Контроллеры домена

  • dcs or domaincontrollers ✅

Пользователи и группы

  • users ✅
  • userspns ✅
  • groups ✅
  • groupmembers ✅
  • protectedgroups ✅💥
  • krbtgt ✅
  • asreproastable ✅
  • kerberoastable ✅

Компьютеры и принтеры

  • computers ✅
  • computerspns ✅
  • printers ✅

Подразделения и групповая политика

  • ous ✅
  • gpos ✅
  • gplinks ✅

Пароли и учетные данные

  • passwordpolicy ✅
  • fgpp or finegrainedpasswordpolicy 🛑
  • laps 🛑
  • bitlocker 🛑💥

Управляемые учетные записи служб

  • gmsa or groupmanagedserviceaccounts ✅💥
  • dmsa or delegatedmanagedserviceaccounts ✅💥
    • Работает только для схемы AD Windows Server 2025 и выше

Сертификаты

  • adcs or certificates ✅💥
    • Обнаруживает ESC1, ESC2, ESC3, ESC4 и ESC9

DNS

  • dnszones ✅
  • dnsrecords ✅

HTML-панель управления

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

При необходимости создание панели можно отключить во время первоначального сбора данных с помощью --no-dashboard. Панель можно будет создать позже из существующих CSV-файлов с помощью --generate-dashboard-from <CSV_DIR>.

[!CAUTION] Это бета-функция. Отображаемые данные могут быть некорректно обработаны или ошибочно помечены как проблема. Относитесь к ним с осторожностью!

изображение
изображение изображение изображение

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

Большое спасибо следующим людям:

  • S3cur3Th1sSh1t за первый черновик порта на Python3 в Claude
  • Sense-of-Security за оригинальный скрипт ADRecon на PowerShell
  • cannatag за отличный Python-клиент ldap3
  • Fortra за отличный набор impacket
  • Anthropic за LLM Claude

Лицензия

PyADRecon выпущен под лицензией MIT.

Используются следующие сторонние библиотеки:

БиблиотекаЛицензия
ldap3LGPL v3
openpyxlMIT
gssapiMIT
impacketApache 2.0
winkerberos

Пожалуйста, ознакомьтесь с соответствующими лицензиями этих библиотек при использовании или распространении данного программного обеспечения.

Скачать инструмент
Apache 2.0