
PoC de Denegación de Servicio para CVE-2020-1350 (SIGRed)
Este repositorio contiene mi versión de un exploit PoC de DoS para la vulnerabilidad SIGRed revelada por Microsoft y Check Point Research el 14 de julio de 2020.
@maxpl0it también escribió un PoC que publicó el 15 de julio, pero estructuré mi exploit de manera un poco diferente a la de ellos, así que pensé que aún tenía valor publicar esto para que los blue teams aumenten sus capacidades de detección y tengan otra pieza de datos con la que probar.
Este repositorio también incluye un PCAP de cómo se ve este exploit en la red.
Intenté montar los dominios necesarios para hacer esto públicamente, pero tuve algunos problemas para lograr que los registros NS sincronizaran correctamente, así que lo configuré internamente en el Servicio DNS. Hasta donde sé, esto no debería afectar la eficacia del exploit.
dnsexploitvm.lan en C:\Windows\System32\drivers\etc\hosts)lol porque no me importaba secuestrar ese TLD localmente)hax.lol) y establece el NS como tu servidor DNS rogueAntes de ejecutar el script, asegúrate de configurar la tupla DNS_SERVER_ADDR en la parte superior del script con tu dirección IP correspondiente, e instala las dependencias (dnspython)
Luego, ejecuta el script (solo Python 3):
$ sudo ./cve-2020-1350-dos.py [victim DNS server] [DNS record]
Hice mis pruebas con 9.hax.lol, y ha sido bastante fiable. Los nombres de dominio más largos y los registros con muchas etiquetas no funcionan tan bien.
Ejemplo de salida del 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)

Un par de cosas raras a tener en cuenta: