Azure Functions 提權(quán)漏洞分析,windows azure-ESG跨境

Azure Functions 提權(quán)漏洞分析,windows azure

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點贊icon 0
查看icon 690

Azure Functions 提權(quán)漏洞分析,windows azureAzure Functions 提權(quán)漏洞分析Azure Functions 是一種無服務(wù)器解決方案,可以使用戶減少代碼編寫、減少需要維護的基礎(chǔ)結(jié)構(gòu)并節(jié)省成本。無需擔(dān)心部署和維護服務(wù)器,云基礎(chǔ)結(jié)構(gòu)提供保持應(yīng)用程序運行所需的所有最新資源。你只需專注于對......

Azure Functions 提權(quán)漏洞分析,windows azure




Azure Functions 提權(quán)漏洞分析

Azure Functions 是一種無服務(wù)器解決方案,可以使用戶減少代碼編寫、減少需要維護的基礎(chǔ)結(jié)構(gòu)并節(jié)省成本。無需擔(dān)心部署和維護服務(wù)器,云基礎(chǔ)結(jié)構(gòu)提供保持應(yīng)用程序運行所需的所有最新資源。你只需專注于對你最重要的代碼,Azure Functions 處理其余代碼。Azure Functions允許您提供一個帶有不同“鉤子”的簡單應(yīng)用程序,以觸發(fā)它運行。這些可以是簡單的Web掛鉤或其他基于云的服務(wù)上的事件(例如,寫入OneDrive的文件)。Azure Functions的一個很好的好處是它們可以輕松地與其他供應(yīng)商的服務(wù)綁定,例如Twilio或GitHub。

過渡到云服務(wù)的一個最常見的好處是可以共同承擔(dān)保護資產(chǎn)的責(zé)任,但是云提供商也不能避免安全漏洞,比如漏洞或錯誤配置。這是研究人員在過去幾個月在Azure Functions中發(fā)現(xiàn)的第二次權(quán)限升級(EoP)漏洞。

今年2月份,安全公司Intezer研究人員發(fā)現(xiàn)微軟的無服務(wù)器運算服務(wù)Azure Functions,存在一個特權(quán)提升漏洞,且程序代碼可從Azure Functions DockerDocker逃脫(Escape)至Docker主機。但微軟認(rèn)為,這個漏洞不影響用戶安全。

Azure Functions讓用戶不需要配置和管理基礎(chǔ)設(shè)施,就能簡單地開始執(zhí)行程序代碼,可由HTTP請求觸發(fā),并且一次最多只能執(zhí)行數(shù)分鐘處理該事件,用戶的程序代碼會在Azure托管的Docker中執(zhí)行,無法逃脫受限的環(huán)境,但是這個Azure Functions的新漏洞,卻可讓程序代碼逃脫至Docker主機。

當(dāng)程序代碼逃脫到了Docker,取得根訪問權(quán)限,就足以破壞Docker主機,并獲得更多的控制權(quán),除了逃脫可能受到監(jiān)控的Docker,還能轉(zhuǎn)移到安全性經(jīng)常被忽略的Docker主機。

這一次,Intezer研究人員是與微軟安全響應(yīng)中心(MSRC)合作并報告的新發(fā)現(xiàn)的漏洞。他們確定這種行為對Azure Functions用戶沒有安全影響。因為發(fā)現(xiàn)的Docker主機實際上是一個HyperV客戶端,而它又被另一個沙箱層保護起來了。

不過,類似這樣的情況仍然表明,漏洞有時是未知的,或者不受云用戶的控制。推薦一種雙管齊下的云安全方法:做一些基礎(chǔ)工作,例如修復(fù)已知的漏洞和加固系統(tǒng)以減少受到攻擊的可能性,并實現(xiàn)運行時保護,以便在漏洞利用和其他內(nèi)存攻擊發(fā)生時檢測/響應(yīng)它們。

Azure Functions Docker中的漏洞分析

Azure FunctionsDocker以privileged Docker標(biāo)志運行,從而導(dǎo)致/dev目錄下的設(shè)備文件在Docker主機和Docker客戶端之間共享。這是標(biāo)準(zhǔn)的特權(quán)Docker行為,然而,這些設(shè)備文件對“其他”文件具有“rw”權(quán)限,如下所示,這是我們提出的漏洞會發(fā)生的根本原因。

Azure Functions Docker與低權(quán)限的應(yīng)用程序用戶一起運行。Docker的主機名包含“沙箱”一詞,這意味著將用戶包含在低權(quán)限中是很重要的。容器使用–privileged標(biāo)志運行,這意味著,如果用戶能夠升級為root用戶,則他們可以使用各種Docker轉(zhuǎn)義技術(shù)逃到Docker主機。

設(shè)備文件上的寬松權(quán)限不是標(biāo)準(zhǔn)行為,從我的本地特權(quán)Docker設(shè)置中可以看到,/dev中的設(shè)備文件默認(rèn)情況下不是很寬松:

Azure Functions環(huán)境包含52個帶有ext4文件系統(tǒng)的“pmem”分區(qū)。起初,我們懷疑這些分區(qū)屬于其他Azure Functions客戶端,但進一步評估表明,這些分區(qū)只是同一個操作系統(tǒng)使用的普通文件系統(tǒng),包括pmem0,它是Docker主機的文件系統(tǒng)。

使用debugfs讀取Azure FunctionsDocker主機的磁盤

為了進一步研究如何利用此可寫磁盤而不會潛在地影響其他Azure客戶,研究人員在本地容器中模擬了該漏洞,并與非特權(quán)用戶“bob”一起建立了本地環(huán)境:

利用設(shè)備文件o+rw

在我們的本地設(shè)置中,/dev/sda5是根文件系統(tǒng),它將成為我們的目標(biāo)文件系統(tǒng)。

使用debugfs實用程序,攻擊者可以遍歷文件系統(tǒng),如我們上面成功演示的那樣。debugfs還通過w標(biāo)志支持寫入模式,因此我們可以將更改提交到基礎(chǔ)磁盤。請務(wù)必注意,寫入已掛載的磁盤通常不是一個好主意,因為它可能會導(dǎo)致磁盤損壞。

通過直接文件系統(tǒng)編輯利用

為了演示攻擊者如何更改任意文件,我們希望獲得對/ etc/passwd的控制權(quán)。首先,我們嘗試通過直接編輯文件系統(tǒng)塊的內(nèi)容,使用zap_block命令來編輯文件的內(nèi)容。在內(nèi)部,Linux內(nèi)核將這些變化處理到*device file* /dev/sda5,并且它們被寫入緩存到與*regular file* /etc/passwd不同的位置。因此,需要刷新對磁盤的更改,但是這種刷新由debugfs實用程序處理。

使用debugfs用A(0x41)覆蓋/etc/passwd內(nèi)容

類似地,Linux內(nèi)核為最近加載到內(nèi)存中的頁面托管了一個讀取緩存。

不幸的是,由于與我們在寫入緩存中說明的約束相同,對/dev/sda5的更改將不會傳播到/etc/passwd文件的視圖中,直到其緩存的頁面被丟棄。這意味著,我們只能覆蓋最近未從磁盤加載到內(nèi)存的文件,或者等待系統(tǒng)重新啟動以應(yīng)用更改。

經(jīng)過進一步研究,研究人員找到了一種方法來指示內(nèi)核放棄讀取緩存,以便他們的zap_block更改可以生效。首先,我們通過debugfs創(chuàng)建了一個到Docker的diff目錄的硬鏈接,以便更改可以輻射到Docker:

該硬鏈接仍然需要root權(quán)限才能進行編輯,因此研究人員仍然必須使用zap_block來編輯其內(nèi)容。然后,研究人員使用posix_fadvise指示內(nèi)核從讀取緩存中丟棄頁面,這受一個名為pagecache management的項目的啟發(fā)。這導(dǎo)致內(nèi)核加載研究人員的更改,并最終能夠?qū)⑺鼈儌鞑サ紻ocker主機文件系統(tǒng):

刷新讀取緩存

Docker主機文件系統(tǒng)中的/etc/passwd,刷新后我們可以看到“AAA”字符串

總結(jié)

通過編輯屬于Docker主機的任意文件,攻擊者可以通過類似地對/etc/ld.so.preload進行更改并通過Docker的diff目錄提供惡意共享對象來啟動預(yù)加載劫持。該文件可以預(yù)加載到Docker主機系統(tǒng)中的每個進程中(之前使用此技術(shù)記錄了HiddenWasp惡意軟件),因此攻擊者將能夠在Docker主機上執(zhí)行惡意代碼。

對漏洞利用的PoC進行總結(jié)如下:

微軟目前對此發(fā)現(xiàn)的評估是,這種行為對Azure Functions用戶沒有安全影響。因為我們探測的Docker主機實際上是一個HyperV客戶端,所以它被另一個沙箱層保護。

無論你如何努力保護自己的代碼,有時漏洞都是未知的或無法控制的。因此你應(yīng)該具備運行時保護功能,以便在攻擊者在你的運行環(huán)境中執(zhí)行未經(jīng)授權(quán)的代碼時檢測并終止攻擊。

參考及來源:https://www.intezer.com/blog/cloudsecurity/royalflushprivilegeescalationvulnerabilityinazurefunctions/


文章推薦
Azure Databricks大數(shù)據(jù)構(gòu)建營  掐指一算,大數(shù)據(jù)常用的技術(shù)組件
AppLovin告訴你如何在合成類游戲脫穎而出,游戲介紹帶你快速了解游戲新玩法
ASO、ASM、SEO、SEM是什么
Google AdWords和Google SEO,谷歌平臺seo


特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
《波蘭allegro知識百科》
《Darty知識百科》
《法國Fnac知識百科》
《PEAKS 出海經(jīng)營方法論白皮書》
2025跨境電商營銷日歷
《2024年全球消費趨勢白皮書——美國篇》
《2024TikTok出海達人營銷白皮書》
《Coupang自注冊指南》
《eMAG知識百科》
《TikTok官方運營干貨合集》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運營實操指導(dǎo)
運營提效資源福利
平臺官方專屬優(yōu)惠
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部

【免費領(lǐng)取】全球跨境電商運營干貨 關(guān)閉