
Denial of Service PoC für CVE-2020-1350 (SIGRed)
Dieses Repository enthält meine Version eines DoS-PoC-Exploits für die SIGRed-Sicherheitslücke, die von Microsoft und Check Point Research am 14. Juli 2020 veröffentlicht wurde.
@maxpl0it hat ebenfalls einen PoC geschrieben, den er am 15. Juli veröffentlichte, aber ich habe meinen Exploit etwas anders strukturiert, sodass ich dachte, es sei dennoch wertvoll, dies für Blue Teams zu veröffentlichen, um ihre Erkennungsfähigkeiten zu verbessern und weitere Daten zum Testen bereitzustellen.
Dieses Repository enthält auch einen PCAP-Dump, der zeigt, wie dieser Exploit im Netzwerk aussieht.
Ich habe versucht, die notwendigen Domains für eine öffentliche Nutzung einzurichten, hatte aber Probleme, die NS-Einträge korrekt zu synchronisieren, daher habe ich dies intern im DNS-Dienst eingerichtet. Soweit ich weiß, sollte dies die Wirksamkeit des Exploits nicht beeinträchtigen.
dnsexploitvm.lan in C:\Windows\System32\drivers\etc\hosts)lol verwendet, weil es mir egal war, diese TLD lokal zu kapern).hax.lol) und setzen Sie den NS auf Ihren schurkischen DNS-Server.Stellen Sie vor dem Ausführen des Skripts sicher, dass das Tupel DNS_SERVER_ADDR am Anfang des Skripts Ihre korrekte IP-Adresse enthält, und installieren Sie die Abhängigkeiten (dnspython).
Führen Sie dann das Skript aus (nur Python 3):
$ sudo ./cve-2020-1350-dos.py [victim DNS server] [DNS record]
Ich habe meine Tests mit 9.hax.lol durchgeführt, und es war ziemlich zuverlässig. Längere Domainnamen und Einträge mit vielen Labels funktionieren nicht so gut.
Beispielhafte Skriptausgabe:
$ 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)

Ein paar seltsame Dinge, die zu beachten sind: