Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PyADRecon — 基于 Python3 的 ADRecon 实现,支持通过 NTLM 和 Kerberos 认证查询 LDAP。生成单独的 CSV 文件以及一个关于您的 AD 域的 XLSX + HTML 综合报告。 | Kitploit
工具/GitHubGitHub/l4rm4nd/pyadrecon
侦察漏洞分析信息收集后渗透利用渗透测试身份验证红队
GitHubl4rm4nd/pyadrecon

PyADRecon

基于 Python3 的 ADRecon 实现,支持通过 NTLM 和 Kerberos 认证查询 LDAP。生成单独的 CSV 文件以及一个关于您的 AD 域的 XLSX + HTML 综合报告。

查看仓库
674162个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
pyadrecon

Python3实现的改进版ADRecon,适用于渗透测试人员和蓝队。

ADRecon 是一款收集 Microsoft Active Directory 信息并生成 XSLX 报告的工具,可全面了解目标 AD 环境的当前状态。

[!TIP] 如果你是红队成员,可以改用 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 侦察工具

选项:
  -h, --help            显示此帮助信息并退出
  --version             显示程序版本号并退出
  --generate-excel-from CSV_DIR
                        从 CSV 目录生成 Excel 报告(独立模式,无需 AD 连接)
  --generate-dashboard-from CSV_DIR
                        从现有 CSV 文件生成 HTML 仪表板(独立模式)
  -dc, --domain-controller DOMAIN_CONTROLLER
                        域控制器 IP 或主机名
  -u, --username USERNAME
                        用于身份验证的用户名
  -p, --password [PASSWORD]
                        用于身份验证的密码(使用 TGT 时可省略)
  -d, --domain DOMAIN  域名(例如 DOMAIN.LOCAL)— Kerberos 认证必需
  --auth {ntlm,kerberos}
                        认证方法(默认:ntlm)
  --tgt-file TGT_FILE   Kerberos TGT ccache 文件路径(用于 Kerberos 认证)
  --tgt-base64 TGT_BASE64
                        经过 Base64 编码的 Kerberos TGT ccache(用于 Kerberos 认证)
  --ssl                 强制使用 SSL/TLS(LDAPS)。不允许回落至 LDAP。
  --port PORT           LDAP 端口(默认:389,LDAPS 使用 636)
  -o, --output OUTPUT   输出目录(默认:PyADRecon-Report-<时间戳>)
  --page-size PAGE_SIZE LDAP 分页大小(默认:500)
  --dormant-days DORMANT_DAYS
                        休眠帐户阈值天数(默认:90)
  --password-age PASSWORD_AGE
                        密码期限阈值天数(默认:180)
  --only-enabled        仅收集已启用的对象
  --collect COLLECT     逗号分隔的模块列表(默认:全部)
  --workstation WORKSTATION
                        显式伪造 NTLM 认证的工作站名称(默认:空字符串,绕过 userWorkstations 限制)
  --no-excel            跳过 Excel 报告生成
  --no-dashboard        跳过交互式 HTML 仪表板生成
  -v, --verbose         详细输出

示例:
  # 使用 NTLM 认证的基本用法
  pyadrecon.py -dc 192.168.1.1 -u admin -p password123 -d DOMAIN.LOCAL

  # 使用 Kerberos 认证(绕过通道绑定)
  pyadrecon.py -dc dc01.domain.local -u admin -p password123 -d DOMAIN.LOCAL --auth kerberos

  # 使用来自文件的 TGT 进行 Kerberos 认证(绕过通道绑定)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-file /tmp/admin.ccache

  # 使用来自 base64 字符串的 TGT 进行 Kerberos 认证(绕过通道绑定)
  pyadrecon.py -dc dc01.domain.local -u admin -d DOMAIN.LOCAL --auth kerberos --tgt-base64 BQQAAAw...

  # 仅收集特定模块
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL --collect users,groups,computers

  # 输出到指定目录
  pyadrecon.py -dc 192.168.1.1 -u admin -p pass -d DOMAIN.LOCAL -o /tmp/adrecon_output

  # 从现有 CSV 文件生成 Excel 报告(独立模式)
  pyadrecon.py --generate-excel-from /path/to/CSV-Files -o report.xlsx

[!TIP] PyADRecon 始终优先尝试 TCP/636 的 LDAPS。

如果未使用 --ssl 标志,则可能回退到 TCP/389 的 LDAP。

[!WARNING] 如果启用了 LDAP 通道绑定,此脚本将失败,并提示 automatic bind not successful - strongerAuthRequired,因为 ldap3 不支持通道绑定(参见此处)。必须改用 Kerberos 认证。

如果使用 Linux 下的 Kerberos 认证,请创建有效的 /etc/krb5.conf 并在 /etc/hosts 中添加 DC 主机名条目。可阅读此文档。如果使用 Windows,请确保拥有有效的 Kerberos 票证。可阅读此文档。注意,可以通过 --tgt-file 或 --tgt-base64 向脚本提供现有的 TGT 票证。例如,通过 Netexec 使用 netexec smb <TARGET> <ARGS> --generate-tgt <FILEMAME> 获取。

Docker

GHCR.IO 上也提供了 Docker 镜像。

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 或 schemahistory ✅

域控制器

  • dcs 或 domaincontrollers ✅

用户与组

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

计算机与打印机

  • computers ✅
  • computerspns ✅
  • printers ✅

OU 与组策略

  • ous ✅
  • gpos ✅
  • gplinks ✅

密码与凭据

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

托管服务帐户

  • gmsa 或 groupmanagedserviceaccounts ✅💥
  • dmsa 或 delegatedmanagedserviceaccounts ✅💥
    • 仅适用于 Windows Server 2025+ AD 架构

证书

  • adcs 或 certificates ✅💥
    • 检测 ESC1、ESC2、ESC3、ESC4 和 ESC9

DNS

  • dnszones ✅
  • dnsrecords ✅

HTML 仪表板

PyADRecon 执行所有收集模块时,会自动生成包含关键统计信息和安全发现的 HTML 仪表板。

如果需要,可以在初始数据收集期间使用 --no-dashboard 禁用仪表板创建。之后可以使用 --generate-dashboard-from <CSV_DIR> 从现有 CSV 文件生成仪表板。

[!CAUTION] 这是一个测试功能。显示的数据可能被错误解析或报告为问题。请谨慎对待!

image
image image image

致谢

感谢以下各位:

  • S3cur3Th1sSh1t — 为这个 Python3 移植版本提供了最初的 Claude 草稿
  • Sense-of-Security — 提供了 PowerShell 原始 ADRecon 脚本
  • cannatag — 出色的 ldap3 Python 客户端
  • Forta — 出色的 impacket 套件
  • Anthropic — 提供了 Claude 语言模型

许可证

PyADRecon 根据 MIT 许可证 发布。

使用了以下第三方库:

库许可证
ldap3LGPL v3
openpyxlMIT
gssapiMIT
impacketApache 2.0
winkerberosApache 2.0

使用或重新分发本软件时,请参考这些库各自的许可证。

下载工具