文章总结: ADPulse是一款开源的ActiveDirectory安全审计工具,基于Python开发,通过LDAP(S)连接域控执行35项自动化安全检查,涵盖密码策略、特权账户、Kerberos攻击面、ADCS/PKI配置、域信任、ACL权限滥用等核心风险点。工具以只读方式评估AD配置错误与攻击面,支持控制台、JSON、HTML多格式报告输出,适用于IT管理员、渗透测试人员与安全团队进行常态化安全巡检与合规评估,能够快速发现AD环境中的关键安全隐患。 综合评分: 75 文章分类: 安全工具,内网渗透,渗透测试,安全建设,漏洞分析
ADPulse:开源的内网渗透和内网安全审计工具
原创
网安武器库 网安武器库
网安武器库
2026年3月17日 21:24 湖南
更多干货 点击蓝字 关注我们
注:本文仅供学习,坚决反对一切危害网络安全的行为。造成法律后果自行负责!
往期回顾
·VulnRadar:集成多模块的Chrome浏览器安全渗透测试扩展
·NetSonar:跨平台多协议的开源网络诊断工具
·CTF和实战可用-文件上传漏洞检测专业工具:UploadRanger
·SwordfishSuite:多平台抓包分析利器-现代化 Web 安全测试平台
·OpenClaw Exposure Watchboard:OpenClaw实例公网暴露安全监控面板
·HackerMind:三AI架构自集成MCP的链上对话智能渗透系统工具
背景分析
Active Directory作为企业核心身份域管理组件,存在密码策略配置不当、特权账户管控缺失、Kerberos漏洞、ADCS/PKI配置风险、域信任权限过高、ACL权限滥用等多类安全问题,人工逐项核查效率低且易遗漏,ADPulse这款开源工具应运而生,通过LDAP(S)连接域控制器执行35项自动化安全检查,以只读方式评估AD配置错误与攻击面,输出多格式报告,帮助IT管理员、渗透测试人员与安全团队快速发现AD核心安全风险。
安装介绍
地址:https://github.com/dievus/ADPulse
ADPulse基于Python开发,运行前需确保本地已配置Python环境,首先需从项目仓库克隆代码或下载源码包,获取工具文件与依赖清单:
# 克隆项目仓库(获取完整源码与requirements文件)
git clone https://github.com/dievus/ADPulse.git
# 进入项目目录
cd ADPulse
项目提供requirements.txt依赖清单文件,需通过pip安装所需依赖包,确保工具运行环境完整:
# 安装项目依赖(基于requirements.txt)
pip install -r requirements.txt
依赖安装完成后,无需额外安装流程,直接通过Python命令调用ADPulse.py即可启动工具,若启动失败需检查Python环境或依赖包是否安装成功。
功能介绍
| 序号 | 检查项 | 功能说明 | | — | — | — | | 1 | 密码策略 | 最小长度、密码历史、复杂度、锁定阈值、可逆加密、精细密码策略对象 (PSO) | | 2 | 特权账户 | 域管理员、企业管理员、架构管理员等敏感组的成员;失效成员、密码永不过期、描述中包含密码、内置管理员状态、krbtgt 账户使用时长 | | 3 | Kerberos | 可 Kerberoast 攻击的账户(用户对象上的 SPN)、可 AS-REP Roast 攻击的账户、仅使用 DES 加密、同时满足 adminCount=1+SPN+PasswordNeverExpires 的高价值目标 | | 4 | 无约束委派 | 被信任进行无约束 Kerberos 委派的非域控计算机与用户账户 | | 5 | 约束委派 | 配置协议转换(S4U2Self)的账户及标准约束委派目标 | | 6 | ADCS / PKI | ESC1、ESC2、ESC3、ESC6、ESC8、ESC9、ESC10、ESC11、ESC13、ESC15 漏洞、弱密钥长度、注册权限 ACL 枚举 | | 7 | 域信任关系 | 未启用 SID 过滤的双向信任、林信任、外部信任 | | 8 | 账户健康度 | 失效用户 / 计算机、从未登录的账户、PASSWD_NOTREQD 标记、账户级可逆加密、旧密码、重复 SPN | | 9 | 协议安全 | LDAP 签名 / 通道绑定、域控操作系统版本、域 / 林功能级别、NTLMv1/WDigest 配置 | | 10 | 组策略对象 | 禁用、孤立、未链接、空的 GPO;过多的 GPO 数量 | | 11 | LAPS | 旧版 LAPS 与 Windows LAPS 架构检测;未配置 LAPS 密码的计算机 | | 12 | LAPS 覆盖率 | 所有非域控计算机中配置 LAPS 托管密码的占比 | | 13 | DNS & 基础架构 | 通配符 DNS 记录、LLMNR/NetBIOS-NS 投毒风险提示 | | 14 | 域控制器 | 单域控检测、域控上的旧版操作系统、FSMO 角色、RODC 密码复制策略 | | 15 | ACL / 权限 | ESC4、ESC5、ESC7、非特权主体的 DCSync 权限、受保护用户组、委派 ACL | | 16 | 可选功能 | AD 回收站、特权访问管理(PAM) | | 17 | 复制健康 | 站点数量、站点链接复制间隔、nTDSDSA 对象 | | 18 | 服务账户 | gMSA 部署情况、普通用户类型服务账户、adminCount=1 的服务账户 | | 19 | 其他加固项 | 计算机账户配额、墓碑生存期、架构管理员 / 企业管理员成员、来宾账户、审计策略提示 | | 20 | 已弃用操作系统 | 已启用且报告 Windows 已停止支持版本的计算机账户 | | 21 | 旧版协议 | SMBv1 检测、SMB 签名强制、空会话接受(网络探测) | | 22 | Exchange | Exchange Windows Permissions 组(PrivExchange/CVE-2019-0686)、Exchange 可信子系统 | | 23 | 受保护管理员用户 | adminCount=1 清单 —— 孤立、失效(禁用)、过期账户 | | 24 | 描述中包含密码 | 基于关键词检测用户、管理员、计算机描述字段中存储的凭证 | | 25 | GPP / cpassword (MS14-025) | 遍历 SYSVOL 中的组策略首选项 XML 文件,使用微软公开 AES 密钥解密 cpassword | | 26 | AdminSDHolder ACL | 读取 AdminSDHolder 的 DACL,标记拥有写入权限的非特权主体;这些 ACE 会通过 SDProp 每 60 分钟自动同步到所有受保护账户 | | 27 | SID 历史 | 检测存在 sIDHistory 的账户;若注入的 SID 映射到特权组(域管、企业管等)则标记为严重 | | 28 | 影子凭证 | 标记用户与计算机对象上的异常 msDS-KeyCredentialLink 条目,可实现无密码证书认证 | | 29 | RC4 / 旧版 Kerberos 加密 | 检查服务账户、域控、管理员账户,识别仍允许 RC4-HMAC 弱加密类型的对象 | | 30 | 特权组中的外来安全主体 | 枚举并标记来自受信任域、加入敏感本地组(域管理员、备份操作员等)的外来安全主体 (FSP) | | 31 | 兼容 Windows 2000 前访问 | 检查 Everyone / 匿名登录是否在此组中,该配置允许网络中任意位置未认证的 SAMR/LSARPC 枚举 | | 32 | 危险约束委派目标 | 将委派目标与域控主机名对比,标记委派到域控上高价值服务类(ldap/cifs/host/gc/krbtgt 等)的账户 | | 33 | 孤立 AD 子网 | 查找未分配到站点的子网,会导致客户端随机分配域控,可能跨广域网传输认证流量 | | 34 | 旧版 FRS SYSVOL 复制 | 检测 SYSVOL 是否仍通过已弃用的文件复制服务 (FRS) 而非 DFSR 复制,标记迁移中断状态 | | 35 | 域对象 / 域控上的 RBCD | 检查域命名上下文头部与所有域控计算机对象的 msDS-AllowedToActOnBehalfOfOtherIdentity,该配置可通过 S4U2Proxy 获取域管权限 |
ADPulse核心功能为连接域控制器执行AD安全审计,基础扫描命令可指定域、用户与密码完成35项安全检查,具体命令如下:
# 基础AD安全扫描
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!'
若需指定特定域控制器执行扫描,可在命令中添加--dc-ip参数,精准定位审计目标,命令示例如下:
# 指定域控制器IP执行扫描
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --dc-ip 10.0.0.1
ADPulse支持控制台、JSON、HTML三种报告格式输出,可通过--report参数指定单一格式或all输出所有格式,命令示例如下:
# 指定报告输出格式(控制台/JSON/HTML/all)
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --report console/json/html/all
如需将报告文件保存至指定目录,可添加--output-dir参数自定义输出路径,便于报告归档管理,命令示例如下:
# 自定义报告输出目录
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --output-dir /tmp/scans
若终端环境不支持彩色输出,可添加--no-color参数禁用彩色显示,保证报告内容清晰可读,命令示例如下:
# 禁用控制台彩色输出
python ADPulse.py --domain corp.local --user jsmith --password 'P@ssw0rd!' --no-color
ADPulse的35项安全检查覆盖密码策略、特权账户、Kerberos、ADCS/PKI、域信任、ACL权限、LAPS、遗留协议等核心AD安全风险点,扫描完成后会以指定格式输出详细报告,包含风险评分与等级划分,仅执行只读操作,不会对AD环境产生写入影响,可用于常态化安全巡检与合规评估。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:网安武器库 网安武器库 网安武器库《ADPulse:开源的内网渗透和内网安全审计工具》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论