CVE-2024-38077 — чрезвычайно серьезная уязвимость удаленного выполнения кода, недавно обнаруженная Microsoft. Эта уязвимость затрагивает все версии от Windows Server 2000 до Windows Server 2025, что оказывает очень широкое воздействие. Уязвимость существует в службе лицензирования удаленных рабочих столов Windows (RDL), которая широко развертывается на серверах с включенными службами удаленных рабочих столов (порт 3389) и используется для управления лицензиями на подключение к удаленному рабочему столу.
Уязвимость связана с процессом декодирования, используемым службой лицензирования удаленных рабочих столов Windows при обработке введенных пользователем пакетов лицензионных ключей. В частности, служба декодирует закодированный пакет лицензионных ключей, введенный пользователем, и сохраняет декодированные данные в буфере памяти. Однако система не проверяет должным образом соотношение между длиной декодированных данных и размером буфера перед записью декодированных данных в буфер.
Отсутствие проверки границ позволяет злоумышленнику использовать уязвимости переполнения буфера и внедрять в систему вредоносный код, создавая чрезвычайно длинный, специально отформатированный закодированный пакет. Когда данные переполняют буфер, злоумышленник может перезаписать критические области памяти, позволяя выполнить произвольный код. Наличие этой уязвимости позволяет злоумышленнику удаленно управлять затронутым сервером и выполнять произвольные операции без какой-либо аутентификации или предустановленных условий.
Чтобы помочь системным администраторам и пользователям определить, подвержены ли их системы уязвимости CVE-2024-38077, рекомендуется выполнить следующие шаги для выполнения самодиагностики:
1. Проверьте версию системы
2. Сравнение версий
В июле 2024 года Microsoft исправила следующие 7 уязвимостей, связанных с RDP:
CVE-2024-38077: уязвимость удаленного выполнения кода службы авторизации удаленных рабочих столов Windows.
CVE-2024-38076: уязвимость удаленного выполнения кода службы авторизации удаленных рабочих столов Windows.
CVE-2024-38074: уязвимость удаленного выполнения кода службы авторизации удаленных рабочих столов Windows.
CVE-2024-38073: уязвимость службы лицензирования удаленных рабочих столов Windows, связанная с отказом в обслуживании.
CVE-2024-38072: уязвимость службы лицензирования удаленных рабочих столов Windows, связанная с отказом в обслуживании.
CVE-2024-38071: уязвимость службы лицензирования удаленных рабочих столов Windows, связанная с отказом в обслуживании.
CVE-2024-38015: уязвимость типа «отказ в обслуживании» шлюза удаленных рабочих столов Windows (RD Gateway).
Среди них заслуживают внимания три RCE-уязвимости с рейтингом CVSS 9,8 в службе лицензирования удаленных рабочих столов Windows. В сообщении Microsoft говорится, что уязвимости вряд ли будут использованы. Но это не так. Фактически, мы уведомили Microsoft о возможности использования этих уязвимостей еще до выпуска исправления.
В этом блоге мы покажем, как использовать CVE-2024-38077 на Windows Server 202 5 для атаки RCE с предварительной аутентификацией, обходя все современные средства защиты и добиваясь RCE с нулевым щелчком мыши на последней версии Windows Server. Да, вы правильно поняли: просто используйте уязвимость, и вы сможете добиться этого без какого-либо взаимодействия с пользователем.
Служба лицензирования удаленных рабочих столов — это компонент Windows Server, который управляет службами удаленных рабочих столов и лицензирует их, обеспечивая безопасный и соответствующий требованиям доступ к удаленным приложениям и рабочим столам.
Службы RDL широко развертываются на компьютерах с поддержкой служб удаленных рабочих столов. По умолчанию службы удаленных рабочих столов допускают только два одновременных сеанса. Чтобы включить несколько одновременных сеансов, вам необходимо приобрести лицензию. Служба RDL управляет этими лицензиями. Другая причина широкого распространения RDL заключается в том, что при установке служб удаленных рабочих столов (3389) на серверах Windows администраторы часто проверяют возможность установки RDL. Это привело к тому, что на многих серверах, на которых был включен 3389, также была включена служба RDL.
Перед аудитом службы RDL мы провели сканирование сети, чтобы определить развертывание службы RDL в Интернете. Мы обнаружили по меньшей мере 170 000 активных служб RDL, непосредственно доступных в общедоступном Интернете, тогда как их число, несомненно, намного больше во внутренних сетях. Кроме того, службы RDL обычно развертываются в критически важных бизнес-системах и кластерах удаленных рабочих столов, поэтому уязвимости RCE перед аутентификацией в службах RDL представляют значительную угрозу для онлайн-мира.
Программа лицензирования сервера терминалов предназначена для управления клиентскими лицензиями служб терминалов, необходимыми для подключения любого пользователя или устройства к серверу.
Во время процедуры CDataCoding::DecodeData выделяется буфер фиксированного размера (21 байт), который затем используется для вычисления и заполнения буфера длины, управляемого пользователем, что приводит к переполнению кучи. Вот стек вызовов и псевдокод.
https://github.com/CloudCrowSec001/CVE-2024-38077-POC/blob/main/CVE-2024-38077-poc.py
https://sites.google.com/site/zhiniangpeng/blogs/MadLicense
REF:
https://sites.google.com/site/zhiniangpeng/blogs/MadLicense