
Сканер PoC для уязвимости CVE-2019-0708 RDP RCE
Неаутентифицированный сканер PoC для CVE-2019-0708 "BlueKeep" от @JaGoTu и @zerosum0x0.
Технические подробности: https://zerosum0x0.blogspot.com/2019/05/avoiding-dos-how-bluekeep-scanners-work.html
Модуль Metasploit был включён в rapid7:master.
msf5> use auxiliary/scanner/rdp/cve_2019_0708_bluekeep
https://github.com/rapid7/metasploit-framework/pull/11869
Если вы здесь за C-версией сканера, загляните в форк этого проекта от ErrataRob, который убирает лишнее и делает сканирование больших диапазонов быстрее и проще.
https://github.com/robertdavidgraham/rdpscan
Форк сканера rdesktop, который может определить, уязвим ли хост для CVE-2019-0708 — уязвимости удалённого выполнения кода в службах удалённого рабочего стола Microsoft Windows. Он не должен вызывать отказ в обслуживании, но стопроцентной гарантии для всех уязвимых версий стека RDP за эти годы не существует. Поскольку сканер неаутентифицированный, результаты для хостов с NLA (подтверждённым смягчением) не будут надёжными.

В репозитории есть готовый бинарник rdesktop, но ниже приведён обычный процесс сборки rdesktop:
git clone https://github.com/zerosum0x0/CVE-2019-0708.git
cd CVE-2019-0708/rdesktop-fork-bd6aa6acddf0ba640a49834807872f4cc0d0a773/
./bootstrap
./configure --disable-credssp --disable-smartcard
make
./rdesktop 192.168.1.7:3389
Этот форк rdesktop хорошо поддерживается только в Linux-окружении с графическим интерфейсом X11. На других платформах результаты могут отличаться. Обратитесь к стандартным инструкциям по компиляции rdesktop или посмотрите, как собирается Docker-образ.
Вы также можете собрать из исходников с помощью Dockerfile, а затем запустить rdesktop, используя этот образ:
docker build . -t cve-2019-0708:latest
docker run cve-2019-0708:latest 192.168.1.7:3389
Чтобы просканировать подсеть или хосты из индекса Shodan, соберите Docker-образ и запустите scan_with_docker.py:
./scan_with_docker.py 'asn:ASXXXX port:3389'
Not a valid subnet. Trying to use as Shodan search terms ...
Shodan search returned 498 hosts, press enter to start scan
Vulnerable hosts:
x.x.x.x
x.x.x.x
[...]
./scan_with_docker.py 192.168.1.0/24
Vulnerable hosts:
192.168.1.28
192.168.1.30
[...]
Небольшие детали уязвимости уже начали попадать в широкую публику. Этот инструмент не даёт атакующим лёгкого пути к теоретическому RCE.
Модификация этого PoC для запуска отказа в обслуживании действительно снижает порог входа, но также потребует некоторых усилий. Изначально мы не давали объяснений того, как работает этот сканер, кроме заверений, что в тестах он показывает точные результаты и следует логичному пути.
Системным администраторам нужны такие инструменты для обнаружения уязвимых хостов. Этот инструмент предоставляется только для законных целей и для углубления понимания данной уязвимости сообществом специалистов по безопасности. Поскольку этот PoC активно эксплуатирует уязвимость, не используйте его против целей без предварительного разрешения.
Форк rdesktop распространяется под лицензией GPLv3.
Модуль Metasploit распространяется под лицензией Apache 2.0.