Windows Netlogon远程代码执行漏洞CVE-2020-1472复现指南

2020年8月11日,微软发布了CVE-2020-1472,也称为Netlogon特权提升漏洞的修复公告。该漏洞影响了Netlogon远程协议(MS-NRPC),允许攻击者在与域控制器建立易受攻击的Netlogon安全通道时提升特权。攻击者成功利用此漏洞后,可以在网络中的设备上运行恶意应用程序。

图片[1]-Windows Netlogon远程代码执行漏洞CVE-2020-1472复现指南-山海云端论坛

Secura安全团队于2020年9月15日披露了漏洞的细节,并随后发布了相关的EXP。漏洞的根本原因在于Netlogon使用的AES认证算法中的IV向量默认为0,这使得攻击者可以绕过认证。因此,攻击者可以利用此漏洞在网络中运行未经授权的应用程序。

受影响的系统版本包括:

  • Windows Server 2008 R2(基于x64架构的系统,Service Pack 1)
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server版本:1903、1909、2004(服务器核心安装版)

要验证漏洞是否存在,可以使用以下命令:

<code>git clone https://github.com/SecuraBV/CVE-2020-1472 cd CVE-2020-1472\ pip install -r requirements.txt python zerologon_tester.py DC_NETBIOS_NAME DC_IP_ADDR</code>

如果漏洞存在,将会显示相应的提示信息。

漏洞利用的整体流程如下:

  1. 置空域控制器(DC)中保存在Active Directory(AD)中的密码。
  2. 获取域控制器用户的哈希值。
  3. 使用获取到的管理员哈希值获取一个SHELL,并连接到域控制器,以导出原来计算机中本地保存的哈希值。
  4. 恢复置空的域控制器密码。

为了进行漏洞利用,需要配置攻击环境。攻击机环境要求Python版本在3.7以上,并且需要获取最新版的Impacket。漏洞利用之前,需先将密码置空,然后使用secretsdump.py工具获取哈希值,再利用wmiexec.py工具获取SHELL。随后,可以通过secretsdump.py工具解析哈希值,并使用zerologon工具恢复哈希值。

修复建议是安装符合操作系统的漏洞补丁,具体细节请参阅Microsoft的安全公告。

参考来源:

  1. https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2020-1472
  2. https://github.com/SecureAuthCorp/impacket/
  3. https://github.com/VoidSec/CVE-2020-1472
  4. https://github.com/risksense/zerologon
  5. https://www.cnblogs.com/goabout2/p/13676527.html
  6. https://www.secura.com/blog/zero-logon
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容