Отдалечена уязвимост в OMI-агента, налаган в Linux-окруженията на Microsoft Azure

Клиентите на облачната платформа 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 и Azure Container Insights. Например, Linux-окружения в Azure, за които е включен мониторинг, са податливи на атаки. Агентът е част от отворения пакет OMI (Open Management Infrastructure Agent), който реализира стека DMTF CIM/WBEM за управление на IT-инфраструктурата.

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

Проблемът се влошава от факта, че в Azure явно не е документирано използването на OMI и OMI Agent се инсталира без предупреждение – достатъчно е да се съгласите с условията на избраната услуга при настройка на околната среда и OMI Agent ще бъде автоматично активиран, т.е. повечето потребители дори не подозират за неговото присъствие.

Методът на експлоатация е тривиален – просто изпратете 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

id

0

Компанията Microsoft вече пусна актуализация OMI 1.6.8.1 с коригиране на уязвимости, но тя все още не е предоставена на потребителите на Microsoft Azure (в новите среди все още се инсталира старата версия на OMI). Автоактуализацията на агента не се поддържа, така че потребителите трябва да направят актуализацията на пакета ръчно, използвайки командите «dpkg -l omi» в Debian/Ubuntu или «rpm -qa omi» в Fedora/RHEL. Като временна мярка за защита се препоръчва блокиране на достъпа до мрежовите портове 5985, 5986 и 1270.

Освен CVE-2021-38647, в OMI 1.6.8.1 също са коригирани три уязвимости (CVE-2021-38648, CVE-2021-38645 и CVE-2021-38649), които позволяват на непривилегирован локален потребител да изпълни своя код с правата на root.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster