近日,intezer研究人員在Microsoft Azure發(fā)現(xiàn)了2個安全漏洞。漏洞存在于Azure App Services 云服務中,主要影響Linux 服務器。攻擊者利用第一個漏洞可以訪問云服務器,并完全控制App Service的git庫,并植入可以通過Azure Portal 訪問的釣魚頁面。攻擊者利用第二個漏洞可以利用一個SSRF 漏洞來提權到APP Service的完全代碼執(zhí)行,觸發(fā)第一個漏洞。PoC視頻如下所示:
[[345093]]
Azure App Services
Azure App Services是一個基于HTTP的web應用托管服務,可以通過Microsoft Azure Cloud 云或安裝來使用。App Services 允許開發(fā)者寫一個應用來服務HTTP,然后推送給git。然后Azure會處理所有的部署詳情并提供Azure管理的域名。
為開始使用App Services,用戶必須首先創(chuàng)建一個App Service Plan,這是App Services將要使用的機器。機器的主要目的是托管App Service 容器。
一旦用戶創(chuàng)建了App Service,Azure就會創(chuàng)建一個包含2個容器節(jié)點的新的Docker環(huán)境:管理節(jié)點和應用節(jié)點。然后回注冊2個域名:
· app.azurewebsites.net – 指向應用的HTTP web服務器;
· app.scm.azurewebsites.net – 指向Azure提供的App Service管理頁面。

管理頁面是由微軟開源項目Kudu提供的。在Linux 系統(tǒng)中,有一個類似的項目叫做KuduLite。Kudu實例由管理節(jié)點托管,而應用本身由應用節(jié)點托管。
在Linux系統(tǒng)中,KuduLite 實例回提供給用戶關于系統(tǒng)的診斷信息,包括Docker日志、設置和其他環(huán)境信息。如果用戶選擇用Azure 托管app的git,就會由Kudu 服務管理。
另一個有用的特征是kudu實例中運行交互式bash的web接口和另一個名為webssh的web接口。
app節(jié)點中的有用會以root權限運行,研究人員可以通過SSH 以root權限登入。在訪問Kudu 實例時,實際上是一個低權限的用戶:

該用戶只能與/home交互,并且無法在其他目錄中寫文件。但在該實例中安裝了ClamAV。
Linux App Services環(huán)境如下圖所示:

漏洞 1: KuduLite Takeover/EoP
在調(diào)查webssh如何連接到web接口到應用節(jié)點的SSH服務,研究人員發(fā)現(xiàn)其使用硬編碼的憑證“root:Docker!” 來訪問應用節(jié)點:

因為KuduLite 實例也運行SSH,所以就可以用相同的憑證來以root權限登陸:

因為可以控制KuduLite,因此可以完全控制SCM web服務器??梢员O(jiān)聽用戶發(fā)送給SCM web頁面的HTTP請求、添加自己的頁面、注入惡意JS內(nèi)容到用戶web頁面。
研究人員首先嘗試從發(fā)送給服務器的請求中竊取SCM 用戶cookie。此外,cookie還有一個HttpOnly 屬性,也就是說無法用客戶端瀏覽器的JS竊取。
但攻擊者仍然可以利用該漏洞來植入一個偽裝成SCM web頁面的釣魚頁面。用戶可以選擇App Services 來管理git 服務器,攻擊者可以添加惡意代碼到庫中來實現(xiàn)駐留并傳播到其他使用相同的git 服務器的實例。
漏洞2: KuduLite缺乏訪問限制允許本地文件包含或遠程代碼執(zhí)行
第二個漏洞位于KuduLite API 中,與Kudu的 API非常類似。應用節(jié)點可以在無需任何訪問驗證的情況下發(fā)送請求到KuduLite API。當web app中含有SSRF 漏洞時問題就很嚴重了。
能夠偽造GET 請求的攻擊者可能可以通過KuduLite VFS API 來訪問應用節(jié)點的文件系統(tǒng):

攻擊者可以很輕易地竊取應用節(jié)點的源碼和其他資產(chǎn)。
可以偽造POST 請求的攻擊者可以通過命令API 在應用節(jié)點上實現(xiàn)遠程代碼執(zhí)行:

相比之下,在Windows 中,從應用節(jié)點發(fā)送給管理節(jié)點的包會被丟棄。
最后,這兩個漏洞被串起來后,攻擊者就可以實現(xiàn)遠程代碼執(zhí)行。
總結
云服務使得開發(fā)者可以快速和靈活地部署應用。但這些基礎設施常常會存在漏洞。研究人員在微軟Azure App Services中發(fā)現(xiàn)了2個安全漏洞,攻擊者利用這2個安全漏洞可以實現(xiàn)遠程代碼執(zhí)行。研究人員將該漏洞提交給了微軟,目前漏洞已經(jīng)修復。
本文翻譯自:https://www.intezer.com/blog/cloud-security/kud-i-enter-your-server-new-vulnerabilities-in-microsoft-azure/如若轉(zhuǎn)載,請注明原文地址: