Windows RPC 新漏洞允许攻击者在所有 Windows 版本中提升权限

2026-04-26 02:35:34 1 26

PhantomRPC 是 Windows 远程过程调用 (RPC) 中新发现的一种架构漏洞,它能够将本地权限提升到 SYSTEM 级别访问权限,可能会影响所有版本的 Windows。


PhantomRPC 是 Windows 远程过程调用 (RPC) 中新发现的一种架构漏洞,它能够将本地权限提升到 SYSTEM 级别访问权限,可能会影响所有版本的 Windows。

这项研究由卡巴斯基应用安全专家 Haidar Kabibo 于 4 月 24 日在 Black Hat Asia 2026 大会上发表,详细介绍了五种不同的攻击途径,而微软尚未对其中任何一种途径发布补丁。

PhantomRPC 并非典型的内存损坏漏洞或单个组件的逻辑缺陷。相反,它利用了 Windows RPC 运行时 (rpcrt4.dll) 处理与不可用 RPC 服务器的连接方式中的架构设计缺陷。

当一个具有高权限的进程尝试向离线或已禁用的服务器发起 RPC 调用时,RPC 运行时不会验证响应服务器是否合法。

这意味着,控制低权限进程(例如在 NT AUTHORITY\NETWORK SERVICE 下运行的进程)的攻击者可以部署模仿合法端点的恶意 RPC 服务器并拦截这些调用。


核心攻击手段依赖于 RpcImpersonateClient API。当具有特权的客户端以高模拟级别连接到伪造服务器时,攻击者的服务器会调用此 API 来获取客户端的安全上下文——从而直接从低权限服务帐户提升到 SYSTEM 或 Administrator 帐户。

五种利用途径


研究人员确定了五种具体的攻击场景:

  • gpupdate.exe 强制执行 — 执行 gpupdate /force 命令会导致组策略客户端服务(以 SYSTEM 权限运行)向 TermService 发起 RPC 调用。如果 TermService 被禁用,攻击者的伪造 RPC 服务器会拦截该调用,从而获得 SYSTEM 级别的访问权限。
  • Microsoft Edge 启动时 ——当 msedge.exe 启动时,它会触发一个对 TermService 的 RPC 调用,并采用高级别的模拟权限。攻击者可以利用伪造的端点,在无需任何强制手段的情况下,从网络服务权限提升到管理员权限。
  • WDI 后台服务 ——诊断系统主机 (WdiSystemHost) 以 SYSTEM 权限运行,每 5-15 分钟定期轮询 TermService。无需用户交互;攻击者只需等待自动调用即可。
  • ipconfig.exe 和 DHCP 客户端 — 执行 ipconfig.exe 会触发对 DHCP 客户端服务的内部 RPC 调用。在 DHCP 被禁用且存在伪造服务器的情况下,本地服务攻击者可以提升权限至管理员级别。
  • w32tm.exe 和 Windows 时间 — Windows 时间可执行文件首先尝试连接到不存在的命名管道 \PIPE\W32TIME 。攻击者可以在不禁用合法的 W32Time 服务的情况下暴露此端点,然后冒充任何运行该二进制文件的特权用户。

微软的回应——不发布补丁


该漏洞已于 2025 年 9 月 19 日报告给微软安全响应中心 (MSRC)。

20 天后,微软做出了回应,将该问题归类为中等严重程度,理由是该攻击需要 SeImpersonatePrivilege 权限,而网络服务和本地服务帐户默认情况下已经拥有该权限。

卡巴斯基的报告指出 ,该漏洞没有被分配 CVE 编号,并且在没有计划修复的情况下结案。

在官方发布补丁之前,防御者可以采取以下步骤:

  • 启用基于 ETW 的 RPC 监控 ,以检测 RPC_S_SERVER_UNAVAILABLE 错误(事件 ID 1),并结合特权进程的高模拟级别。
  • 在可行的情况下启用已禁用的服务 (例如 TermService),以便合法的端点被占用,防止被劫持。
  • 仅允许那些严格需要 SeImpersonatePrivilege 权限的进程使用该权限 ;不要授予自定义应用程序或第三方应用程序该权限。

卡巴斯基已通过 PhantomRPC GitHub 存储库发布了研究框架中使用的所有工具,允许组织审核自己的环境,以查找可利用的 RPC 调用模式。

关于作者

weak_hong38篇文章50篇回复

评论1次

要评论?请先  登录  或  注册
  • 1楼
    1 小时前

    说实话这个漏洞挺有意思的,微软把它降级成“中危”也不是完全没道理——确实需要 SeImpersonatePrivilege,但问题在于 NETWORK SERVICE 和 LOCAL SERVICE 默认就有这个权限,这口子开得有点大。

    从攻击角度看,内网横向拿到一个低权限服务账户之后,直接伪造 RPC 端点等着收割就行,不需要额外操作。Edge 和 gpupdate 那两条路径最实用,基本属于躺平利用。

    现在没补丁的情况下,有个比较野的路子:直接拿卡巴斯基放出来的工具扫一遍自己的环境,看看有哪些高权限进程会往不可用的 RPC 服务器发请求,提前把那些服务启用掉占坑。ETW 监控也可以安排上,重点盯 RPC_S_SERVER_UNAVAILABLE 配上高模拟级别这个组合,误报肯定有,但总比啥都没有强。

    说实话这种架构层面的问题,要么接受现状改服务权限配置,要么就是等微软哪天想通了回心转意,不然真没啥根治的办法。