三秒提权:微软Windows“满级漏洞”被利用

近日,安全公司Secura针对一个刚修补不久的Windows漏洞(CVE-2020-1472)开发了一个概念验证利用程序——Zerologon,可以“三秒内”接管企业内网的司令部——Active Directory域控制器,“呵护”所有联网计算机。

CVE-2020-1472是Netlogon远程协议(MS-NRPC)中的一个特权提升漏洞,被微软评定为危险级别最高的“高危漏洞”,CVSS(常见漏洞评分系统)评分为满分10分。要想利用该漏洞,攻击者必须在目标网络中找到立足点,通过没有特权的内部人员,或者对联网设备的入侵。该漏洞使攻击者可以操纵Netlogon的身份验证过程,进行以下操作:

  • 可模拟网络上任何计算机的身份通过域控制器的身份验证
  • 在Netlogon身份验证过程中禁用安全功能
  • 更改域控制器的Active Directory上的计算机密码(所有加入域的计算机的数据库及其密码)

受漏洞影响的Windows Server版本(对Active Directory域控制器服务器来说尤其危险) 图表:奇安信威胁情报中心

虽然微软8月11日为CVE-2020-1472发布了补丁程序,但这并非麻烦的终结,而是开始。

Secura的研究人员在本周一发布了该漏洞的详细技术信息仅几个小时后,一些PoC漏洞利用/工具就已在GitHub上发布,这对那些尚未修补该漏洞的企业来说,构成极大威胁,可以使用Secura研究人员发布的这个Python脚本(https://github.com/SecuraBV/CVE-2020-1472),检查域控制器是否易受攻击。

三秒攻击:任何人都可以成为管理员

对于勒索软件或间谍软件的攻击者而言,该漏洞可谓价值连城。因为通常来说,攻击者诱使员工点击电子邮件中的恶意链接和附件感染端点相对容易,但是进一步的提权和横向移动并获取高价值信息则困难的多。

通常,攻击者可能需要数周或数月的时间才能将低级特权升级为安装恶意软件或执行命令所需的特权。而使用Zerologon漏洞利用程序,攻击者“只需不到三秒”可以立即获得对Active Directory的控制,在企业网络中为所欲为、予取予求,例如,将新计算机添加到网络或用自己偏爱的恶意软件感染每台计算机。

Secura的研究人员在上周五发布的白皮书(https://www.secura.com/blog/zero-logon)中写道:“这种攻击产生了巨大的影响。”“它使本地网络上的任何攻击者(例如恶意内部人员或任何有机会将设备接入内部网络端口的人)能完全破坏Windows域。攻击者甚至不需要任何用户账户凭据。”

Secura研究人员发现了此漏洞并将其报告给微软,并表示已开发出一种可以可靠运行的漏洞利用程序,但由于存在风险,他们只有在确信Microsoft的补丁已广泛安装在易受攻击的服务器上,然后才发布此漏洞。但是,研究人员警告说,使用Microsoft的补丁程序逆向开发漏洞利用并不难。

但是,面对如此诱人的“营销机会”,其他安全公司的独立研究人员自然不会坐失良机,纷纷发布了自己的概念验证攻击代码,例如:

  • https://github.com/risksense/zerologon/
  • https://github.com/blackarrowsec/redteam-research/blob/master/CVE-2020-1472/CVE-2020-1472.py
  • https://github.com/bb00/zer0dump

漏洞利用代码的很快引起了美国网络安全和基础设施安全局的关注,该机构致力于改善政府网络安全。周一,Twitter也炸锅了,各界安全人士对该漏洞的巨大威胁纷纷发表评论。

“Zerologon(CVE-2020-1472),有史以来最疯狂的漏洞!”一位Windows用户写道。攻击者可立即通过未经身份验证的网络访问来获得域管理员特权。”

“还记得有关最小访问权限安全原则可以缓解设备被入侵吗?是否有几个盒子被伪装都没关系吗?”安全公司ZecOps的创始人兼首席执行官Zuk Avraham写道。“哦,好吧……CVE-2020-1472/#Zerologon基本上会改变您的想法。”

“企业被攻击后,如果清理和恢复工作遗漏了任何其他恶意脚本,攻击者依然可以利用此漏洞在整个组织中部署勒索软件并长期驻留”Tenable安全响应经理Ryan Seguin指出。

利用与缓解

Zerologon通过在Netlogon身份验证参数中添加一串数字“0”作为参数来实施攻击(下图)。

Windows服务器依靠Netlogon协议执行各种任务,包括允许最终用户登录网络。只要攻击者能够与易受攻击的域控制器建立TCP连接,未经身份验证的人就可以使用该漏洞获取域管理账户凭据。

该漏洞源于Windows实施的AES-CFB8,具体来说是使用带有密码反馈的AES加密协议来加密和验证内网中传输的身份验证消息。

AES-CFB8正常工作的前提是为每个消息随机生成一个唯一的初始化向量。但Windows没能遵守此要求。Zerologon通过在Netlogon消息的特定字段中填充数字“0”来利用此漏洞(下图)。Secura在另外一篇文章中深入探讨了漏洞的原因以及利用此漏洞的五步方法。

图片:Secura

微软在一份声明指出:安装八月份发布的补丁程序的系统可以免受攻击,因为补丁会对域中的所有Windows服务器和客户端强制执行安全的NRPC。用户应该更新所有Active Directory域控制器,包括只读域控制器。

微软解释说:“这些更新将使域控制器(DC)在默认情况下能够保护Windows设备,记录不兼容设备发现的事件,并可以选择为所有加入域的设备启用保护,但有明确的例外。”

但是,在企业部署域控制器(DC)强制模式之后,将需要进行彻底的修复,该模式要求所有Windows和非Windows设备都使用安全的NRPC或通过为任何不兼容的设备添加例外来明确允许该账户。

当前,企业可以手动通过启用特定的注册表项立即部署DC强制实施模式,2021年2月9日后,DC将自动置于强制执行模式。强制执行模式分两个阶段的原因主要有两个,一方面Netlogon远程协议的非Windows设备实现需要时间,此外,实现兼容的供应商也需要足够的时间为客户提供所需的更新。

对于Zerologon漏洞利用的危害性,安全专家们在社交媒体上展开了热议。一位专家认为关于该漏洞的危害有些耸人听闻,因为只要攻击者在内网中获得立足之地,游戏就已结束。

但也有专家反驳说,该论点与纵深防御原则背道而驰,纵深防御原则主张建立多层防御,通过冗余防护来缓解入侵后的攻击。

值得注意的是,由于管理员们对安装可能影响网络组件(如域控制器)的补丁更新非常谨慎,因此CVE-2020-1472补丁未能及时安装产生的风险要更大一些。强烈建议存在该漏洞的企业高度重视并尽快安装补丁程序。

参考资料

CVE-2020-1472漏洞补丁与建议:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1472

Microsoft NetLogon远程特权提升漏洞(CVE-2020-1472)通告:

https://mp.weixin.qq.com/s/nRKuFAD-ev9k5icUmYdkvg

上一篇:iPhone解锁设备GrayKey首次曝光

下一篇:鼠标也靠不住?Razer泄露大量用户数据