
Отказ в обслуживании PoC для CVE-2020-1350 (SIGRed)
В этом репозитории находится моя версия PoC-эксплойта DoS для уязвимости SIGRed, раскрытой Microsoft и Check Point Research 14 июля 2020 года.
@maxpl0it также написал PoC, который он опубликовал 15 июля, но я структурировал свой эксплойт немного иначе, чем они, поэтому я подумал, что всё ещё есть смысл опубликовать его для синих команд, чтобы повысить их возможности обнаружения и предоставить ещё одни данные для тестирования.
В этом репозитории также есть PCAP-файл, показывающий, как этот эксплойт выглядит в сети.
Я пытался настроить необходимые домены для публичного тестирования, но у меня возникли проблемы с синхронизацией NS-записей, поэтому я настроил всё внутренне в DNS Service. Насколько я знаю, это не должно повлиять на эффективность эксплойта.
dnsexploitvm.lan в C:\Windows\System32\drivers\etc\hosts)lol, потому что мне было всё равно на перехват этого TLD локально)hax.lol) и укажите NS как ваш подставной DNS-серверПеред запуском скрипта убедитесь, что установили кортеж DNS_SERVER_ADDR в начале скрипта с вашим правильным IP-адресом, и установите зависимости (dnspython)
Затем запустите скрипт (только Python 3):
$ sudo ./cve-2020-1350-dos.py [victim DNS server] [DNS record]
Я тестировал с 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)

Пара странных моментов, о которых стоит знать: