Microsoft Azure Linux -ympäristöissä käyttöön otettu OMI-agentin etäkäyttöinen haavoittuvuus

Virtuaalikoneissa Linuxia käyttävät Microsoft Azure -pilvialustan asiakkaat ovat havainneet kriittisen haavoittuvuuden (CVE-2021-38647), joka mahdollistaa koodin etäsuorittamisen pääkäyttäjän oikeuksin. Haavoittuvuus sai koodinimen OMIGOD, ja se on huomionarvoinen siitä, että ongelma esiintyy OMI Agent -sovelluksessa, joka asennetaan hiljaa Linux-ympäristöihin.

OMI-agentti asennetaan ja aktivoidaan automaattisesti, kun käytetään palveluita, kuten Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics ja Azure Container Insights. Esimerkiksi Azuren Linux-ympäristöt, joissa valvonta on käytössä, ovat alttiita hyökkäyksille. Agentti on osa avointa OMI-pakettia (Open Management Infrastructure Agent), jossa on toteutettu IT-infrastruktuurin hallintaan tarkoitettu DMTF CIM/WBEM -pino.

OMI-agentti asennetaan järjestelmään omsagent-käyttäjän alaisuudessa ja se luo asetukset tiedostoon /etc/sudoers suorittaakseen sarjan komentosarjoja pääkäyttäjän oikeuksin. Joidenkin palvelujen toiminnan aikana verkkoportteihin 5985, 5986 ja 1270 luodaan kuunteluverkkopistokkeita. Shodan-palvelun skannaus osoittaa, että verkossa on yli 15 tuhatta haavoittuvaa Linux-ympäristöä. Tällä hetkellä hyväksikäytön toimiva prototyyppi on jo ollut julkisesti saatavilla, joten voit suorittaa koodisi pääkäyttäjän oikeuksilla tällaisissa järjestelmissä.

Ongelmaa pahentaa se, että OMI:n käyttöä ei ole erikseen dokumentoitu Azuressa ja OMI-agentti asennetaan ilman varoitusta – sinun tarvitsee vain hyväksyä valitun palvelun ehdot ympäristöä määritettäessä ja OMI-agentti tulee aktivoituu automaattisesti, ts. useimmat käyttäjät eivät edes tiedä sen olemassaolosta.

Hyödyntämismenetelmä on triviaali - lähetä vain XML-pyyntö agentille ja poista todentamisesta vastaava otsikko. OMI käyttää todennusta vastaanottaessaan ohjausviestejä ja varmistaa, että asiakkaalla on oikeus lähettää tietty komento. Haavoittuvuuden ydin on, että kun viestistä poistetaan todentamisesta vastaava "Authentication"-otsikko, palvelin katsoo varmennuksen onnistuneen, hyväksyy ohjaussanoman ja sallii komentojen suorittamisen pääkäyttäjän oikeuksin. Mielivaltaisten komentojen suorittamiseksi järjestelmässä riittää, että käytät sanomassa vakiokomentoa ExecuteShellCommand_INPUT. Esimerkiksi käynnistääksesi "id"-apuohjelman, lähetä pyyntö: curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k —data-binary "@http_body.txt" https: //10.0.0.5. 5986:3/wsman ... id 2003

Microsoft on jo julkaissut haavoittuvuuden korjaavan OMI 1.6.8.1 -päivityksen, mutta sitä ei ole vielä toimitettu Microsoft Azure -käyttäjille (OMI:n vanha versio on edelleen asennettuna uusiin ympäristöihin). Automaattisia agenttien päivityksiä ei tueta, joten käyttäjien on suoritettava manuaalinen pakettipäivitys komennoilla "dpkg -l omi" Debianissa/Ubuntussa tai "rpm -qa omi" Fedorassa/RHEL:ssä. Suojauksen kiertotapana on suositeltavaa estää pääsy verkkoportteihin 5985, 5986 ja 1270.

CVE-2021-38647:n lisäksi OMI 1.6.8.1 korjaa myös kolme haavoittuvuutta (CVE-2021-38648, CVE-2021-38645 ja CVE-2021-38649), jotka voivat sallia oikeudettoman paikallisen käyttäjän suorittaa koodia.

Lähde: opennet.ru

Lisää kommentti