14 мая 2019 года Microsoft сообщила о наличии критической уязвимости в реализации службы удаленных столов (ранее служба терминалов) в Windows, которая позволяет атакующему, не прошедшему проверку подлинности, через протокол RDP удаленно выполнить произвольный код на целевой системе. RCE (Remote Code Execution) уязвимость описана в CVE-2019-0708 и ей присвоено неофициальное название BlueKeep. Уязвимости подвержены только старые версии Windows – начиная с Windows XP (Windows Server 2003) и заканчивая Windows 7 (Windows Server 2008 R2). Более новые версии (Windows 10, 8.1 и Windows Server 2012R2/2016/2019) данной уязвимости в RDS не подвержены.
RCE уязвимость CVE-2019-0708 в Remote Desktop Services
Уязвимость присутствует не в самом протоколе RDP, а в реализации службы удаленных рабочих столов (Remote Desktop Service) в старых версиях Windows. Для эксплуатации уязвимости необходим только сетевой доступ к компьютеру с подверженной версией Windows и наличие на нем включенной службы RDP (доступ к которой не должен блокироваться межсетевыми экранами). Т.е. если ваш Windows хост доступен из интернета через RDP, это означает, что уязвимость может быть эксплуатирована кем угодно. Уязвимость реализуется за счет отправки специального запроса к службе удаленного рабочего стола через RDP, преаутентфикация удаленного пользователя при этом не требуется. После реализации уязвимости BlueKeep атакующий может удаленно выполнить произвольный код на целевой системе с правами SYSTEM.
Microsoft отмечает, что есть весьма высокая вероятность появления автоматических червей, которые будут используют уязвимость в RDS для распространения в локальных сетях. Таким образом масштаб атак может достигнуть результатов червя WannaCry (использовал уязвимость в протоколе SMB CVE-2017-0144 — EternalBlue).
Защита от уязвимости BlueKeep CVE-2019-0708
Для защиты от уязвимости CVE-2019-0708 (BlueKeep) Microsoft рекомендует оперативно установить обновления безопасности (перечислены в следующем разделе). Для уменьшения рисков реализации уязвимости на системах до момента установки обновления во внешнем периметре рекомендуются следующие действия:
- Временно отключить RDP доступ к компьютерам и отключить службу Remote Desktop Services или заблокировать внешний доступ на RDP на межсетевых экранах периметра сети и отключить проброс RDP портов в локальную сеть;
- Включить поддержку Network Level Authentication (NLA — Проверку подлинности на уровне сети) в настройках RDP на компьютере ) – возможно настроить как в Windows 7 /2008 R2, так и в Windows XP SP3. При включенной NLA для реализации уязвимости атакующему сначала нужно аутентифицироваться в службе Remote Desktop Services с помощью действительного аккаунта (реализовать атаку можно только под легитимным пользователем).
Обновления Windows для защиты от RDP уязвимости BlueKeep
Microsoft выпустила обновления для всех ОС Windows, подверженных уязвимости CVE-2019-0708 (BlueKeep). Патчи доступны для загрузки в каталоге обновлений Microsoft.
Несмотря на то, что Microsoft прекратила поддержку Windows XP и Windows Server 2003, для защиты от BlueKeep были выпушены обновления и для этих устаревших систем. Что лишний раз подчеркивает серьезность найденной уязвимости и высокий риск ее массовой эксплуатации.
Ниже приведены прямые ссылки на ручную загрузку обновлений для популярных версий Windows:
KB4500331:
Windows XP SP3 x86, x64 Windows XP Embedded, Windows Server 2003 SP2 x86, x64 — https://www.catalog.update.microsoft.com/Search.aspx?q=KB4500331
KB4499175:
- Windows Server 2008 R2 SP1 и Windows 7 SP1 x64 — windows6.1-kb4499175-x64_3704acfff45ddf163d8049683d5a3b75e49b58cb.msu
- Windows 7 x86 SP1 — windows6.1-kb4499175-x86_6f1319c32d5bc4caf2058ae8ff40789ab10bf41b.msu
В Windows XP и 2003 обновления kb4500331 придется устанавливать вручную.
Для Windows 7 и Windows Server 2008 R2 обновление KB4499175 уже доступно для установки через WSUS (в зависимости от настроек одобрения обновлений) и Microsoft Update. Но вы можете установить его и вручную из msu файла с помощью wusa.exe:
wusa.exe "C:\Install\windows6.1-kb4499175-x64_3704acfff45ddf163d8049683d5a3b75e49b58cb.msu" /quiet /warnrestart