微軟披露macOS平臺上的Shrootless漏洞 相關補丁已可用
許多安全公司與大型科技企業都有自建團隊,旨在發現軟體中的缺陷和漏洞、與軟體供應商私下溝通,然後按照行業標準流程來發佈修復程式。 與此同時,以Google Project Zero為代表的團隊,也致力於幫助發現和修補第三方的安全問題。 而本文要為大家介紹的,則是微軟在蘋果macOS上發現的”Shrootless”漏洞。
(來自:Microsoft 365 Defender Research Team)
微軟指出,Shrootless 漏洞可被惡意攻擊者利用,以繞過操作系統的系統完整性保護(SIP),進而執行任意代碼。
與此同時,微軟安全團隊發現了一種用於提權的新型攻擊技術。 簡單翻閱該公司的博客文章後,可知問題主要歸咎於”由蘋果簽名、並具有安裝後腳本的軟體包”的安裝方式。
通過創建可劫持安裝過程的自定義軟體包,攻擊者便可利用該機制來達成惡意目的。
比如在繞過 SIP 防護措施後,攻擊者能夠安裝 rootkit 和無法檢測的惡意軟體、甚至覆蓋系統檔而不被 SIP 給阻止。
在某些情況下,軟體包需要訪問受 SIP 保護的目錄,比如系統更新。
可知蘋果為此類軟體包分配了一些特權(com.apple.rootless.install 和 com.apple.rootless.install.inheritable),但它們同樣也可被利用來繞過 SIP 。
在評估有權繞過 SIP 保護的 macOS 進程時,微軟安全團隊發現了守護進程 system_installd 具有強大的 com.apple.rootless.install.inheritable 許可權。
在此基礎上,攻擊者便可利用 system_installd的任何子進程,來完全繞過 SIP 檔系統限制。
借助 Microsoft Defender for Endpoint 的後入侵元件(post-breach component),安全團隊決定檢查 system_installd 的所有子進程。
結果讓他們感到十分震驚,因為其中一些可能允許攻擊者濫用、並繞過 SIP 。 比如在安裝蘋果簽名的 .pkg 包時,它就會調用 system_installed 並負責安裝前者。
但若軟體包中含有任何安裝後腳本,則 system_installd 會通過調用預設shell(在macOS上為 zsh)來運行它們。
有趣的是,當 zsh 啟動時,它會查找檔 /etc/zshenv 。 如果找到,哈輝自動從該文件運行命令 —— 即使在非交互模式下也是如此。
所以對於潛在的攻擊者來說,他們在設備上執行任意操作的最可靠路徑,就就是創建惡意的 /etc/zshenv 檔案,然後等待 system_installd 來調用 zsh 。
更糟糕的是,微軟還發現 zshenv 可作為通用攻擊模式,而不僅僅是 Shrootless —— 濫用此 shell 或導致特權提升。
慶幸的是,作為協調漏洞披露(CVD)流程的一部分,微軟與蘋果私下分享了其調查結果。 後者承認了這個問題,並於 2021 年 10 月 26 日向公眾發佈了漏洞修復補丁。
在macOS Monterey、Catalina和 Big Sur 的安全補丁說明中,蘋果還強調了微軟對此做出的貢獻。 有關詳情,還請查看CVE-2021-30892安全公告。