PoC公開宣稱駭客利用Salt RCE漏洞展開大規模的攻擊行為!
駭客於本周末針對伺服器管理及自動化的基礎設施,利用Salt RCE展開攻擊。LineageOS、Vates、Ghost blogging platform及DigiCert在內等組織,都宣稱受到攻擊,成千上百的伺服器,無論管理端或客戶端都遭受潛在威脅。
在3000.2和2019.2.4之前的Salt版本容易受到代碼CVE-2020-11651和代碼CVE-2020-11652的影響。F-Secure上週對外公開揭露這兩個漏洞,宣稱任何駭客只需不到24小時即可開發出100%可用的攻擊模式。
第一個漏洞CVE-2020-11651讓駭客利用指令佇列主發布伺服器(master publish server)上的訊息,並從主伺服器上的本地根用戶那裡取得用於驗證命令的根金鑰(root key)。F-Secure解釋:「無意間的暴露使得遠端未經身份驗證的駭客,能以root用戶等級存取salt master。」
CVE-2020-11652是一種路徑遍歷(path traversal)漏洞,允許讀取預期目錄之外的檔案。與CVE-2020-11651和在一起使用,會讓未經身份驗證的駭客在任何地方讀取和寫入存取權限,並竊取密鑰以作為根向主服務器進行身份驗證。
由於利用代碼創建漏洞很簡單,因此,資安公司拒絕公布漏洞,以保護修補速度較慢的公司。但是網路上早已出現數個版本,這通常表示更多的攻擊將蜂擁而至。Salt漏洞頁面上出現120多則留言,多數是在描述攻擊軌跡,及如何阻擋伺服器上的非法入侵。
值得一提的是,光是阻擋駭客攻擊可能還不夠,甚至需要重新安裝伺服器。最好是將Salt設定為可以從官方SaltStack資料庫(SaltStack repository)自動取得更新。如果無法設定自動更新,F-Secure表示應該設置網路安全控制措施,以限制對Salt主伺服器的存取(預設端口4505和4506)。進而禁止從使用公共網路存取。
美國電腦緊急應變小組(US CERT)正式警告問題的嚴重性,大肆宣傳「盡快保護您的雲端基礎伺服器」。SaltStack提出保護並強化Salt環境的忠告。
遭受攻擊的組織
利用最近的Salt漏洞是Kinsing/H2Miner殭屍網絡的加密貨幣挖礦行為的一部分。挖礦程式(XMRig)是以「salt-minions」、「salt-minions-bak」、「salt-store」的名稱在執行。惡意軟體分析公司Intezer在推特證實,H2Miner利用F-Secure所提到的兩個漏洞來攻擊SaltStack。
LineageOS
針對LineageOS主要基礎架構(客製化Android操作系統)的攻擊,讓管理員失去所有服務的管理權限。接下來的幾個小時,團隊努力評估並修復所遭受的損壞。
本文公開時,仍有stats & builds兩項服務尚未恢復,儘管builds因為其他因素已於4月30日起停止服務。目前仍不清楚此次駭客入侵的原因為何?
DigiCert
DigiCert公開聲明,駭客破壞了用於signing certificate timestamps(簡稱SCTs)的Certificate Transparency Log 2 key(簡稱CT log 2)。
目前已將log轉為唯讀模式,沒有跡象顯示駭客在SCT上使用了密鑰。很可能是因為他們不知道自己有權限存取。反之,則在伺服器上執行其他服務。
DigiCert表示,任何在遭駭後出現的SCT都是可疑的,應該從信任列表中刪除。指出駭客之所以可以存取Certificate Transparency Log 2,因為這是比較傳統的基礎架構,當初在部署時並未在專用網絡上運行。
CT log 2原定於5月1日關閉。由於某些客戶仍有需求,所以延後關閉。也代表CT log 2與其他CT log分開操作。CT log和憑證頒發是在不同的作業環境執行的,因此CT存取並不會影響到憑證。
Ghost blogging platform
Ghost平台是Salt漏洞的另一個受害者。目前已知有Ghost(Pro)和Ghost.org收費服務受到了影響。調查顯示,信用卡資訊沒有受到影響,而且「沒有直接證據表示客戶私人資料,密碼或其他資料遭到破壞。」
確認資安問題以及對於Ghost平台的影響後,宣稱攻擊的目的是加密貨幣挖礦。 公告寫道:「挖礦程式使CPU運行達到尖峰,迅速使得系統超載,我們立即意識到問題的嚴重性。」
Ghost平台表示,目前已經清除駭客及挖礦程式,系統目前非常穩定,沒有發現其他問題。
Xen Orchestra
Xen Orchestra,另一個Salt漏洞的受害者。該公司發現,入侵的目的是藉由流氓salt挖礦程式在虛擬化主機上執行虛擬貨幣挖礦程式。而且目的是在提升挖礦效率,並不是持久存在的。
這些受害組織只是Salt漏洞的幾個例子。主要目的都是用於植入挖礦程式。根據專門用於主機和網路的搜尋引擎Censys,目前在公共網路約有超過5,000個SaltStack伺服器,很容易受到這兩個Salt漏洞攻擊。
關於漏洞概述
SaltStack是一套基於Python開發的C/S架構配置管理工具。國外資安團隊揭露SaltStack存在認證繞過漏洞(CVE-2020-11651)和目錄遍歷漏洞(CVE-2020-11652)。
在CVE-2020-11651,駭客藉由發出惡意請求,繞過 Salt Master的驗證邏輯,調用相關未授權的函數功能,可以從遠端發出指令執行漏洞。在 CVE-2020-11652,攻擊者藉由發出惡意請求,讀取伺服器上任意的檔案。
漏洞技術說明
身份驗證繞過漏洞(CVE-2020-11651)
ClearFuncs 類在處理授權時,並未限制 _send_pub() 方法,該方法直接可以在發佈佇列消息,發佈的消息會通過 root 身份許可權進行執行命令。
ClearFuncs 公開了 _prep_auth_info() 方法,通過該方法可以獲取到”root key”,通過獲取到的”root key”可以在主服務上執遠端調用命令。
目錄遍歷漏洞(CVE-2020-11652)
whell 模組中包含用於在特定目錄下讀取、寫入文件命令。函數中輸入的資訊與目錄進行拼接可以繞過目錄限制。
在 salt.tokens.localfs 類中的 get_token() 方法(由 ClearFuncs 類可以通過未授權進行調用)無法刪除輸入的參數,並且作為檔案名稱使用,在路徑中通過拼接”..”進行讀取目標目錄之外的檔案。唯一的限制時檔案必須通過 salt.payload.Serial.loads() 進行反序列化。
影響版本
SaltStack < 2019.2.4
SaltStack < 3000.2
修復版本
SaltStack = 2019.2.4
SaltStack = 3000.2
修復建議
升級至安全版本及其以上,升級前建議做好快照備份措施。安全版本下載地址參考:https://repo.saltstack.com
將SaltStack設定為自動更新,及時獲取相應更新。
將Salt Master預設監聽埠(預設4505和4506)設置為禁止對公共網路開放,或僅對可信對象開放。
如何入侵的實作
目前在github已經有文章教導人如何實作入侵,如有興趣請參照下方連結
https://github.com/jasperla/CVE-2020-11651-poc
本文由捕夢網參閱集結國外相關說明文章譯成
參考文章:
https://nosec.org/home/detail/4452.html