Vzdialene zneužiteľná zraniteľnosť v agentovi OMI zavedená v prostrediach Linuxu Microsoft Azure

Zákazníci cloudovej platformy Microsoft Azure používajúci Linux vo virtuálnych strojoch narazili na kritickú zraniteľnosť (CVE-2021-38647), ktorá umožňuje vzdialené spustenie kódu s právami root. Zraniteľnosť dostala kódové označenie OMIGOD a je pozoruhodná tým, že problém sa vyskytuje v aplikácii OMI Agent, ktorá je potichu nainštalovaná v prostrediach Linuxu.

OMI Agent sa automaticky inštaluje a aktivuje pri používaní služieb, ako sú Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics a Azure Container Insights. Napríklad prostredia Linuxu v Azure, pre ktoré je povolené monitorovanie, sú náchylné na útok. Agent je súčasťou otvoreného balíka OMI (Open Management Infrastructure Agent) s implementáciou DMTF CIM/WBEM stacku pre správu IT infraštruktúry.

OMI Agent je nainštalovaný v systéme pod užívateľom omsagent a vytvára nastavenia v /etc/sudoers na spustenie série skriptov s právami root. Počas prevádzky niektorých služieb sa vytvárajú načúvacie sieťové zásuvky na sieťových portoch 5985, 5986 a 1270. Skenovanie v službe Shodan ukazuje na prítomnosť viac ako 15 tisíc zraniteľných linuxových prostredí v sieti. V súčasnosti je už verejne dostupný funkčný prototyp exploitu, ktorý vám umožňuje spustiť váš kód s právami root na takýchto systémoch.

Problém zhoršuje fakt, že používanie OMI nie je v Azure vyslovene zdokumentované a OMI Agent je nainštalovaný bez varovania – stačí súhlasiť s podmienkami vybranej služby pri nastavovaní prostredia a OMI Agent bude automaticky aktivovaný, t.j. väčšina používateľov o jeho prítomnosti ani nevie.

Metóda využívania je triviálna – stačí odoslať požiadavku XML agentovi a odstrániť hlavičku zodpovednú za autentifikáciu. OMI používa pri prijímaní riadiacich správ autentifikáciu, ktorá overuje, či má klient právo odoslať konkrétny príkaz. Podstatou zraniteľnosti je, že keď je zo správy odstránená hlavička „Authentication“, ktorá je zodpovedná za autentifikáciu, server považuje overenie za úspešné, akceptuje riadiacu správu a umožňuje vykonávať príkazy s právami root. Na vykonanie ľubovoľných príkazov v systéme stačí v správe použiť štandardný príkaz ExecuteShellCommand_INPUT. Napríklad na spustenie pomôcky „id“ stačí odoslať požiadavku: curl -H „Typ obsahu: application/soap+xml;charset=UTF-8“ -k —binárne údaje „@http_body.txt“ https: //10.0.0.5:5986/wsman ... id 3

Microsoft už vydal aktualizáciu OMI 1.6.8.1, ktorá túto chybu opravuje, no zatiaľ nebola doručená používateľom Microsoft Azure (stará verzia OMI je stále nainštalovaná v nových prostrediach). Automatické aktualizácie agentov nie sú podporované, takže používatelia musia vykonať manuálnu aktualizáciu balíka pomocou príkazov "dpkg -l omi" na Debian/Ubuntu alebo "rpm -qa omi" na Fedore/RHEL. Ako bezpečnostné riešenie sa odporúča zablokovať prístup k sieťovým portom 5985, 5986 a 1270.

Okrem CVE-2021-38647 rieši OMI 1.6.8.1 aj tri zraniteľnosti (CVE-2021-38648, CVE-2021-38645 a CVE-2021-38649), ktoré by mohli umožniť neprivilegovanému miestnemu používateľovi spustiť kód ako root.

Zdroj: opennet.ru

Pridať komentár