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

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

创新互联建站致力于互联网网站建设与网站营销,提供成都做网站、网站设计、网站开发、seo优化、网站排名、互联网营销、小程序设计、公众号商城、等建站开发,创新互联建站网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

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/

新闻标题:Windows NT LAN Manager (NTLM)安全特征绕过漏洞
网页链接:http://www.hantingmc.com/qtweb/news10/545960.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联