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

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

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

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

工具目录

分类

查看所有分类
Loading categories
DPAT — 渗透测试人员的域密码审计工具 | Kitploit
工具/GitHubGitHub/clr2of8/dpat
密码破解漏洞分析渗透测试
GitHubclr2of8/dpat

DPAT

渗透测试人员的域密码审计工具

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DPAT 图标 域密码审计工具 (DPAT)

DPAT 是一款基于 Python 的安全工具,用于分析从 Active Directory 域控制器中提取的密码哈希。它能够生成全面的 HTML 报告,展示密码使用统计信息、策略违规情况以及从 NTDS 转储和密码破解结果中获得的安全洞察。

示例报告

DPAT 摘要

组统计信息

图表

功能特性

  • 全面的密码分析:分析密码长度分布、重用模式和策略违规情况
  • 交互式 HTML 报告:生成详细的、可点击的 HTML 报告,支持下钻查看
  • 密码历史支持:在可用时分析密码历史数据
  • 基于组的分析:包含特权帐户的组成员统计信息
  • 可 Kerberoast 帐户分析:识别并分析已破解的 Kerberoastable 服务帐户
  • LM 哈希破解:从部分破解的 LM 哈希自动尝试破解 NT 哈希
  • 数据脱敏:可选择脱敏报告中的敏感数据以便共享
  • 多种输入格式:支持 Hashcat、John the Ripper 及其他密码破解工具

系统要求

  • Python 3.8 或更高版本
  • pycryptodome(用于 MD4 哈希支持)

安装

基本安装

安装核心依赖:

root@kitploit:~
pip install -r requirements.txt

用于开发和测试:

root@kitploit:~
pip install -r requirements-dev.txt

手动安装

如果你更喜欢逐个安装依赖:

root@kitploit:~
pip install pycryptodome

使用 Poetry

root@kitploit:~
poetry install

快速开始

  1. 使用 secretsdump.py 从域控制器提取 NTDS 数据
  2. 使用 Hashcat、John the Ripper 或类似工具破解密码
  3. 运行 DPAT 生成分析报告
root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8

使用说明

基本命令

root@kitploit:~
python dpat.py -n <ntds_file> -c <cracked_file> -p <min_password_length>

必需参数

  • -n, --ntdsfile:NTDS 文件(secretsdump.py 的输出)
  • -c, --crackfile:密码破解输出文件(hashcat.potfile、john.pot 等)
  • -p, --minpasslen:域策略规定的最小密码长度

可选参数

  • -o, --outputfile:HTML 报告文件名(默认:_DomainPasswordAuditReport.html)
  • -d, --reportdirectory:输出目录(默认:"DPAT Report")
  • -s, --sanitize:脱敏报告中的密码和哈希
  • -g, --groupsdirectory:包含组成员文件的目录
  • -m, --machineaccts:在分析中包含计算机帐户
  • -k, --krbtgt:在分析中包含 krbtgt 帐户
  • -kz, --kerbfile:包含可 Kerberoast 帐户的文件
  • -w, --writedb:将 SQLite 数据库写入磁盘供检查
  • --no-prompt:跳过浏览器提示(适用于自动化)
  • -dbg, --debug:启用调试输出

示例命令

基本分析:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8

带组分析:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -g /path/to/groups

脱敏报告:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

带 Kerberoastable 帐户:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -kz kerberoastable.txt

输入文件格式

NTDS 文件格式

NTDS 文件应采用 secretsdump.py 输出的格式:

root@kitploit:~
domain\username:RID:lmhash:nthash:::

破解密码文件格式

Hashcat 格式:

root@kitploit:~
nthash:password
lmhash:password

John the Ripper 格式:

root@kitploit:~
$NT$nthash:password
$LM$lmhash:password

十六进制编码的密码:

root@kitploit:~
nthash:$HEX[68656c6c6f]

组文件格式

组成员文件每行应包含一个用户名:

root@kitploit:~
domain\username

数据提取

第一步:提取 NTDS 数据

在域控制器上创建 IFM(从媒体安装)备份:

root@kitploit:~
ntdsutil "ac in ntds" "ifm" "cr fu c:\temp" q q

这将创建:

  • c:\temp\Active Directory\ntds.dit
  • c:\temp\registry\SYSTEM

第二步:转换为 DPAT 格式

使用 secretsdump.py 转换备份:

root@kitploit:~
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer

对于密码历史(如果有):

root@kitploit:~
secretsdump.py -system registry/SYSTEM -ntds "Active Directory/ntds.dit" LOCAL -outputfile customer -history

第三步:破解密码

使用 Hashcat:

root@kitploit:~
hashcat -m 1000 customer.ntds /path/to/wordlist

使用 John the Ripper:

root@kitploit:~
john --format=NT customer.ntds

报告章节

DPAT 生成包含以下内容的全面报告:

  • 密码统计信息:总哈希数、唯一哈希数、已破解密码数
  • 密码策略违规:短于策略最小长度的密码
  • 用户名/密码匹配:使用用户名作为密码的帐户
  • LM 哈希分析:非空白 LM 哈希及破解统计信息
  • 密码长度分布:详细长度分析,支持下钻
  • 密码重用:跨多个帐户共享的密码
  • 常用密码:最常使用的密码
  • 密码历史:历史密码分析(如有)
  • 组统计信息:特权组分析(如果提供了组文件)
  • 可 Kerberoast 帐户:服务帐户分析(如果提供了)

示例数据

仓库的 sample_data/ 目录中包含用于测试的示例数据:

  • customer.ntds:示例 NTDS 文件
  • oclHashcat.pot:示例破解密码
  • history/:包含密码历史的示例数据

使用示例数据进行测试:

root@kitploit:~
python dpat.py -n sample_data/customer.ntds -c sample_data/oclHashcat.pot -p 8

高级功能

组分析

使用 PowerShell 创建组成员文件:

root@kitploit:~
Get-NetGroupMember -Recurse -GroupName "Domain Admins" > "Domain Admins.txt"

Kerberoastable 帐户分析

使用 CypherHound 的 parse-kerberoastable.py 脚本生成可 Kerberoast 帐户文件,以增强分析。

CypherHound 集成

你可以将 CypherHound 生成的文件导入 DPAT,以便为 DPAT 报告提供更多统计信息。目前,额外的统计信息包括:

  • 给定域中每个组的组破解统计信息
  • 已破解的 Kerberoastable 帐户

如果你想利用它提供这些额外统计信息,需要使用以下脚本:

  • parse-memberships.py。将输出目录通过 -g 标志传递给 DPAT。
  • parse-kerberoastable.py。将输出文件通过 -kz 标志传递给 DPAT。

它们是简单的脚本,使用链接如上,使用起来应该很直接。

数据脱敏

使用 -s 标志创建适合共享的脱敏报告:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -s

故障排除

常见问题

"No module named 'distutils'"

  • 这在 Python 3.12+ 上是预期的。DPAT 会自动处理。

空报告

  • 验证你的 NTDS 文件格式是否符合预期格式
  • 检查你的破解密码文件是否包含匹配的哈希
  • 确保最小密码长度参数正确

缺少详情链接

  • 如果未找到数据,某些报告部分可能没有详情页面
  • 这对于空类别来说是正常行为

调试模式

启用调试输出以进行故障排除:

root@kitploit:~
python dpat.py -n customer.ntds -c hashcat.potfile -p 8 -dbg

测试

运行测试套件:

root@kitploit:~
python -m unittest tests.unit.test_core -v
python -m unittest tests.integration.test_integration -v

贡献

  1. Fork 该仓库
  2. 创建一个功能分支
  3. 进行你的更改
  4. 为新功能添加测试
  5. 提交 Pull Request

许可证

本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件。

致谢

  • Carrie Roberts - 原作者
  • Dylan Evans - 贡献者

原赞助方:

Black Hills Information Security

支持

如有问题、疑问或贡献,请使用 GitHub 问题跟踪器。

下载工具