Microsoft Azure Linux 環境中強加的 OMI 代理中的遠程利用漏洞

在虛擬機器中使用 Linux 的 Microsoft Azure 雲端平台的客戶遇到了一個嚴重漏洞 (CVE-2021-38647),該漏洞允許使用 root 權限遠端執行程式碼。該漏洞的代號為 OMIGOD,值得注意的是,該問題存在於 Linux 環境中悄悄安裝的 OMI Agent 應用程式中。

使用 Azure 自動化、Azure 自動更新、Azure 操作管理套件、Azure 日誌分析、Azure 設定管理、Azure 診斷和 Azure 容器見解等服務時,會自動安裝並啟動 OMI 代理程式。例如,Azure 中啟用監視的 Linux 環境容易受到攻擊。該代理程式是開放 OMI(開放管理基礎設施代理)套件的一部分,實現了用於 IT 基礎設施管理的 DMTF CIM/WBEM 堆疊。

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 3

微軟已經發布了修復該漏洞的OMI 1.6.8.1更新,但尚未交付給Microsoft Azure用戶(新環境中仍安裝舊版的OMI)。不支援自動代理更新,因此使用者必須在 Debian/Ubuntu 上使用命令“dpkg -l omi”或在 Fedora/RHEL 上使用“rpm -qa omi”命令執行手動軟體包更新。作為安全解決方法,建議阻止對網路連接埠 5985、5986 和 1270 的存取。

除了CVE-2021-38647 之外,OMI 1.6.8.1 也解決了三個漏洞(CVE-2021-38648、CVE-2021-38645 和CVE-2021-38649),這些漏洞可能允許非特權本地用戶以root 身分執行程式碼。

來源: opennet.ru

添加評論