Хотя уязвимость BlueKeep (CVE-2019-0708) до настоящего времени не вызвала широкомасштабного хаоса, и мы рассмотрим причины этого в данном посте, она все еще находится на очень ранней стадии жизненного цикла ее использования. Факт остается фактом, что многие системы все еще не исправлены, и все еще можно найти версию эксплойта, обладающую всем потенциалом червя. С учетом этих факторов компания ESET создала бесплатную утилиту для проверки уязвимости системы.

Инструмент обнаружения ESET BlueKeep (CVE-2019-0708)

Скачать инструмент

Иногда необходимо что-то сказать о вещах, которые считаются «само собой разумеющимися», и кажется, что лучший способ начать этот пост – сказать именно это, потому что это не тот предмет, о котором мне следовало бы писать в наши дни. Поэтому, прежде чем углубиться дальше, давайте начнем с рассмотрения старой максимы.

В области информационной безопасности существует старая поговорка: если у злоумышленника есть физический доступ к вашему компьютеру, то этот компьютер больше не ваш. Объясняется это довольно просто: как только злоумышленники доберутся до компьютера, они смогут изменить в нем все, что захотят. Установка таких устройств, как аппаратных клавиатурных шпионов (кейлоггеров), извлечение дисков и их копирование, а также удаление, изменение или добавление в систему всего, чего угодно, значительно упрощается, когда к компьютеру можно подойти непосредственно. Такой поворот событий не должен нас особенно удивлять или озадачивать. Это просто имеет место. Что касается злоумышленников, это всего лишь часть описания их работы.

Следует иметь в виду, что предприятия и учебные заведения, а также самые разные организации не закрывают глаза на эту проблему. Ни одна из этих организаций не размещает свои серверы на стойке регистрации в вестибюле, в приемной, в центре для посетителей, в комнате ожидания или в других местах, куда публика или, возможно, любой сотрудник, преподаватель, студент или работник может зайти и получить физический доступ к ним. Или, по крайней мере, ни одна компания, которая желает оставаться в бизнесе, не допускает этого. Поэтому серверы, как правило, изолируются – либо помещаются в отдельную комнату, либо даже убираются в какой-нибудь дальний угол, недоступный для большей части персонала.

Тем не менее, несмотря на все эти общеизвестные знания, накопленный опыт в области безопасности в физическом мире не всегда хорошо (или правильно) переносятся в мир Интернета. Огромное количество серверов, работающих под управлением различных версий серверных операционных систем Microsoft Windows, напрямую подключены к Интернету, что почти или практически не обеспечивает безопасности при доступе к ним. И это подводит нас к обсуждению RDP.

Что такое RDP?

RDP (аббревиатура английского термина «Протокол удаленного рабочего стола») позволяет одному компьютеру подключаться к другому компьютеру по сети и использовать последний удаленно. В домене компьютеры с операционной системой Windows Client, такой как Windows XP или Windows 10, поставляются с предустановленным клиентским программным обеспечением RDP как частью операционной системы, что позволяет им подключаться к другим компьютерам в сети, включая сервер(-ы) организации. Соединение с сервером в этом случае означает, что он может быть напрямую подключен к операционной системе сервера или к операционной системе, работающей внутри виртуальной машины на этом сервере. Благодаря этому соединению человек может открывать каталоги, загружать и выгружать файлы, а также запускать программы, как если бы они использовали клавиатуру и монитор, подключенные к этому серверу.

RDP был изобретен компанией Citrix в 1995 году и продавался как часть расширенной версии Windows NT 3.51 под названием WinFrame. В 1998 году компания Microsoft добавила RDP в Windows NT 4.0 Terminal Server Edition. С тех пор этот протокол входит в состав всех версий линейки операционных систем Microsoft Windows компании Microsoft и после выпуска Windows XP в 2001 году включается во все версии операционных систем Windows Client, кроме версий для пользователей домашних компьютеров. Сегодня обычными пользователями RDP являются системные администраторы, выполняющие удаленное администрирование серверов из своих кабинетов без необходимости заходить в серверную комнату, а также удаленные работники, которые могут подключаться к виртуализированным настольным компьютерам внутри домена своей организации.

Что злоумышленники делают с RDP?

В течение последних нескольких лет ESET фиксирует рост числа случаев, когда злоумышленники через Интернет, используя RDP, удаленно подключаются к Windows Server и входят в систему как администратор компьютера. После того как злоумышленники входят на сервер как администратор, они, как правило, проводят разведку, чтобы определить, для чего сервер используется, кем и когда.

Как только злоумышленники поймут, какой сервер они контролируют, они могут начать выполнять злонамеренные действия. К широко распространенным вредоносным действиям, которые мы фиксируем, относятся:

  • очистка файлов журналов, содержащих доказательства их присутствия в системе
  • отключение запланированных резервных копий и теневых копий
  • отключение программного обеспечения системы безопасности или настройка исключений в нем (доступного администраторам)
  • загрузка и установка различных программ на сервер
  • стирание или перезапись старых резервных копий, если они доступны
  • эксфильтрация данных с сервера

Это не полный список всех действий, которые может выполнить злоумышленник, и при этом злоумышленник не обязательно выполнит все эти действия. Злоумышленники могут подключаться несколько раз в течение дня или только один раз, если у них есть заранее намеченный план. Хотя точный характер действий злоумышленников сильно различается, вот два наиболее распространенных:

  • установка программ монетного майнинга для генерации криптовалюты, таких как Monero 
  • установка программ-вымогателей с целью требования у организаций денежного выкупа, часто выплачиваемого с использованием криптовалюты, такой как биткойны

В некоторых случаях злоумышленники могут установить дополнительное программное обеспечение удаленного управления для обеспечения доступа (сохраняемости) к взломанному серверу в случае обнаружения и прекращения их работы через RDP.

Мы не зафиксировали ни одного сервера, который был взломан одновременно и для вымогательства с помощью программ-вымогателей, и для майнинга криптовалюты, однако мы фиксировали случаи, когда сервер был взломан одним злоумышленником для майнинга криптовалюты, а затем взломан другими злоумышленниками, которые изменили инструмент для майнинга монет таким образом, чтобы доходы шли к ним. Похоже, благородством среда воров не отличается.

Известность атак с использованием RDP достигла такой степени, что даже мошенники, специализирующиеся на «сексуальном вымогательстве», включают упоминание об этом средстве в свои записки с требованием выкупа, пытаясь придать своей афере более правдоподобный вид.

Рисунок 1: Сообщение электронной почты аферы «сексуального вымогательства», упоминающей RDP

Для получения дополнительной информации об этих видах мошенничества с электронной почтой я рекомендую серию статей моего коллеги Брюса П. Баррелла: Часть I, Часть II и Часть III.

Массовые атаки с использованием RDP

Количество атак, совершаемых с помощью RDP, медленно, но неуклонно увеличивается, и эта проблема стала темой ряда информационных сообщений, выпущенных государственными учреждениями, например: ФБР, Национальным центром кибербезопасности (NCSC) (Великобритания), Канадским центром кибербезопасности (CCCS) и Австралийским центром кибербезопасности (ACSC).

Шлюзы открылись в мае 2019 года с появлением CVE-2019-0708, или «BlueKeep» – уязвимости безопасности в RDP, затрагивающей Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2. Windows 8 и более поздние версии для настольных компьютеров, Windows Server 2012 и более поздние версии для серверов не затрагиваются.

Уязвимость BlueKeep позволяет злоумышленникам запускать произвольный программный код на компьютерах своих жертв. И хотя масштабную угрозу могут представлять даже одиночные злоумышленники, поскольку они могут использовать для атак автоматизированные инструменты, эта уязвимость имеет потенциал червя, что означает, что атака может распространяться автоматически по сетям без какого-либо вмешательства со стороны пользователей, так же как это в прошлом происходило с червями Win32/Diskcoder.C (или NotPetya) и Conficker

Эксплуатация уязвимостей с потенциалом червя считается весьма серьезной проблемой. В своем опубликованном руководстве для клиентов компания Microsoft присвоила этой уязвимости самый высокий, «критический», уровень серьезности, а в Национальной базе данных уязвимостей США описание CVE-2019-0708 имеет оценку 9,8 из 10.  В своем блоге Microsoft опубликовала пост, настоятельно рекомендовав пользователям устанавливать ее исправления, в том числе для уже не поддерживаемых операционных систем, таких как Windows XP и Windows Server 2003. Опасения по поводу эксплойта с потенциалом червя были настолько сильны, что в начале июня Агентство национальной безопасности США выпустило редкое информационное сообщение, рекомендовав для исправления этой ошибки устанавливать исправления Microsoft.

В начале сентября Rapid7, разработчик инструмента пентестинга Metasploit, объявил о выпуске эксплойта BlueKeep. Несмотря на то, что в течение следующих нескольких месяцев не было зарегистрировано значительных всплесков активности BlueKeep, в последнее время ситуация изменилась. В начале ноября, ZDNet и WIRED в числе других новостных СМИ, обратили внимание на массовые сообщения об активности BlueKeep. По сообщениям, атаки оказались не очень успешными: когда злоумышленники пытались использовать уязвимость BlueKeep, около 91% уязвимых компьютеров вышли из строя со STOP-ошибкой (т. н. проверкой ошибок или ошибкой «синий экран»). Однако на оставшихся 9% уязвимых компьютеров злоумышленникам удалось успешно установить программное обеспечение для криптомайнинга Monero. И хотя это нельзя назвать грозной атакой с потенциалом червя, преступной группе, похоже, таки удалось автоматизировать использование уязвимости, пусть пока и без большого успеха.

Когда я начал писать этот пост в блоге, я не собирался подробно описывать эту уязвимость и не собирался сообщать историю развития ее использования: моей целью было дать читателям понимание того, что необходимо сделать, чтобы защитить себя от этой угрозы. Итак, давайте посмотрим, что нужно сделать.

Защита от злоумышленников, использующих RDP

Итак, учитывая все вышесказанное, что вы можете сделать? Ну, первый шаг очевиден – это прекратить подключаться напрямую к своим серверам через Интернет, используя RDP. Для некоторых компаний это может оказаться проблематичным, поскольку для использования этой функции у них могут быть свои, и вероятно, обоснованные причины. Однако, поскольку в январе 2020 года Windows прекращает поддерживать Server 2008 и Windows 7, наличие компьютеров под управлением этих операционных систем и прямой доступ к ним через Интернет с использованием RDP, представляет риск для вашей компании, снижение которого вам уже давно следовало бы запланировать.

Это не означает, что вам необходимо немедленно прекратить использование RDP, но вам необходимо предпринять дополнительные шаги, чтобы обезопасить это использование как можно скорее. С этой целью мы создали таблицу с десятью основными шагами, которые вы можете предпринять, чтобы начать защищать свои компьютеры от атак с использованием RDP. 

Рекомендации по обеспечению безопасности RDPОснование
1. Запретите внешние подключения к локальным компьютерам через порт 3389 (TCP/UDP) на межсетевом экране периметра. *Блокирует доступ к RDP из Интернета.
2. Протестируйте и как можно скорее разверните исправления для уязвимости CVE-2019-0708 (BlueKeep) и включите Network Level Authentication .Установка исправления компании Microsoft и следование ее предписывающим рекомендациям помогает обеспечить защиту устройств от уязвимости BlueKeep.
3. ля всех учетных записей, в которые можно войти через RDP, требуются сложные пароли (обязательна длинная парольная фраза, содержащая более 15 символов без использования фраз, связанных с компанией, названиями продуктов или именами пользователей).Защищает от атак с помощью подбора паролей и подстановки учетных данных. Это невероятно легко автоматизировать, а экспоненциальный рост длины пароля делает их более устойчивыми к таким атакам.
4. Установите двухфакторную аутентификацию (2FA) и, как минимум, требуйте ее для всех учетных записей, в которые можно войти через RDP. Требуется второй уровень аутентификации, доступный только сотрудникам через мобильный телефон, токен или другой механизм для входа в компьютеры.
5. Установите шлюз виртуальной частной сети (VPN) для посредничества по всем соединениям RDP за пределами вашей локальной сети.Предотвращает RDP-соединения между Интернетом и вашей локальной сетью. Позволяет применять более строгие требования к идентификации и аутентификации для удаленного доступа к компьютерам.
6. Программное обеспечение для защиты рабочих станций, защищенное надежным паролем, не связанным с учетными записями администратора и службы.Обеспечивает дополнительный уровень защиты, если злоумышленник получит доступ администратора к вашей сети..
7. Включите блокировку использования уязвимости в программном обеспечении безопасности рабочих станций. Многие программы безопасности рабочих станций также способны блокировать методы использования уязвимости. Убедитесь, что эта функция включена.
8. Изолируйте любой небезопасный компьютер, к которому необходимо получить доступ из Интернета с использованием RDP.Внедрите изоляцию сети, чтобы заблокировать уязвимые компьютеры от остальной части сети.
9. Замените небезопасные компьютеры.Если компьютер невозможно исправить от уязвимости BlueKeep, запланируйте его своевременную замену.
10. ассмотрите возможность внедрения блокировки geoIP на шлюзе VPN.Если сотрудники и поставщики находятся в одной и той же стране или в небольшой группе стран, рассмотрите возможность блокировки доступа из других стран, чтобы предотвратить соединения со стороны зарубежных злоумышленников.

* По умолчанию RDP работает на порте 3389. Если вы изменили этот порт на другое значение, то этот порт следует заблокировать.

Эта таблица в общих чертах основана на важности шагов и простоте их реализации, но они могут варьироваться в зависимости от вашей организации. Некоторые из них могут быть неприменимы к вашей организации, или, возможно, их более практично делать в другом порядке, или вашей организации может потребоваться сделать дополнительные шаги.

Вы должны убедиться, что ваше программное обеспечение безопасности рабочих станций обнаруживает уязвимость BlueKeep. BlueKeep определяется как RDP/Exploit.CVE-2019-0708 модулем Network Attack Protection компании ESET, которая является расширением технологии брандмауэра ESET, представленной в ESET Internet Security и ESET Smart Security Premium для потребителей, и программ ESET для защиты рабочих станций для компаний.

Рисунок 2: Объяснение технологии защиты от вредоносных программ ESET: защита от сетевых атак

При этом следует отметить, что существуют сценарии, в которых обнаружение может и не произойти, например, когда эксплойт приводит к аварийному завершению работы системы вследствие ее ненадежности. Для того чтобы быть более эффективным, он должен быть связан с другим эксплойтом, который использует уязвимость раскрытия информации, обнаруживающую адреса памяти ядра, так что пропадает необходимость их угадывания. Это может уменьшить количество аварийных завершений, ибо текущему эксплойту приходится выполнять большой объем динамического выделения памяти.

Если вы используете программное обеспечение безопасности от другого поставщика, узнайте у него, обнаружен ли ими BlueKeep, и каким образом.

Помните, что эти шаги представляют собой только начало того, что можно сделать для защиты от атак RDP. Хотя обнаружение атак является хорошим началом, оно не заменяет исправления или замену уязвимых компьютеров. Ваши сотрудники по информационной безопасности и надежные партнеры в области безопасности могут дать вам дополнительные рекомендации, относящиеся к вашей среде.

Использование средства проверки уязвимости ESET BlueKeep (CVE-2019-0708)

Компания ESET выпустила бесплатный инструмент BlueKeep (CVE-2019-0708) для проверки уязвимости компьютера под управлением Windows. На момент публикации инструмент можно загрузить здесь:

ПрограммаПроверщик уязвимости BlueKeep (CVE-2019-0708) ESET
Версия1.0.0.1
Месторасположениеhttps://download.eset.com/com/eset/tools/diagnosis/bluekeep_checker/latest/esetbluekeepchecker.exe
Хеш SHA-1C0E66EA2659D2EA172950572FDB5DE881D3882D8

(Обязательно посетите страницу «Инструменты и утилиты ESET» для новых версий)

Эта программа была протестирована на 32- и 64-разрядных версиях Windows XP, Windows Vista, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2 до и после применения обновлений Microsoft для BlueKeep. Чтобы использовать программу, запустите исполняемый файл. Для использования с исходной версией нет никаких аргументов командной строки.

После запуска программа сообщит, уязвима ли система перед использованием уязвимости, исправлена ​​ли система от использования уязвимости, и защищена ли система от использования уязвимости BlueKeep. В случае уязвимости системы инструмент отправит пользователя на веб-страницу, чтобы загрузить соответствующее исправление на веб-сайте компании Microsoft.

Хотя это универсальное средство, предназначенное для личного использования и не предназначенное для массового использования в автоматизированной среде, оно имеет ограниченное количество сообщений об ошибках. Для сценариев инструмент возвращает значение ERRORLEVEL, равное нулю, если система защищена, и единицу, если она уязвима или произошла ошибка.

Рисунок 3: Пример запуска инструмента в неисправленной системе Windows 7

Рисунок 4: Пример запуска инструмента в исправленной системе Windows 7

Рисунок 5: Пример запуска инструмента в неуязвимой системе Windows 10

Заключительные соображения и дополнительное чтение

И хотя использование уязвимости BlueKeep может так никогда и не стать эпидемией, ее включение в инструменты для тестирования означает, что она станет постоянной частью внутренних тестов безопасности. Итак, реальное решение для предотвращения использования уязвимости BlueKeep – это удаление уязвимых устройств из сети вашей компании.

Однако сделать это не всегда возможно из-за того, что уязвимое устройство играет в компании важную роль, из-за высокой стоимости или по другим причинам. Мы давно выступаем за использование многоуровневого подхода к безопасности, и защита от BlueKeep не является исключением. Фактически, некоторые из описанных выше шагов, например, установка приложения 2FA, такого как ESET Secure Authentication, могут помочь защитить ваши сети от вторжений, а также от других угроз.

Дополнительную информацию об RDP и BlueKeep можно найти на следующих ресурсах:

Особая благодарность за помощь при написании этой статьи моим коллегам Алексису Дорайс-Йонкасу, Брюсу П. Барреллу, Нику Фитцджеральду, Матушу П., Питеру Р., Петру Станчику, Штефану С. и другим коллегам из ESET.

Методология MITRE ATT&CK

ТактикаИдентификаторНазваниеОписание
Начальный доступT1076Протокол удаленного рабочего столаBlueKeep использует уязвимость в протоколе удаленного рабочего стола.
T1133Внешние удаленные сервисыBlueKeep использует общедоступные RDP-серверы в Интернете.
Управление и контрольT1071Стандартный протокол прикладного уровняДля управления и контроля BlueKeep по умолчанию использует порт 3389
T1043Обычно используемый портДля атаки BlueKeep по умолчанию использует порт 3389.
Боковое смещениеT1210Использование уязвимостей удаленных сервисовBlueKeep использует общедоступные RDP-серверы в Интернете.
СмягчениеM1035Ограниченный доступ к ресурсам через сетьПредупреждайте проникновение BlueKeep за счет использования VPN-шлюза.
M1050Защита от эксплойтовПредупреждайте проникновение BlueKeep за счет использования защиты от эксплойтов в безопасности рабочих станций.
M1032Многофакторная аутентификацияИспользуйте многофакторную аутентификацию для всех входов в систему, выполняемых через RDP.
M1031Предотвращение вторжений в сетьПредупреждайте проникновение BlueKeep за счет использования сетевой защиты в безопасности рабочих станций.
M1051Обновление программного обеспеченияПредупреждайте использование уязвимости BlueKeep за счет установки исправления CVE-2019-0708 или обновления до неуязвимой версии операционной системы.
M1049Антивирусы/Защита от вредоносных программПредупреждайте запуск вредоносного кода BlueKeep за счет использования системы безопасности рабочих станций.