快速上手
环境要求
- • Python 3.8+
- • 域控制器网络可达(端口 636/389/445)
- • 一个域用户账号(具备只读权限即可)
- • 如需运行 GPP/cpassword 检查(第 25 项),需能访问 SYSVOL 共享
安装
# 克隆仓库
git clone https://github.com/dievus/ADPulse.git
cd ADPulse
# 创建虚拟环境(推荐)
python -m venv venv
# 激活虚拟环境
# Linux / macOS:
source venv/bin/activate
# Windows:
venv\\Scripts\\activate
# 安装依赖
pip install -r requirements.txt
基本使用
# 最简扫描 —— 明文密码
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!'
# 使用 Pass-the-Hash(无需明文密码)
python ADPulse.py --domain corp.local --user jsmith --hash 31d6cfe0d16ae931b73c59d7e0c089c0
# 指定域控制器 IP
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --dc-ip 10.0.0.1
# 仅生成 HTML 报告
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --report html
# 指定输出目录
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --output-dir /tmp/scans
参数速查表
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
--domain |
是 | — | 目标 AD 域名,如 corp.local |
--user |
是 | — | 域用户名 |
--password |
与 --hash 二选一 | — | 明文密码 |
--hash |
与 --password 二选一 | — | NTLM Hash (支持 LM:NT 格式) |
--dc-ip |
否 | DNS 自动解析 | 域控制器 IP |
--report |
否 | all |
报告格式: console, json, html, all |
--output-dir |
否 | 当前目录 | 报告输出父目录 |
--no-color |
否 | false |
禁用控制台颜色 |
案例
案例一:新接手 AD 环境的快速体检
场景:某公司新入职的安全工程师需要快速了解公司 AD 环境的安全状况。
python ADPulse.py --domain company.local --user secadmin --password 'MyP@ss!' --report all
扫描结果:
- • 发现严重问题 3 项:SYSVOL 中存在 GPP 加密密码、3 个用户配置了无约束委派、Domain Admins 组中存在 5 个过期未清理的账户
- • 发现高危问题 6 项:密码策略最小长度仅 6 位、12 个 Kerberoastable 账户、域功能级别仍为 2008 R2 等
案例二:渗透测试中的信息收集
场景:某红队在进行授权渗透测试,需要对目标域环境进行快速信息收集。
python ADPulse.py --domain target.local --user pentest --hash 31d6cfe0d16ae931b73c59d7e0c089c0 --report json
扫描结果:
- • 发现 8 个 Kerberoastable 账户,其中 3 个同时具有 adminCount=1(高价值目标)
- • 检测到 ESC1 漏洞:一个证书模板允许客户端提供 SubjectAltName 且注册权限过于宽松
- • 发现 2 个用户账户启用了 \"密码永不过期\" 且密码超过 180 天未修改
- • SID 历史注入检测未发现异常 —— 排除跨域提权路径
案例三:ADCS 证书服务专项排查
场景:某企业在安全通告中了解到 ADCS 漏洞(ESC1–ESC15)的严重性,需要专项评估内部 CA 的安全性。
python ADPulse.py --domain bank.local --user auditor --password 'AuditP@ss!' --report html --output-dir ./adcs-audit
扫描结果:
- • ESC1:发现 2 个证书模板允许注册者自定义 SubjectAltName,且同时允许低权限用户注册
- • ESC6:CA 服务器启用了 EDITF\_ATTRIBUTESUBJECTALTNAME2 标志
- • ESC8:CA 的 Web 注册端点 (/certsrv) 使用 HTTP 而非 HTTPS,存在 NTLM 中继风险
- • ESC13:发现管理员额外配置的 OID 组链接可能被滥用于提权
- • 证书模板清单显示 14 个模板中有 5 个使用了 RSA 1024 位密钥(弱密钥)
总结
ADPulse 是一款实用的 AD 安全审计工具,有 35 项检查、三种报告、一行命令,不需要复杂的配置,不引入写操作风险(但仍不建议用域控管账号使用)。
项目地址:https://github.com/dievus/ADPulse
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论