
CVE-2019-0708批量检测
CVE-2019-0708 Уязвимость удаленного выполнения команд в Windows RDP
15 мая 2019 года была раскрыта критическая уязвимость в серверах Windows, затрагивающая широкий спектр систем: Windows 2003, Windows 2008, Windows 2008 R2, Windows XP *. Уязвимость эксплуатируется через порт удаленного рабочего стола 3389 с использованием протокола RDP. CVE-2019-0708 позволяет обойти аутентификацию пользователя, без какого-либо взаимодействия напрямую подключаться по протоколу RDP и отправлять вредоносный код для выполнения команд на сервере. Эта уязвимость является самой опасной в этом году, другими словами, она «самораспространяющаяся», что означает, что любое вредоносное ПО, использующее эту уязвимость, может распространяться с зараженного компьютера на другие, подобно тому, как в 2017 году распространялся WannaCry, аналогично предыдущим программам-вымогателям и EternalBlue.
Поскольку существует множество серверов под управлением Windows, необходимо проводить массовую проверку. Хотя блокировка TCP-порта 3389 на периметральном брандмауэре защищает серверы от внешних атак, для защиты от горизонтальных атак внутри сети всё равно необходимо устанавливать исправления и другими способами обеспечивать безопасность серверов.
0708detector.exe — это средство обнаружения уязвимости CVE-2019-0708 в протоколе удаленного рабочего стола Windows, выпущенное командой 360Vulcan компании 360. В принципе, этот сканер не вызывает синий экран на целевой системе. Пожалуйста, протестируйте перед использованием.
Контрольная сумма MD5 программы для предотвращения связывания с бэкдорами и троянами febc027cee2782dba25b628ce3a893d6 *0708detector.exe
Инструкции по использованию и интерпретации результатов см. в readme.txt.
Окружение
python3.6
win10
Использование
> python cve-2019-0708_v1.py -h
usage: cve-2019-0708_v1.py [-h] [-p PORT] [-t TARGET | -f FILE]
Example: python cve-2019-0708_v1.py -t 192.168.1.0/24 -p 3389
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT Порт по умолчанию 3389
-t TARGET, --target TARGET
Можно ввести один IP-адрес или в формате CIDR, например: 192.168.1.0/24. Обратите внимание, что в формате CIDR первый адрес должен быть сетевым номером соответствующей IP-подсети.
-f FILE, --file FILE Файл с IP-адресами
В целом, сначала с помощью telnet проверяется, открыт ли порт 3389, а затем с помощью многопоточного вызова используется безвредный сканер 360 для сканирования.

Обработка ошибок
Решение для ошибки 'ValueError: IP('1.1.1.1/24') has invalid prefix length (24)'
Это связано с форматом CIDR IP-адреса. Согласно библиотеке IPy, первый адрес должен быть сетевым номером соответствующей подсети. Правильные примеры:
1.1.1.0/24 : 1.1.1.0~1.1.1.255
1.1.1.128/25 : 1.1.1.128~1.1.1.255
1.1.1.64/26 : 1.1.1.64~1.1.1.127
1.1.1.32/27 : 1.1.1.32~1.1.1.63
1.1.1.16/28 : 1.1.1.16~1.1.1.31
