
Negazione del Servizio PoC per CVE-2020-1350 (SIGRed)
Questo repository contiene la mia versione di un PoC DoS per la vulnerabilità SIGRed divulgata da Microsoft e Check Point Research il 14 luglio 2020.
Anche @maxpl0it ha scritto un PoC pubblicato il 15 luglio, ma ho strutturato il mio exploit in modo leggermente diverso, quindi ho pensato che fosse comunque utile rilasciarlo per i blue team per aumentare le loro capacità di rilevamento e fornire un ulteriore dato da testare.
Questo repository contiene anche un PCAP di come appare questo exploit sulla rete.
Ho provato a configurare i domini necessari per farlo pubblicamente, ma ho avuto alcuni problemi con la sincronizzazione dei record NS, quindi ho impostato tutto internamente nel Servizio DNS. Per quanto ne so, ciò non dovrebbe influire sull'efficacia dell'exploit.
dnsexploitvm.lan in C:\Windows\System32\drivers\etc\hosts)lol perché non mi interessava dirottare quel TLD localmente)hax.lol) e impostare NS come server DNS roguePrima di eseguire lo script, assicurarsi di impostare la tupla DNS_SERVER_ADDR all'inizio dello script con il proprio indirizzo IP corretto e installare le dipendenze (dnspython).
Quindi, eseguire lo script (solo Python 3):
$ sudo ./cve-2020-1350-dos.py [server DNS vittima] [record DNS]
Ho testato con 9.hax.lol e si è rivelato abbastanza affidabile. Nomi di dominio più lunghi e record con molti label non funzionano altrettanto bene.
Esempio di output dello 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)

Alcune cose strane da tenere presenti: