1. CVE-2020-1472简要分析
阅读量 102057 |
分享到:
https://www.anquanke.com/post/id/217475
发布时间:2020-09-16 14:30:51
漏洞简介
CVE-2020-1472是一个windows域控中严重的远程权限提升漏洞,是因为微软在Netlogon协议中没有正确使用加密算法而导致的漏洞。由于微软在进行AES加密运算过程中,使用了AES-CFB8模式并且错误的将IV设置为全零,这使得攻击者在明文(client chanllenge)、IV等要素可控的情况下,存在较高概率使得产生的密文为全零。下面就整个攻击过程做一个简要分析:
漏洞原理
Netlogon协议是微软提供的一套域访问认证协议,不同于大部分rpc服务,该协议使用的并不是典型的微软认证方式如NTLM\Kerberos,该协议的通信流程如下:
图1-1
图1-1中攻击者可控的因素有client challenge,攻击者将它设置为全0,server challenge在每一轮认证过程中都会变化,secret对应于用户密码的hash,Encrypt的过程采用的是AES-CFB8,其运算过程如下:
图1-2
在图1-2中,黄色部分内容即为IV,微软错误的将其设置为全0,而实际上为了保证AES算法的可靠性该部分内容应该随机生成,黄色部分后紧接着的蓝色部分为明文,对应于client chanllenge,该部分内容攻击者可控,设置为全0,AES使用的key是将secret、chanllenges进行运算后得到的值,也就是说,key会随着每一轮server chanllenge的变化发生变化,那么如果IV和client chanllenge为全0的话,那么整个AES运算过程变成图1-3所示:
图1-3
如图1-3所示,在第一轮AES运算过程中,密文(黑色部分)第一个字节为0的概率是1/256,这是因为一个字节有8位,全为0的概率是1/256,那么由这运算得到的密文第一个字节0x0和IV以及后面全0的client chanllenge计算后得到的新一轮”明文”依旧为全0,同样进行AES运算,由于第二轮运算时明文密钥和第一轮都一致,那么这一轮所产生的密文第一个字节也同样时0,接下来几轮计算原理以此类推,所以每一次连接都是由1/256的概率产生一个全0的密文,最理想的情况即是256次就一定能完成碰撞。因此Client challenge设置全0后,客户端凭据(8字节)通过验证的概率就从1/2^64提高到了1/256。
通过上述碰撞方法,攻击者便完成了域身份认证,在接下来的攻击过程用类似的方法也bypass了对call的校验,最后通过相关调用完成对域控密码的修改。值得注意的是由于整个碰撞过程中session key一直是未知的,攻击者可以通过NetrServerAuthenticate3设置合适的flag使得剩下的通信过程不使用session key进行加密。
一言以蔽之,Netlogon协议身份认证采用了挑战-相应机制,其中加密算法是AES-CFB8,并且IV默认全零,导致了该漏洞产生。又因为认证次数没做限制,签名功能客户端默认可选,使得漏洞顺利被利用。
漏洞验证
1.无法获取域内用户凭据信息
2.执行PoC测试
3. DC01置空后,获取域内凭据信息
参考
https://www.secura.com/blog/zero-logon
https://github.com/dirkjanm/CVE-2020-1472
2. CVE-2020-1472: NetLogon特权提升漏洞通告
360CERT 三六零CERT 8月12日
https://cert.360.cn/warning/detail?id=ead0801e639052498d4bf396e08ef775
https://mp.weixin.qq.com/s/1ZtqYOy8eBBEq-c_6WL9DA
报告编号:B6-2020-081202
报告来源:360CERT
报告作者:360CERT
更新日期:2020-08-12
0x01 漏洞简述
2020年08月12日, 360CERT监测发现 Windows官方
发布了 NetLogon 特权提升漏洞
的风险通告,该漏洞编号为 CVE-2020-1472
,漏洞等级:严重
,漏洞评分:10分
。
攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序。
对此,360CERT建议广大用户及时为各Windows Server操作系统安装最新相关补丁。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x02 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
360CERT评分 | 10分 |
0x03 漏洞详情
NetLogon组件
是 Windows 上一项重要的功能组件,用于用户和机器在域内网络上的认证,以及复制数据库以进行域控备份,同时还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系。
当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接的易受攻击的 Netlogon 安全通道时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络中的设备上运行经特殊设计的应用程序。
0x04 影响版本
-
Windows Server 2008 R2 for x64-based Systems Service Pack 1
-
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
-
Windows Server 2012
-
Windows Server 2012 (Server Core installation)
-
Windows Server 2012 R2
-
Windows Server 2012 R2 (Server Core installation)
-
Windows Server 2016
-
Windows Server 2016 (Server Core installation)
-
Windows Server 2019
-
Windows Server 2019 (Server Core installation)
-
Windows Server, version 1903 (Server Core installation)
-
Windows Server, version 1909 (Server Core installation)
-
Windows Server, version 2004 (Server Core installation)
0x05 修复建议
通用修补建议
360CERT建议通过安装 360安全卫士 进行一键更新。
应及时进行Microsoft Windows版本更新并且保持Windows自动更新开启。
Windows server / Windows 检测并开启Windows自动更新
流程如下
-
点击开始菜单,在弹出的菜单中选择“控制面板”进行下一步。
-
点击控制面板页面中的“系统和安全”,进入设置。
-
在弹出的新的界面中选择“windows update”中的“启用或禁用自动更新”。
-
然后进入设置窗口,展开下拉菜单项,选择其中的
自动安装更新(推荐)
。
手动升级方案:
通过如下链接自行寻找符合操作系统版本的漏洞补丁,并进行补丁下载安装。
CVE-2020-1472 | NetLogon 特权提升漏洞
https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2020-1472
0x06 产品侧解决方案
360安全卫士
针对本次安全更新,Windows用户可通过360安全卫士实现对应补丁安装,其他平台的用户可以根据修复建议列表中的产品更新版本对存在漏洞的产品进行更新。
360CERT建议广大用户使用360安全卫士定期对设备进行安全检测,以做好资产自查以及防护工作。
360安全分析响应平台
360安全大脑的安全分析响应平台通过网络流量检测、多传感器数据融合关联分析手段,对网络攻击进行实时检测和阻断,请用户联系相关产品区域负责人或(shaoyulong#360.cn)获取对应产品。
0x07 时间线
2020-08-11 微软发布漏洞通告
2020-08-12 360CERT发布通告
0x08 参考链接
1、 CVE-2020-1472 | NetLogon 特权提升漏洞
https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2020-1472
推荐阅读:
1、CVE-2020-14644 weblogic iiop反序列化漏洞分析
3、CVE-2020-13699: TeamViewer 用户密码破解漏洞通告
长按下方二维码关注360CERT!谢谢你的关注!
注:360CERT官方网站提供 《CVE-2020-1472: NetLogon特权提升漏洞通告》 完整详情,点击阅读原文