
PoC de déni de service pour CVE-2020-1350 (SIGRed)
Ce dépôt contient ma version d'un exploit PoC de déni de service pour la vulnérabilité SIGRed divulguée par Microsoft et Check Point Research le 14 juillet 2020.
@maxpl0it a également écrit un PoC qu'il a publié le 15 juillet, mais j'ai structuré mon exploit un peu différemment, donc j'ai pensé qu'il présentait toujours de la valeur de le publier pour les blue teams afin d'améliorer leurs capacités de détection et de fournir une autre donnée à tester.
Ce dépôt contient également un PCAP montrant à quoi ressemble cet exploit sur le réseau.
J'ai essayé de monter les domaines nécessaires pour le faire publiquement, mais j'ai eu quelques problèmes pour synchroniser les enregistrements NS, donc je l'ai configuré en interne dans le service DNS. Pour autant que je sache, cela ne devrait pas affecter l'efficacité de l'exploit.
dnsexploitvm.lan dans C:\Windows\System32\drivers\etc\hosts)lol parce que je ne me souciais pas de détourner ce TLD localement)hax.lol), et définissez le NS comme votre serveur DNS malveillantAvant d'exécuter le script, assurez-vous de définir le tuple DNS_SERVER_ADDR en haut du script avec votre adresse IP appropriée, et installez les dépendances (dnspython)
Ensuite, exécutez le script (Python 3 uniquement) :
$ sudo ./cve-2020-1350-dos.py [serveur DNS victime] [enregistrement DNS]
J'ai effectué mes tests avec 9.hax.lol, et cela a été assez fiable. Les noms de domaine plus longs et les enregistrements avec de nombreuses étiquettes ne fonctionnent pas aussi bien.
Exemple de sortie du script :
$ 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)

Quelques points étranges à noter :