Ranljivost, ki jo je mogoče na daljavo izkoristiti v agentu OMI, vsiljena v okoljih Linux Microsoft Azure

Stranke platforme v oblaku Microsoft Azure, ki uporabljajo Linux v virtualnih strojih, so naletele na kritično ranljivost (CVE-2021-38647), ki omogoča oddaljeno izvajanje kode s korenskimi pravicami. Ranljivost je dobila kodno ime OMIGOD in je opazna po tem, da je težava prisotna v aplikaciji OMI Agent, ki je tiho nameščena v okoljih Linux.

OMI Agent se samodejno namesti in aktivira pri uporabi storitev, kot so Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics in Azure Container Insights. Na primer, okolja Linux v Azure, za katera je omogočeno spremljanje, so dovzetna za napade. Agent je del odprtega paketa OMI (Open Management Infrastructure Agent) z implementacijo sklada DMTF CIM/WBEM za upravljanje IT infrastrukture.

Agent OMI je nameščen v sistemu pod uporabnikom omsagent in ustvari nastavitve v /etc/sudoers za izvajanje niza skriptov s korenskimi pravicami. Med delovanjem nekaterih storitev se na omrežnih vratih 5985, 5986 in 1270 ustvarijo prisluškovalna omrežna vtičnica. Skeniranje v storitvi Shodan pokaže prisotnost več kot 15 tisoč ranljivih okolij Linux v omrežju. Trenutno je delujoč prototip izkoriščanja že javno dostopen, kar vam omogoča izvajanje kode s korenskimi pravicami v takih sistemih.

Težavo otežuje dejstvo, da uporaba OMI ni izrecno dokumentirana v Azure in se OMI Agent namesti brez opozorila – pri nastavitvi okolja se morate le strinjati s pogoji izbrane storitve in OMI Agent bo samodejno aktivira, tj. večina uporabnikov se njegove prisotnosti niti ne zaveda.

Metoda izkoriščanja je trivialna - samo pošljite zahtevo XML agentu in odstranite glavo, odgovorno za avtentikacijo. OMI uporablja avtentikacijo, ko prejema nadzorna sporočila, s čimer preverja, ali ima odjemalec pravico poslati določen ukaz. Bistvo ranljivosti je v tem, da ko se iz sporočila odstrani glava »Authentication«, ki je odgovorna za avtentikacijo, strežnik meni, da je preverjanje uspešno, sprejme kontrolno sporočilo in dovoli izvajanje ukazov s korenskimi pravicami. Za izvajanje poljubnih ukazov v sistemu je dovolj, da v sporočilu uporabite standardni ukaz ExecuteShellCommand_INPUT. Če želite na primer zagnati pripomoček »id«, pošljite zahtevo: 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 je že izdal posodobitev OMI 1.6.8.1, ki odpravlja ranljivost, vendar še ni bila dostavljena uporabnikom Microsoft Azure (stara različica OMI je še vedno nameščena v novih okoljih). Samodejne posodobitve agentov niso podprte, zato morajo uporabniki izvesti ročno posodobitev paketa z ukazoma "dpkg -l omi" v sistemu Debian/Ubuntu ali "rpm -qa omi" v sistemu Fedora/RHEL. Kot varnostno rešitev je priporočljivo blokirati dostop do omrežnih vrat 5985, 5986 in 1270.

Poleg CVE-2021-38647 OMI 1.6.8.1 obravnava tudi tri ranljivosti (CVE-2021-38648, CVE-2021-38645 in CVE-2021-38649), ki bi lahko neprivilegiranemu lokalnemu uporabniku omogočile izvajanje kode kot root.

Vir: opennet.ru

Dodaj komentar