新聞中心
近日,intezer研究人員在Microsoft Azure發(fā)現(xiàn)了2個(gè)安全漏洞。漏洞存在于Azure App Services 云服務(wù)中,主要影響Linux 服務(wù)器。攻擊者利用第一個(gè)漏洞可以訪問(wèn)云服務(wù)器,并完全控制App Service的git庫(kù),并植入可以通過(guò)Azure Portal 訪問(wèn)的釣魚(yú)頁(yè)面。攻擊者利用第二個(gè)漏洞可以利用一個(gè)SSRF 漏洞來(lái)提權(quán)到APP Service的完全代碼執(zhí)行,觸發(fā)第一個(gè)漏洞。PoC視頻如下所示:

Azure App Services
Azure App Services是一個(gè)基于HTTP的web應(yīng)用托管服務(wù),可以通過(guò)Microsoft Azure Cloud 云或安裝來(lái)使用。App Services 允許開(kāi)發(fā)者寫(xiě)一個(gè)應(yīng)用來(lái)服務(wù)HTTP,然后推送給git。然后Azure會(huì)處理所有的部署詳情并提供Azure管理的域名。
為開(kāi)始使用App Services,用戶必須首先創(chuàng)建一個(gè)App Service Plan,這是App Services將要使用的機(jī)器。機(jī)器的主要目的是托管App Service 容器。
一旦用戶創(chuàng)建了App Service,Azure就會(huì)創(chuàng)建一個(gè)包含2個(gè)容器節(jié)點(diǎn)的新的Docker環(huán)境:管理節(jié)點(diǎn)和應(yīng)用節(jié)點(diǎn)。然后回注冊(cè)2個(gè)域名:
· app.azurewebsites.net – 指向應(yīng)用的HTTP web服務(wù)器;
· app.scm.azurewebsites.net – 指向Azure提供的App Service管理頁(yè)面。
管理頁(yè)面是由微軟開(kāi)源項(xiàng)目Kudu提供的。在Linux 系統(tǒng)中,有一個(gè)類(lèi)似的項(xiàng)目叫做KuduLite。Kudu實(shí)例由管理節(jié)點(diǎn)托管,而應(yīng)用本身由應(yīng)用節(jié)點(diǎn)托管。
在Linux系統(tǒng)中,KuduLite 實(shí)例回提供給用戶關(guān)于系統(tǒng)的診斷信息,包括Docker日志、設(shè)置和其他環(huán)境信息。如果用戶選擇用Azure 托管app的git,就會(huì)由Kudu 服務(wù)管理。
另一個(gè)有用的特征是kudu實(shí)例中運(yùn)行交互式bash的web接口和另一個(gè)名為webssh的web接口。
app節(jié)點(diǎn)中的有用會(huì)以root權(quán)限運(yùn)行,研究人員可以通過(guò)SSH 以root權(quán)限登入。在訪問(wèn)Kudu 實(shí)例時(shí),實(shí)際上是一個(gè)低權(quán)限的用戶:
該用戶只能與/home交互,并且無(wú)法在其他目錄中寫(xiě)文件。但在該實(shí)例中安裝了ClamAV。
Linux App Services環(huán)境如下圖所示:
漏洞 1: KuduLite Takeover/EoP
在調(diào)查webssh如何連接到web接口到應(yīng)用節(jié)點(diǎn)的SSH服務(wù),研究人員發(fā)現(xiàn)其使用硬編碼的憑證“root:Docker!” 來(lái)訪問(wèn)應(yīng)用節(jié)點(diǎn):
因?yàn)镵uduLite 實(shí)例也運(yùn)行SSH,所以就可以用相同的憑證來(lái)以root權(quán)限登陸:
因?yàn)榭梢钥刂芀uduLite,因此可以完全控制SCM web服務(wù)器??梢员O(jiān)聽(tīng)用戶發(fā)送給SCM web頁(yè)面的HTTP請(qǐng)求、添加自己的頁(yè)面、注入惡意JS內(nèi)容到用戶web頁(yè)面。
研究人員首先嘗試從發(fā)送給服務(wù)器的請(qǐng)求中竊取SCM 用戶cookie。此外,cookie還有一個(gè)HttpOnly 屬性,也就是說(shuō)無(wú)法用客戶端瀏覽器的JS竊取。
但攻擊者仍然可以利用該漏洞來(lái)植入一個(gè)偽裝成SCM web頁(yè)面的釣魚(yú)頁(yè)面。用戶可以選擇App Services 來(lái)管理git 服務(wù)器,攻擊者可以添加惡意代碼到庫(kù)中來(lái)實(shí)現(xiàn)駐留并傳播到其他使用相同的git 服務(wù)器的實(shí)例。
漏洞2: KuduLite缺乏訪問(wèn)限制允許本地文件包含或遠(yuǎn)程代碼執(zhí)行
第二個(gè)漏洞位于KuduLite API 中,與Kudu的 API非常類(lèi)似。應(yīng)用節(jié)點(diǎn)可以在無(wú)需任何訪問(wèn)驗(yàn)證的情況下發(fā)送請(qǐng)求到KuduLite API。當(dāng)web app中含有SSRF 漏洞時(shí)問(wèn)題就很?chē)?yán)重了。
能夠偽造GET 請(qǐng)求的攻擊者可能可以通過(guò)KuduLite VFS API 來(lái)訪問(wèn)應(yīng)用節(jié)點(diǎn)的文件系統(tǒng):
攻擊者可以很輕易地竊取應(yīng)用節(jié)點(diǎn)的源碼和其他資產(chǎn)。
可以偽造POST 請(qǐng)求的攻擊者可以通過(guò)命令A(yù)PI 在應(yīng)用節(jié)點(diǎn)上實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行:
相比之下,在Windows 中,從應(yīng)用節(jié)點(diǎn)發(fā)送給管理節(jié)點(diǎn)的包會(huì)被丟棄。
最后,這兩個(gè)漏洞被串起來(lái)后,攻擊者就可以實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。
總結(jié)
云服務(wù)使得開(kāi)發(fā)者可以快速和靈活地部署應(yīng)用。但這些基礎(chǔ)設(shè)施常常會(huì)存在漏洞。研究人員在微軟Azure App Services中發(fā)現(xiàn)了2個(gè)安全漏洞,攻擊者利用這2個(gè)安全漏洞可以實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。研究人員將該漏洞提交給了微軟,目前漏洞已經(jīng)修復(fù)。
本文翻譯自:https://www.intezer.com/blog/cloud-security/kud-i-enter-your-server-new-vulnerabilities-in-microsoft-azure/如若轉(zhuǎn)載,請(qǐng)注明原文地址:
分享名稱(chēng):MicrosoftAzure安全漏洞分析
網(wǎng)站鏈接:http://www.dlmjj.cn/article/djiogcc.html


咨詢(xún)
建站咨詢(xún)
