蓝队视角:用ADCollector完成AD安全加固审计的完整自查清单
【免费下载链接】ADCollectorA lightweight tool to quickly extract valuable information from the Active Directory environment for both attacking and defending.项目地址: https://gitcode.com/gh_mirrors/ad/ADCollector
ADCollector是一款轻量级的 Active Directory(AD)信息枚举工具,一条命令即可从域环境中快速提取高价值安全信息。蓝队可以把它当作 AD 安全加固审计的"体检仪":不用手工翻 LDAP、不用写脚本,几分钟内输出一份覆盖委派、ACL、Kerberos、ADCS、组策略的完整自查报告。
为什么选 ADCollector 做 AD 安全自查?
相比动辄跑几十分钟的全量枚举工具,ADCollector 的设计目标非常明确——只提取最有价值的目标属性,而不是遍历所有用户/计算机对象的每个字段。这带来三个对蓝队很实用的优点:
- ⚡轻量快速:针对大型域环境优化,产生的 LDAP 流量小、执行时间短
- 🔒只读无侵入:全程仅执行 LDAP/SMB 查询,不修改任何 AD 对象,可放心在生产域中运行
- 📋结果导向:输出直接对应已知的 AD 攻击向量(Kerberos 委派、ACL 滥用、AS-REP Roasting、ADCS 证书滥用等),每一项都可直接映射到加固动作
它定位为一个"侦察起点"而非替代品:先跑一遍快速定位问题域,再针对性深入即可。相关说明可见 README.md。
快速开始:最快配置方法
环境要求与构建
工具基于 .NET Framework 编写(C# 项目),需要在一台域内 Windows 主机上的 PowerShell 中运行。构建产物为ADCollector.exe,源码入口与命令行选项定义分别位于 Options.cs 和 Program.cs:
.\ADCollector.exe # 默认:执行完整审计 .\ADCollector.exe --help # 查看全部开关💡 从非域加入主机运行时需能访问 SYSVOL;若启用了 UNC 硬化策略,需先放开 SYSVOL 的相互认证要求(具体注册表项见 README.md 的 Notes 部分)。
常用审计开关速查
| 开关 | 用途 | 蓝队场景 |
|---|---|---|
--LDAPOnly | 仅枚举 LDAP 数据(不访问 SYSVOL) | SYSVOL 不可达时的降级审计 |
--OU <OU> | 限定在指定 OU 内搜索 | 缩小范围、加速特定部门审计 |
--ACLScan <身份> | 对某个用户/组做 ACL 滥用扫描 | 排查特定账户的越权风险 |
--DACL <DN> | 查看某个对象的完整 DACL | 深入分析可疑授权 |
--NGAGP <账户> | 枚举嵌套组成员与生效的 GPO | 摸清某账户的真实权限 |
--ADCS/--TEMPLATES | 专注 AD 证书服务检查 | 防 ADCS 证书滥用攻击 |
--LDAPS | LDAP over SSL/TLS | 更安全的传输 |
AD 安全加固自查清单
默认运行后,报告按以下章节输出(核心枚举项定义在 BuildSearchString.cs,调度逻辑在 ADCollector.cs)。建议逐项打勾确认:
1️⃣ 域与信任关系基线
- Basic LDAP Information:确认域/林功能级别符合预期(功能级别越低,可利用的旧协议攻击面越大)
- Domain Trusts:是否存在多余的跨域信任?信任域对象的 SID 过滤(SID filtering)状态是否开启
- Domain Controllers / RODC:域控数量、操作系统版本是否全部升级到最新补丁级别
2️⃣ 特权账户与委派配置
这是整份报告中最关键的部分,每一项都对应经典横向移动路径:
- Privileged Accounts:域管理员组成员数量是否精简(最小化原则)
- Unconstrained Delegation Accounts:除域控外,不应有普通账户开启"信任用于任何委派"(GMSA 除外)
- Constrained Delegation [S4U2Self]:检查是否启用协议转换,S4U2Self 账户是否最小化
- Resources-based Constrained Delegation:是否被攻击者留下后门配置
- Protected Users / AdminSDHolder:特权账户是否归入 Protected Users,AdminSDHolder 保护范围是否合理
- Machine Owners:机器账户的创建者 SID,确认管理员对机器的所有权分布
- LAPS Password View Access:谁有权读取本地管理员密码
3️⃣ Kerberos 与密码策略加固
- DontRequirePreauth Accounts:这是 AS-REP Roasting 的直接目标——该列表应为空
- User Accounts With SPN Set + Password Does Not Expire:同时命中两项的账户是 Kerberoasting 首选目标,需重点核查
- Accounts With No Password / Allow Reversible Password Encryption:必须清零
- MSSQL / Exchange / HTTP SPN 账户:确认这些服务账户使用 GMSA/vGMSA 或至少密码定期轮换
- Kerberos Policy & System Access:从 SYSVOL 的
GptTmpl.inf提取的域默认密码/Kerberos 策略,对照组织基线核对 - Interesting Descriptions:默认过滤 description 中含
pass的账户,防止有人"贴心"地留下密码
4️⃣ 组策略(GPO)与 SYSVOL 审计
- Privilege Rights:各 GPO 中
Se*特权(如 SeImpersonatePrivilege、SeDebugPrivilege)的分配是否异常 - Restricted Group:受限组配置的本地组成员,防止被用来偷偷加管理员
- Group Policy Preference Passwords:SYSVOL 中的 GPP
cpassword明文密码——应为零,存量必须清理 - Effective GPOs:核查关键账户/机器实际生效的 GPO 是否符合预期(支持安全筛选器)
5️⃣ ACL 与 DACL 检查
- Interesting ACL on the Domain Object:域对象上任何非默认的 WriteDACL/WriteProperty/WriteDacl 类授权都是高危信号
- Interesting ACL on Group Policy Objects:GPO 授权异常 = 潜在的持久化通道
- 补充扫描:
--ACLScan <账户>排查特定身份可写哪些对象;--DACL <DN>深入查看单对象权限(实现见 DACL.cs)
6️⃣ ADCS 证书服务审计
针对近年高发的 ADCS 证书滥用攻击(实现见 ADCS.cs、CertificateTemplate.cs):
- Certificate Services:CA 配置中是否存在危险的注册/审批权限授予
- Interesting Certificate Templates:是否存在允许 SAN 编辑、低审批级别的高价值模板
- 可用
--ADCS或--TEMPLATES单独深查
7️⃣ 其他值得留意的项
- DNS Records in the Domain/Forest:AD 集成 DNS 记录中的异常条目(
--ADIDNS单独枚举) - User Passwords in LDAP:LDAP 中不应存储任何明文/可逆密码属性
- Confidential Attributes:确认含机密属性的模式对象未被随意读取
审计结果怎么落地?
跑完报告后,建议按"清零项 → 收敛项 → 复核项"三步走:
- 清零项(零容忍):GPP cpassword、无预认证账户、无密码账户、LDAP 存储密码——发现即整改
- 收敛项(最小化):域管理员数量、委派账户、
Se*特权、ACL 非默认授权——建立白名单,定期复查 - 复核项(周期化):把
.\ADCollector.exe纳入季度例行检查,对比两次输出差异即可快速发现配置漂移 📈
📌 小贴士:
--Debug模式可开启调试日志排查连接问题;--Domain+--DC组合可以指定目标域和域控,便于跨域审计。
常见问题
Q:普通域用户账号能跑吗?可以。工具以运行者身份查询,输出结果与该身份的读权限成正比——审计时建议使用具备 Directory Services 读权限的专用账户。
Q:和 PowerView 等工具是什么关系?ADCollector 不是替代品,而是"快速定位器"。它自动聚焦最有价值的目标属性,省去早期侦察阶段的思考成本;后续更精细的枚举可以按需手工执行。
Q:大域环境会影响业务吗?工具专为大域设计:分页搜索 + 异步并发 + 只查必要属性,LDAP 流量和耗时都控制在较低水平。
把这份清单打印出来或保存为 checklist,配合 ADCollector 的完整输出,一个下午就能完成一次扎实的 AD 安全加固审计 🔧。
【免费下载链接】ADCollectorA lightweight tool to quickly extract valuable information from the Active Directory environment for both attacking and defending.项目地址: https://gitcode.com/gh_mirrors/ad/ADCollector
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考