
Инструмент обнаружения хостов на основе CIDR, который использует nmap для выявления машин Windows с открытым портом 3389 (RDP), сокращая целевые IP-адреса для сканирования уязвимости CVE-2019-0708.
Эта программа использует nmap для сканирования CIDR-адресов, перечисленных в файле 3389_cidrs (по одному на строку), и генерирует файл 3389_hosts, содержащий IP-адреса машин Windows, у которых открыт порт 3389 для удаленного рабочего стола. Это позволяет значительно сократить количество IP-адресов для последующего сканирования.
python3, nmap
Запишите CIDR в файл 3389_cidrs и запустите ./generate.py. Сгенерированный файл 3389_hosts можно использовать для уведомления администратора или продолжения сканирования.
deep_generate.py предназначен для случаев, когда кто-то изменил порт 3389 на своей машине на другой. Он использует nmap для сканирования отпечатков сервера ms-wbt-server и записывает результаты в 3389_hosts. Поскольку для каждой машины необходимо просканировать порты 1-65535, скорость очень низкая.
360 выпустила CVE-2019-0708: Инструмент для безвредного обнаружения удаленной уязвимости Windows RDP 22 мая 2019 года, на данный момент доступна вторая версия. Он предназначен только для сканирования отдельных IP-адресов.
Был написан массовый детектор https://github.com/biggerwing/CVE-2019-0708-poc, который принимает список IP-адресов в текстовом файле. Почему использовали Python, а не PowerShell или BAT — не знаем, не спрашиваем.
大连东软-孙福龙 улучшил его, добавив возможность указывать только CIDR-диапазоны.
Поскольку CIDR-диапазонов много, я написал небольшой скрипт, который использует nmap для сканирования IP-адресов машин с открытым портом 3389 в указанных CIDR-диапазонах и добавляет их в список для проверки. Это сокращает количество проверяемых IP.
Рекомендуется при массовой проверке загружать инструмент обнаружения с официального источника 360 и заменить указанные выше имена файлов на GitHub.
Результаты обнаружения приведены только для справки.
Что касается уязвимостей, подобных CVE-2019-0708, в обычной ситуации достаточно выполнить следующие 2 действия, чтобы оставаться в безопасности.