站长

Windows NT LAN Manager (NTLM)安全特征绕过漏洞

作者:admin 2021-05-09 我要评论

微软在本月的微软补丁日修复了一个Windows NT LAN Manager (NTLM)安全特征绕过漏洞。该漏洞CVE编号为CVE-2021-1678,CVSS评分为4.3分。攻击者利用该漏洞可以中继...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

微软在本月的微软补丁日修复了一个Windows NT LAN Manager (NTLM)安全特征绕过漏洞。该漏洞CVE编号为CVE-2021-1678,CVSS评分为4.3分。攻击者利用该漏洞可以中继NTLM 认证会话到攻击者的机器,使用printer spooler MSRPC 接口来在被攻击的机器上远程执行代码。

NTLM中继攻击是中间人攻击的一种,攻击者利用该攻击可以访问网络来拦截客户端和服务器之间合法的认证流量,并对经过验证的认证请求进行中继以访问相关的网络服务。

Print Spooler 权限提升

漏洞利用中,攻击者使用了来自特权用户账户的NTLM 会话来执行一系列的RPC 操作。整个漏洞利用的步骤如下所示:

(1) 建立于攻击者控制的中继机器的NTLM 会话;

(2) 攻击者绑定目标的IRemoteWinspool 接口,选择RPC_C_AUTHN_LEVEL_CONNECT的认证级别;

(3) 攻击者通过建立的RPC 信道来中继NTLM 认证;

(4) 执行一系列的RPC命令:

  • RpcAsyncInstallPrinterDriverFromPackage (Opnum 62) — 安装“Generic/Text”打印机驱动;
  • RpcAsyncOpenPrinter (Opnum 0)
  • RpcAsyncXcvData (Opnum 33) — 添加端口
  • RpcAsyncAddPrinter (Opnum 1) — 用前面提到的驱动添加打印机;
  • RpcAsyncStartDocPrinter(Opnum 10) — 打开新文档;
  • RpcAsyncWritePrinter (Opnum 12) — 在新文档中写入内容。

图 CVE-2021-1678漏洞利用流图

补丁分析

微软在补丁中对定时任务服务使用的IfCallback 加入了检查,同时对RPC运行时间没有太大的影响。研究人员逆行了Spoolsv.exe中IRemoteWinspool的实现,发现了一个名为RpcManager::VerifyRpcValidProtocolSequence 的共享函数,该函数被多个不同的RPC 接口所使用,其中就包括IRemoteWinSpool。

本来该函数会验证ncacn_ip_tcp协议序列是否用于IRemoteWinspool,以确保只有远程的TCP/IP 客户端才会被接受。但是,在认证安全级中没有相关的检查。

在补丁中,二进制文件中加入了一个新的IfCallback 函数,伪代码如下所示:

图 安装补丁后IRemoteWinspool使用的新的RPC 验证流

从中可以看出,验证协议序列的调用被扩展了,如下所示:

图 安装补丁后安全级别验证

如上图所示,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print key中的REG_DWORD value RpcAuthnLevelPrivacyEnabled 必须设置为1,否则其他的检查就不会执行,系统仍然会受到攻击。

更多技术细节参见:https://www.crowdstrike.com/blog/cve-2021-1678-printer-spooler-relay-security-advisory/

【责任编辑:赵宁宁 TEL:(010)68476606】
本文转载自网络,原文链接:https://www.4hou.com/posts/KzLn

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Tenable:过去5年中漏洞披露激增

    Tenable:过去5年中漏洞披露激增

  • 谷歌上的购物广告中,有十分之一可能是

    谷歌上的购物广告中,有十分之一可能是

  • 安全指南:如何防止欺骗攻击?

    安全指南:如何防止欺骗攻击?

  • 微软在2021年的首次安全更新中修复了83

    微软在2021年的首次安全更新中修复了83