Спецпроекты

ПО Безопасность Маркет

Microsoft залатал бреши в Azure, позволявшие захватывать контроль над чужими ресурсами

Microsoft выплатила $40 тыс. за две опаснейшие уязвимости, выявленные в облачной инфраструктуре MicrosoftAzure. Эти ошибки позволяли выходить за пределы «песочницы» и запускать произвольный код в облаке.

Дыра в Microsoft Azure

Эксперты Check Point Security опубликовали подробную информацию о двух серьезных уязвимостях в облачных сервисах Microsoft Azure. Описанные уязвимости позволяют захватывать контроль над облачными ресурсами.

Microsoft уже к концу прошлого года выпустил исправления для обеих проблем. Однако системы, на которые эти патчи не были установлены, остаются уязвимыми.

Неправильная проверка

Первая ошибка, CVE-2019-1234 затрагивает Azure Stack, решение для облачных вычислений, которое помогает предприятиям работать со службами Microsoft Azure из собственных центров обработки данных. Иными словами, это интерфейс для доступа к облачным сервисам, созданным с помощью стека Azure. Уязвимость позволяет полностью перехватывать контроль над сервером Azure.

mc600.jpg
Microsoft закрыл дыры в облаке Azure

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

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

Эксперты Check Point указывают, что в инфраструктуре Azure используется веб-инструмент Service Fabric Explorer, устанавливаемый на машину, используемую как слой поставщика ресурсов и контроля инфраструктуры (AzS-XRP01). Благодаря ему можно просматривать внутренние службы, построенные как приложения Service Fabric Applications. Пытаясь соединиться с URL-адресом служб в Service Fabric Explorer, эксперты обнаружили, что некоторые из них не требуют аутентификации.

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

Еще более неправильная проверка

Вторая уязвимость, CVE-2019-1372 — это баг, позволяющий запускать произвольный код в службах Azure App Service внутри Azure Stack. Уязвимость позволяет захватить полный контроль над целым сервером Azure и, соответственно, парком виртуальных машин.

Ошибка непосредственно содержится в службе DWASSVC, которая отвечает за управление и запуск приложений виртуальных машин и рабочие процессы IIS. Баг связан с неправильной проверкой длины буфера перед копированием в него содержимого памяти. В конечном счете это чревато выходом из изолированной среды («песочницы») и запуском любого кода с высшими привилегиями NT Authority/System.

Синергия багов

Комбинация из двух уязвимостей позволяет злоумышленнику, создав бесплатный пользовательский аккаунт в Azure Cloud, запустить в нем вредоносные функции, угрожающие другим виртуальным машинам, или отправлять неавторизованные HTTP-запросы пользовательскому порталу Azure Stack.

Обе уязвимости еще в 2019 г. выявил сотрудник CheckPoint Ронен Шустин (Ronen Shustin). Microsoft выплатила эксперту $40 тыс. в рамках программы поиска уязвимостей в Azure.

«Обе уязвимости давно исправлены, так что информация о них опубликована главным образом для ознакомления, — указывает Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. — То, что эти уязвимости были обнаружены сторонними экспертами, и тот факт, что Microsoft признал наличие проблем и выплатил вознаграждение, — на самом деле хорошая новость: в миллионах строк кода практически неизбежно закрадываются ошибки, в том числе критические. Вопрос лишь в том, как быстро их удается выявить и нейтрализовать, и насколько эффективно разработчик ПО взаимодействует со сторонними экспертами».

Роман Георгиев

Короткая ссылка