ADCollector枚举输出全解:红队新手必知的30+类AD攻击面解读清单
2026/8/24 9:03:58 网站建设 项目流程

ADCollector枚举输出全解:红队新手必知的30+类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 信息枚举工具,用于快速提取域环境中最有价值的信息,同时服务于攻击(Recon)与防御两侧。它不追求"全量枚举",而是聚焦于高价值目标的关键属性、ACL 与配置,非常适合在企业大规模环境中低噪音地摸清 AD 攻击面。

跑完一次完整枚举后,终端会按标题分块输出 30 多类结果——从"基础 LDAP 信息"到"证书模板"。新手最容易卡在:每一块输出到底意味着什么?能发起什么攻击?管理员该修什么?

下面这份清单按输出顺序逐类解读,配合攻击手法与防御建议,帮你 10 分钟读懂全部结果。🎯

输出是如何生成的:先看懂 3 个核心机制

在逐条解读之前,建议先理解 ADCollector 的三大组件,这样每类输出的来源就一目了然:

组件文件路径作用
搜索条件构建BuildSearchString.cs把每类枚举翻译成 LDAP 过滤器 + 返回属性列表
采集器Collector/ 目录按搜索字符串从域控/SYSVOL 拉取数据
展示器Display/ 目录把结果格式化打印,每一类的Title就是你看到的输出标题

完整枚举的入口在 ADCollector.cs 的Run()方法:它依次执行 LDAP 基础信息、信任关系、LDAP 对象枚举、嵌套组与 GPO、ACL 扫描、ADCS、SYSVOL/SMB、GPP 密码、AD DNS 九大步骤——这也是你阅读输出的阅读顺序。

💡 每一类输出都由三元组驱动:Title(输出标题)+Filter(LDAP 过滤器)+ReturnAttributes(提取属性),定义见 SearchString/LDAPSearchString.cs。

第一类:域级输出(第 1~8 类)

这类输出描述的是"域本身",攻击者用它规划横向路径,防守者用它确认基线。

#输出标题攻击含义防御动作
1Basic LDAP InformationLDAP 支持的版本、SASL 机制、域/林/DC 功能级别,判断能否打协议层漏洞关闭过期 LDAP 版本与弱加密机制
2Domain Trusts列出所有域/林信任、SID、SID Filtering 状态;SID Filtering 关闭 = 可尝试 SID History 注入开启 SID Filtering,清理无用信任
3Domain Controllers (GC/RODC)定位域控;RODC 段还会列出可管理该 RODC 的组——误配可直接拿下 RODC 密码严控 RODC Admins 组成员
4Privileged Users (DA/EA)域管理员、企业管理员组成员,Kerberoasting 与提权的第一目标审计 DA/EA 成员,落实最小化
5Unconstrained Delegation非 DC 的"无约束委派"账户:拿下它就能以他人身份重放票据改用约束委派或撤销userAccountControl16777216 位
6Constrained Delegation (S4U2Self/S4U2Proxy)配置约束委派的服务账户,可尝试 S4U2Self 票据伪造只委派到确需的服务 SPN
7Resources-based Constrained Delegation资源端配置的 rBCD,可成为委派链跳板审查msDS-AllowedToActOnBehalfOfOtherIdentity属性
8MSSQL/Exchange/RDP/PS Remoting SPN 账户服务账号 SPN 清单,Kerberoasting 候选名单使用 gMSA 或长随机密码

🔑 信任关系输出由原生 APIDsEnumerateDomainTrusts直接获取,解析逻辑在 NativeMethod.cs 与 Objects/Trust.cs。

第二类:账户与凭据类(第 9~15 类)

这是"含金量最高"的一组,直接指向可离线破解或可滥用的凭据。

#输出标题攻击含义防御动作
9User accounts with SPN & password does not expireSPN + 永不过期密码 = 经典 Kerberoasting 组合拳密码定期轮换,SPN 账户与高权限解耦
10Protected Users受保护用户清单:攻击者用它"排除",防守者用它核对覆盖范围将特权账户全部加入 Protected Users
11Confidential attributes标记了敏感属性(如描述、电话)的账户,信息泄露风险点审查msDS-AllowedToDelegateTo等敏感字段
12AS-REP Roast (DontRequirePreAuth)免预认证账户 = 无需任何交互即可离线爆破密码(AS-REP Roasting)撤销DONT_REQ_PREAUTH标志
13AdminSDHolder protected accounts被 AdminSD 机制保护的对象,通常即高价值特权组监控 AdminSDHolder ACL 变更
14Sensitive & Not delegate accounts账户标记敏感却未启用委派保护(或反之),配置矛盾点统一账户敏感位策略
15User Credentials stored in LDAP明文/弱保护存放在 LDAP 属性中的凭据,属于高危配置立即迁移至 LAPS/vGMSA 等方案

🧩 "用户凭据存于 LDAP" 是 v3.0.1 新增的枚举项,说明作者持续把新攻击面纳入工具——这类"输出标题"往往就是新攻击技术的早期信号。

第三类:域策略与 ACL 类(第 16~22 类)

#输出标题攻击含义防御动作
16Domain attributes (MAQ/minPwdLength/maxPwdAge/lockoutThreshold)密码策略画像:弱策略意味着在线爆破可行性大增对齐密码策略基线(长度/复杂度/锁定)
17Kerberos Policy票据生命周期等 Kerberos 全局参数,配合委派攻击窗口评估审查票据最大寿命配置
18Interesting ACL on the Domain Object域对象上的危险 ACE(GenericAll、WriteDacl 等),可解析出 GUID 含义;能写域对象 = 潜在域控用工具持续扫描"有趣 ACL"
19Interesting ACL on GPOs可编辑 GPO 的账户 = 可植入脚本执行(GPO 劫持攻击)收紧 GPO 容器 ACL
20LAPS Password View Access有权限读取 LAPS 本地管理员密码的账户——等于拿到目标机器的管理员口令严格限定 LAPS 属性读权限
21Machine Owner对象msDS-OwnerSID指向的高价值账户,所有权即控制审计计算机账户所有者
22Privileges Rights defined in Group PoliciesGPO 中定义的 SeXxxRight 特权分配,如 SeDebugPrivilege 滥用最小化特权指派

🛠️ ACL 中 GUID 的自动解析(Extended Rights → 权限名)实现在 Rights.cs 与 Utilities/SchemaUtil.cs,所以输出里看到的"User-Force-Change-PWD"这类名字而非 GUID,正是这层翻译的结果。

第四类:SYSVOL / SMB 类(第 23~24 类)

这一类不走 LDAP,而是读取域控 SYSVOL 共享(因此非域环境需 SYSVOL 访问权限):

#输出标题攻击含义防御动作
23SYSVOL 敏感文件扫描 SYSVOL 中含敏感内容的配置文件定期清理 SYSVOL 残留
24Group Policy Preference Passwords (GPP cpassword)GPP 明文密码 cpassword 文件——可直接解出域内账户口令迁移 GPP 密码为 LAPS,删除旧 cpassword 文件

GPP 扫描逻辑见 Collector/CollectSYSVOL.cs 与 ADCollector.cs 中的GetGPP():先枚举 XML 文件清单,再按cpassword属性过滤匹配。若你的环境启用了加固 UNC 策略导致连不上 SYSVOL,参考 README.md 中的reg add修复命令。

第五类:GPO 与组关系类(第 25~27 类)

#输出标题攻击含义防御动作
25Effective GPOs on the current user/computer当前用户/计算机实际生效的 GPO(含安全过滤、WMI 过滤),判断"我在域里的真实位置"定期核对 GPO 链接与过滤规则
26Nested Group Membership嵌套组展开后的完整组成员——揪出"隐藏"在多层组里的域管扁平化特权组结构或定期审计嵌套
27Restricted GroupGPO 受限组机制可静默添加本地管理员,攻击者可用它持久化审查Restricted Groups配置

📌 这一类也支持单目标模式:--NGAGP <用户名>只查某账户的嵌套组与生效 GPO,--DACL <DN>只查某对象 DACL,见 Program.cs 的分发逻辑。

第六类:ADCS 证书服务类(第 28~29 类)

ADCS 是近年 AD 攻防的"新宠",ADCollector 用两个专门开关覆盖:--ADCS--TEMPLATES

#输出标题攻击含义防御动作
28Certificate ServicesCA 配置(SAN 验证、注册权限等),判断是否存在 CVE-2022-26923/26943 类条件加固 CA 配置,及时打补丁
29Interesting Certificate Templates危险模板(ESC1~ESC10 规则):可申请含 SAN 且低权限可注册的模板 = 伪造任意证书提权用证书模板审计工具复核

数据对象定义在 Objects/ADCS.cs 与 Objects/CertificateTemplate.cs,展示层 Display/DisplayADCS.cs 会按"是否危险模板"分组呈现。

第七类:DNS、模式与主机类(第 30~34 类)

#输出标题 / 开关攻击含义防御动作
30ADIDNS Records(--ADIDNS从 AD 集成 DNS 中挖 SRV 等记录,定位隐藏域控与服务控制 DNS 区域写权限
31Schema Attribute Count(--SCHEMA模式属性计数,用于对比基线、发现异常扩展属性监控模式变更
32Session/User/LocalGroup 枚举(--SessionEnum等)在目标主机枚举会话、用户、本地组成员,横向侦察三连限制远程管理接口
33ACL Scan(--ACLScan <身份>全域扫描该身份可写的对象,输出"我能控制谁"的清单高危,仅限授权评估
34Interesting descriptions on user objects用户对象描述字段中的敏感信息(口令、系统名常写这里)清理描述字段,启用 DLP

红队新手的阅读顺序(实战清单)

拿到完整输出后,建议按这个优先级阅读:

  1. 先找明文密码:GPP cpassword(第 24 类)与 LDAP 凭据(第 15 类)——命中即"速通"
  2. 再看委派:无约束/约束/资源委派(第 5~7 类)——可写票据路径
  3. 然后看 Roast 清单:AS-REP Roast(第 12 类)与 SPN 账户(第 8~9 类)——离线爆破候选
  4. 接着看 ACL:域对象、GPO、LAPS 的"有趣 ACL"(第 18~22 类)——权限边界即攻击边界
  5. 最后看 AD DNS 与 ADCS(第 28~30 类)——发现非常规攻击入口

📋 防守者可以把这份清单反过来用:每一类输出非空,就意味着对应风险项需要在整改单上打勾。

常见使用问题 FAQ

Q1:输出里为什么有的段落是空的?ADCollector 对部分采集做了前置判断(如 SYSVOL 连不上会跳过 SMB 段),且"无结果"本身代表该类风险不存在,属于正常现象。

Q2:想在特定 OU 下缩小范围怎么办?使用--OU "OU=IT,DC=domain,DC=local",配合--ACLScan可对指定 OU 做定向权限扫描,参数说明见 README.md 的 Usage 一节。

Q3:ADCollector 能替代 PowerView 吗?不能。它定位是"快速侦察":自动化提取高价值信息,减少早期阶段的思考成本与流量;深度枚举仍需后续人工定向排查。定位说明见 README.md。

Q4:从非域加入机器运行报错 SYSVOL 访问失败?说明启用了加固 UNC 策略,按 README 给出的注册表命令放行\\*\SYSVOL即可。

总结

ADCollector 的 30+ 类输出本质上是一张AD 攻击面检查表:域级输出回答"域长什么样",账户凭据类回答"谁能被直接拿下",策略 ACL 类回答"权限边界在哪里",ADCS/DNS 类回答"还有没有非常规入口"。

  • 红队:按上面 5 步阅读顺序,20 分钟内锁定最短路
  • 蓝队:按输出标题逐项建立整改基线,让"输出为空"成为常态

源码入口速查:

  • 完整枚举流程:ADCollector.cs
  • 输出标题定义:BuildSearchString.cs
  • 搜索结果展示层:Display/ 目录
  • 扩展权限 GUID 解析:Rights.cs

把这份清单打印出来,对照你手里的 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询