微软不会修补 PhantomRPC:功能还是错误?

一位研究人员详细介绍了利用 PhantomRPC 的五种方法,微软将其评为“中等”,并且不打算修复。

来源:Malwarebytes Labs 博客

一名研究人员发现了一个名为 PhantomRPC 的漏洞,微软并未考虑将其作为修复计划中的漏洞。

PhantomRPC 涉及 Windows 远程过程调用 (RPC),它是 Windows 进程之间通信的核心。 该漏洞通过模拟连接到虚假 RPC 服务器的高权限客户端,使具有模拟权限的进程升级到 SYSTEM。

研究人员提交了一份详细的技术报告,概述了五种利用路径,包括强制、用户交互或后台服务。他们警告说,潜在的向量“实际上是无限的”,因为根本问题在于架构。

然而,微软将该问题归类为“中等”,拒绝赏金,拒绝分配 CVE(常见漏洞和暴露列表中的一个位置),并在没有跟踪的情况下结案。它的立场是,该技术需要一台已经受到攻击的机器,并且不提供未经身份验证或远程访问。

专家不同意微软的评估。他们担心微软正在淡化所有受支持的 Windows 版本中存在的系统性本地权限升级技术。

问题

此问题的核心是 Windows RPC 运行时无法充分验证高权限客户端连接到的服务器是否是预期的合法端点。

如果无法访问合法的 RPC 服务器(例如,由于服务停止、配置错误、未安装或由于竞争条件),具有 SeImpersonatePrivilege 的攻击者可以启动一个伪造的 RPC 服务器,使用相同的接口和端点“填补空白”。

当 SYSTEM 或高权限客户端连接到此假服务器时,使用允许服务器模拟客户端的模拟级别,攻击者可以调用 RpcImpersonateClient 并立即将其权限提升到 SYSTEM。

从微软的角度来看,以这种方式运行恶意 RPC 服务器的能力属于“已经受到损害”的范畴。