閱讀266 返回首頁    go 支付寶


看我如何發現Uber合作方網站XXE 0day漏洞並獲得9000美元賞金


0?wx_fmt=jpeg

近期,俄羅斯滲透測試人員Vladimir Ivanov發現了反勒索數據備份服務商Code42的一個XXE 0day漏洞,利用該漏洞可以從使用Code42服務的公司竊取相關備份數據,這些公司包括Uber、Adobe、Lockheed Martin(洛克希德馬丁)等。作者在這篇文章中分享了該漏洞的發現過程。


Code 42,成立於2007年,最初以個人數據保護和備份軟件起家,隨後便逐漸拓展到了企業數據備份和反勒索服務領域。目前該公司在全球管理並保護著大量企業和組織機構數據,而且該公司所有的數據備份和存儲解決方案都是跨平台的。

漏洞發現過程

2016年5月,我在參與HackerOne平台的Uber漏洞賞金項目過程中,偶然通過測試發現了以下這個HTTP應用管理頁麵,這是Uber與合作公司Code42的一個係統服務:

0?wx_fmt=jpeg

通過該頁麵的API接口https://backup.uberinternal.com:4285/api/serverEnv 分析發現,其部署使用了Code42最新版本(5.2.0)的服務框架,而且Code42的相關產品在CVE漏洞庫中沒有任何披露漏洞,想要發現安全問題,密碼破解顯然不是一個可行方案,唯一可行的選擇就是,去發現該係統的未知漏洞。

接下來,我從Code42官網瀏覽了一些公開說明文檔,從中尋找涉及的API接口的方法描述,然後構造自動化的暴力猜解方式去請求這些接口,嚐試發現其中一些不需要身份驗證的API。幸運的是,最終發現其中一個API存在問題,任何外部用戶都可以對其作出有效的登錄訪問:https://www.crashplan.com/apidocviewer/#SsoAuthLoginResponse

0?wx_fmt=jpeg

在Code42公開文檔中對/api/SsoAuthLoginResponse的描述是這樣的:接收SAMLResponse的GET參數,其中SAMLResponse包含了base64編碼的XML用戶驗證數據:

0?wx_fmt=jpeg

由此,我構造了一個指向我個人VPS的XML外部實體對該API接口進行測試,盡管測試中使用的XXE漏洞利用代碼非常簡單,但出於保密,在此就不做公開。從以下測試的端口監聽信息可以看出,該服務係統存在XXE外帶數據(Out-of-Band)攻擊漏洞:(XXE-OOB漏洞詳情參考Freebuf-《DTD/XXE 攻擊筆記分享》BlackHat 2013 《XXE-Out of Band Attack》

0?wx_fmt=jpeg

由於係該統使用了java框架,而俄羅斯的OnSec實驗室曾針對Java程序的XXE-OOB攻擊,作出了相關研究,並給出相應的payload,和一個通過ftp服務讀取係統目錄的漏洞利用腳本xxe-ftp.rb,因此,我直接用xxe-ftp程序進行了驗證。

xxe-ftp.rb原理是這樣的,攻擊者主機運行該腳本後,8088端口作為http服務端負責獲取OOB攻擊payload,而8077端口用於ftp連接服務:

0?wx_fmt=jpeg

經驗證,我成功獲取到了係統服務器/home/目錄下的列表,並向HackerOne平台作了漏洞報告,獲取列表截圖如下:

0?wx_fmt=jpeg

經Uber安全團隊向Code42確認,這是一個0day漏洞,Uber安全團隊要求我給出更多漏洞詳細證明。在他們的許可下,我又作了進一步滲透測試,最終發現了備份日誌的存儲目錄文件。以下是係統服務器本地最近的某一儲存日誌文件,其中包含了操作用戶名和其它敏感信息:

0?wx_fmt=jpeg

測試結果已經很能說明問題:隻要運行有Code42周邊服務或托管業務的公司,我都可以利用該漏洞獲取到其備份係統網站內的所有備份文件。為了解該漏洞的現實威脅,我利用Code42服務端口4285在shodan上進行識別,發現了一些使用Code42相關服務的IP,其中還包括了一家全球知名的安全公司*&^#$#!:

0?wx_fmt=jpeg

原文發布時間為:2017-02-19

本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-05-24 17:33:55

  上一篇:go  幾個簡單步驟可以提高網站瀏覽體驗
  下一篇:go  看穿機器學習(W-GAN模型)的黑箱