强制认证攻击面盘点:adsec实战详解SpoolSample、PetitPotam的利用与防御

发布时间:2026/8/17 23:07:38
强制认证攻击面盘点:adsec实战详解SpoolSample、PetitPotam的利用与防御 强制认证攻击面盘点adsec实战详解SpoolSample、PetitPotam的利用与防御【免费下载链接】adsecAn introduction to Active Directory security项目地址: https://gitcode.com/gh_mirrors/ad/adsec强制认证攻击Coerced Authentication是当前Active DirectoryAD内网渗透中最具威胁的横向移动手法之一攻击者无需任何密码仅凭一个低权限账号就能逼迫域内高权限机器账户主动向攻击者控制的中继服务器发起认证进而配合NTLM Relay实现提权。本文基于开源项目adsecAn introduction to Active Directory security的实战练习系统盘点 SpoolSample 与 PetitPotam 两大经典强制认证攻击工具的利用原理、完整攻击链与防御策略帮助安全新手建立从攻击面识别到防护加固的完整认知。什么是强制认证攻击为什么它如此危险强制认证攻击的核心思路是利用 Windows 系统自身的协议设计缺陷诱导目标主机主动发起 NTLM 认证请求。攻击者并不直接破解密码而是让受害者自己送上门。这类攻击之所以危险主要有三个原因低门槛攻击者只需要一个普通域用户权限甚至无需域账号高价值被强迫认证的对象往往是域控、文件服务器等高权限机器账户隐蔽性强攻击过程不产生明显的爆破流量很难被传统入侵检测发现adsec 项目在 NTLM 与 Pass-the-Hash 练习 中先帮你打牢 NTLM 协议基础随后在 强制认证与 NTLM Relay 练习 中完整演示了这套攻击链路是初学者最理想的入门路径。两大经典工具对比SpoolSample 与 PetitPotam目前最常用的强制认证攻击工具有两个它们分别滥用不同的 RPC 协议接口对比维度SpoolSamplePetitPotam滥用协议MS-RPRN打印服务MS-EFSRPC加密文件系统触发接口RpcRemoteFindFirstPrinterChangeNotificationEfsRpcOpenFileRaw攻击目标域控、文件服务器等域控默认配置下即可攻击利用条件需满足一定环境条件门槛更低更易成功典型场景结合 NTLM Relay 中继到 LDAP中继到 LDAP 修改机器账户属性两者的本质相同都通过一个远程过程调用RPC迫使目标机器回连攻击者指定的地址从而带出机器的 NTLM 认证凭据。理解这一点你就抓住了整个攻击面的核心。SpoolSample 强制认证攻击的完整利用流程在 adsec 的练习环境中攻击分三步走。先剧透一下最终目标让攻击者创建的恶意机器账户获得对目标主机的委派权限RBCD最终模拟域管身份访问任意服务。第一步创建一个带 SPN 的机器账户攻击者先用 Powermad 快速创建一个新的机器账户因为机器账户默认拥有 SPN服务主体名称这是后续 Kerberos 委派攻击的前提New-MachineAccount -MachineAccount evilpc -Password ...第二步架设 NTLM Relay 中继服务器用 Impacket 的 ntlmrelayx 启动中继服务目标指向域控的 LDAP 服务并指定把委派权限授给刚刚创建的恶意账户ntlmrelayx.py --no-smb-server --delegate-access \ --escalate-user evilpc$ -t ldap://adsec-dc.contoso.com第三步用 SpoolSample 触发认证最后只需一条命令SpoolSample 就会欺骗目标机器向中继服务器发起认证.\SpoolSample.exe adsec-01 adsec-0080/foobar当你在 ntlmrelayx 控制台看到Delegation rights modified succesfully!时说明委派权限已经成功写入目标计算机对象。攻击链的下一步从强制认证到域管权限拿到委派权限只是第一步。adsec 的 基于资源的约束性委派RBCD练习 展示了完整的后续利用使用 Rubeus 的 S4U2Proxy 扩展恶意机器账户可以模拟任意用户包括域管申请目标主机的服务票据从而通过 SMB、WMI 等方式获得目标机器的控制权。整个攻击链可以总结为一张流程图强制认证触发 NTLM 凭据泄露NTLM Relay 中继到 LDAP 服务修改目标机器账户的msds-allowedtoactonbehalfofotheridentity属性利用 RBCD 委派模拟域管身份最终拿下目标主机甚至整个域强制认证攻击的 5 个关键防御措施防御的核心原则是切断认证可以被强制发起这条路径。以下是经过实战验证的五项关键措施1. 为域控启用 RPC 过滤器最直接有效针对 PetitPotam 滥用的 MS-EFSRPC 协议可在域控上配置 RPC 防火墙过滤器直接阻止该协议的外部调用。adsec 练习中专门设计了任务将 CMU 推荐的 RPC 过滤器方案 从 MS-EFSRPC 改写到 MS-RPRN并验证攻击是否失效——这是理解防御原理的最佳实践。2. 限制打印机服务暴露面SpoolSample 依赖打印服务MS-RPRN对于不需要网络打印功能的服务器应禁用 Print Spooler 服务必须使用时限制仅允许受信任主机访问。3. 对域控启用 LDAP 签名与信道绑定即使攻击者成功中继了 NTLM 认证启用 LDAP 签名LDAP Signing与信道绑定Channel Binding能阻止中继流量被借用让 Relay 到 LDAP 的攻击彻底失效。4. 强制使用 Kerberos禁用或监控 NTLMNTLM 是整个攻击链的载体。在条件允许的环境中逐步收紧 NTLM 的使用范围并对所有 NTLM 认证事件进行集中监控和告警。5. 禁止普通用户创建机器账户攻击链的起点是创建恶意机器账户。通过修改域默认策略ms-DS-MachineAccountQuota限制普通用户的机器账户创建数量能显著提高攻击成本。如何用 adsec 实验环境亲手复现与验证纸上得来终觉浅强烈建议你在安全的实验环境中亲手跑一遍完整攻击与防御闭环搭建实验环境参考 实验室搭建指南准备一台域控ADSEC-DC和两台成员服务器ADSEC-00、ADSEC-01安装攻击工具从 attacker-tools 工具包 解压所需工具压缩包密码为 infected并配置 Impacket 环境从侦察开始先用 PowerView 侦察练习 摸清域内资产再进入 强制认证与 NTLM Relay 练习 实战攻击打通完整链路继续完成 RBCD 委派练习体验从强制认证到模拟域管的完整攻击链验证防御按上文第 1、2 条加固措施配置后再次执行攻击观察是否失效总结强制认证攻击揭示了 Active Directory 生态中一个残酷的现实协议的便利性往往与安全性相悖。SpoolSample 与 PetitPotam 只是这条攻击面上的两个代表其背后是认证-中继-委派的完整利用体系。掌握攻击原理不是为了作恶而是为了更精准地设计防御。通过 adsec 项目你可以在真实模拟的域环境中同时掌握攻防两端的能力——这正是在网络安全领域建立核心竞争力最有效的方式。从现在开始动手搭建你的第一个 AD 安全实验环境吧。【免费下载链接】adsecAn introduction to Active Directory security项目地址: https://gitcode.com/gh_mirrors/ad/adsec创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考