ADCollector枚举输出全解:红队新手必知的30+类AD攻击面解读清单

📅 发布时间:2026/8/24 9:04:11
ADCollector枚举输出全解:红队新手必知的30+类AD攻击面解读清单 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/ADCollectorADCollector 是一款轻量级 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输出标题FilterLDAP 过滤器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 票据伪造只委派到确需的服务 SPN7Resources-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 Users11Confidential 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域对象上的危险 ACEGenericAll、WriteDacl 等可解析出 GUID 含义能写域对象 潜在域控用工具持续扫描有趣 ACL19Interesting ACL on GPOs可编辑 GPO 的账户 可植入脚本执行GPO 劫持攻击收紧 GPO 容器 ACL20LAPS 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红队新手的阅读顺序实战清单拿到完整输出后建议按这个优先级阅读先找明文密码GPP cpassword第 24 类与 LDAP 凭据第 15 类——命中即速通再看委派无约束/约束/资源委派第 5~7 类——可写票据路径然后看 Roast 清单AS-REP Roast第 12 类与 SPN 账户第 8~9 类——离线爆破候选接着看 ACL域对象、GPO、LAPS 的有趣 ACL第 18~22 类——权限边界即攻击边界最后看 AD DNS 与 ADCS第 28~30 类——发现非常规攻击入口 防守者可以把这份清单反过来用每一类输出非空就意味着对应风险项需要在整改单上打勾。常见使用问题 FAQQ1输出里为什么有的段落是空的ADCollector 对部分采集做了前置判断如 SYSVOL 连不上会跳过 SMB 段且无结果本身代表该类风险不存在属于正常现象。Q2想在特定 OU 下缩小范围怎么办使用--OU OUIT,DCdomain,DClocal配合--ACLScan可对指定 OU 做定向权限扫描参数说明见 README.md 的 Usage 一节。Q3ADCollector 能替代 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),仅供参考