您好,登錄后才能下訂單哦!
利用JIRA漏洞訪問美軍非保密因特網協議路由器網的示例分析,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
下面講述了作者在參與美國國防部(DoD) Hack the Pentagon 漏洞眾測項目中,利用JIRA漏洞CVE-2017-9506構造了SSRF攻擊面,實現了對美軍非保密因特網協議路由器網(NIPRnet)的訪問,并且結合其它漏洞技巧,獲取到DoD內網系統的一系列敏感信息。由于測試過程和內容的涉密性,該篇文章僅點到為止,未對過多技術細節和詳細場景作出披露,僅當學習分享,還望讀者多多包涵。
JIRA 是澳大利亞 Atlassian 公司開發的一款優秀的問題跟蹤管理軟件工具,可以對各種類型的問題進行跟蹤管理,包括缺陷、任務、需求、改進等。JIRA采用J2EE技術,能夠跨平臺部署,很多開源軟件組織和知名公司都在使用JIRA。
在參與美國國防部(DoD)的漏洞眾測項目時,我發現其中有兩個特別的網站部署了項目跟蹤管理工具JIRA,經過初略分析后,我認為不存在可利用的漏洞,所以就直接沒繼續深挖了。
后來,我從Twitter中發現了一條利用JIRA漏洞實現SSRF攻擊的發貼:
它的意思是這樣的:
JIRA用戶小心了,JIRA漏洞CVE-2017-9506能被攻擊者利用,用于竊取你的內網數據。這是一種開放重定向漏洞,但在某些情況下,它可被利用重定向到內部JIRA系統的本地鏈接地址中,從而導致如AWS密鑰等某些內部資源信息泄露。
荷蘭安全研究機構Dontpanic給出了CVE-2017-9506大概的漏洞原因:JIRA包含的認證授權插件Atlassian OAuth plugin中存在一個名為 IconUriServlet 的組件,它用于接收客戶端中附帶參數值consumerUri的GET請求,但IconUriServlet 組件也能用于創建由服務端執行的另外一種HTTP GET請求,這種由JIRA作為間接代理發起的請求,由服務端響應后再經JIRA返回給客戶端,該過程中通過構造請求,可導致服務端內部信息泄露在響應內容中返回給客戶端。
Dontpanic給出的漏洞驗證方法:
https://%basepath%/plugins/servlet/oauth/users/icon-uri?consumerUri=https://google.com
把basepath換成JIRA系統網站鏈接,訪問上述頁面之后,如果正常出現google.com頁面,則證明JIRA系統存在該漏洞;如果訪問出現404頁面,則漏洞不存在。請注意,是在consumerUri后面加上請求測試的網站!!!!!
仔細閱讀了CVE-2017-9506的說明之后,我如獲至寶,趕緊轉向之前發現的兩個國防部網站上,急切想驗證一下這種漏洞利用技術的可行性。我先測試了其中一下網站,竟然能正常跳出google頁面,那只肯定是存在漏洞的了!
https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://google.com
根據AWS規定,任何實例都可通過請求AWS設定的元數據地址169.254.169.254,來檢索自身實例元數據示例(相關方法可參考AWS官方說明),為此我構造了以下鏈接發起請求:
https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/local-hostname/
竟然能看到內部主機名!好吧,那我來試試能否獲取AWS密鑰呢:
https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/meta-data/iam/security-credential
但好像不行。在認真閱讀了AWS官方說明文檔之后,我再次用以下鏈接嘗試來獲取包含實例 ID、私有IP地址等信息:
https://website.mil/plugins/servlet/oauth/users/icon-uri?consumerUri=http://169.254.169.254/latest/dynamic/instance-identity/document
很好,竟然都能成功響應獲取到!
到了這一步,我想應該能說明問題了,于是沒再深入測試就簡單寫了份漏洞報告進行提交,但之后,DoD的項目分類人員把該漏洞定級為中危漏洞,但我認為這絕對是一個嚴重的高危漏洞。經過一番溝通之后,我向DoD申請了深入測試授權,想繼續測試一下這個漏洞到底會有什么最終影響。
首先,我從基本的端口探測開始,發現目標系統開啟了21、22、80、443、8080端口,有了這些端口信息之后,我就能測試各種錯誤信息的返回,通過這些信息判斷目標系統中的服務器和網絡部署情況,如下對目標系統8080端口發起請求后的響應信息:
其次,我又對gopher文件目錄查看協議、DICT字典服務器協議、FTP協議、LDAP輕量級目錄訪問協議等其它協議作了一遍請求測試。如系統返回了以下不支持LDAP的響應:
在記錄下這些信息時,我又想到了PortSwigger首席研究員James Kettle的在USA 2017黑帽大會的研究分享《Cracking the Lens: Targeting HTTP’s Hidden Attack-Surface》,James Kettle通過構造惡意的HTTP請求和Header頭信息,側面勾勒出目標系統中HTTP服務的隱藏攻擊面,最終,他利用了這種技術,‘偽裝’成美國國防部內部IP身份,成功入侵訪問到了DoD受限的內部網絡系統和相關資源。我記得在Kettle的分享中,他還展示了兩個他曾用來作入侵測試的DoD內部網站:(網站信息出處defensivecarry.com)
https://safe.amrdec.army.mil/safe/
https://dots.dodiis.mil/
結合這兩個James Kettle提到過的DoD內部網站,用我發現的DoD的兩個JIRA網站來向它們發起請求,目的就是測試能否以這種途徑實現對James Kettle提到的兩個DoD內部網站的訪問。最終,我用其中一個JIRA網站向James Kettle提到的兩個DoD內部網站發起請求后,其中一個顯示請求超時:
另一個返回了US Goverment(USG)的政府警告信息,如下:
在此測試過程中,我還發現了其它的DoD內部web服務,通過該內部web服務,我竟然能成功訪問到美軍的非保密協議路由網(NIPRnet),該網絡系統被DoD內部用來處理比機密級較低的敏感級信息。由于保密性原則,在此我就不詳細披露具體方法和途徑。
我用第二個JIRA網站向James Kettle提到的兩個DoD內部網站發起請求后,返回的響應信息基本沒什么可用之處。
但最終,經過測試,我還發現,可以根據響應時間來判斷DoD內部系統的端口開放情況。就比如,當向內部系統請求22端口時候,其響應用時1000毫秒,而請求21端口時響應用時將近10000毫秒,從這種時間差上可對一些端口情況作出猜測判斷。另外,由于缺少詳細的錯誤信息響應返回,我無法對系統中的具體協議作出判斷,但我要著重強調本文的重點是:通過該內部的web服務端,我可以訪問到DoD的非保密協議路由網(NIPRnet)!我還使用了Burp的Collaborator插件探測了對該web服務端請求發起后,服務端和請求端數據交換時存在的信息泄露情況。
比如從請求頭中的'X-Forwarded-For’可以獲取到內部IP,我用Burp的Collaborator插件查詢了所有可交互的內部IP,雖然最終能查詢到內部IP和相關的網絡服務信息,但卻不能在該web服務端上實現AWS元數據檢索。
最終,我向DoD提交了涉及的兩個漏洞之后,兩個漏洞都被評級為高危(Critical),由此,我聯想到我今年年初向DoD上報的兩個SSRF漏洞,想看看上述漏洞能否用這種SSRF方式有所深入利用。
我年初上報的兩個SSRF漏洞是,用某個web應用過濾器可以對特定的IP地址發起HTTP連接請求,例如能以提交CONNECT IP 請求方式,枚舉出目標系統內的應用服務;另外也能通過更改主機頭信息對目標系統內部IP或外部IP發起經過驗證的請求信息,如militarywebsite.mil@internal_IP。當我在這兩個JIRA網站上用這種SSRF方式進行測試時發現,之前提示超時、SSL錯誤和其它響應的請求環境中,竟然也能用Blind SSRF方法實現對內部IP和網絡服務進行枚舉探測。所以,這個點上的SSRF漏洞利用最終也被DoD評級為中危。
在我對以上漏洞的綜合測試過程中,我發現在某些情況下,會莫名其妙地發生堆棧錯誤并泄露各種敏感信息,比如,用不完整的HTTP頭信息http://或http://[::],這種堆棧錯誤時泄露的敏感信息包括數據庫IP、數據庫版本、應用插件、操作系統架構和其它系統:
發生堆棧錯誤時,仍然可以繼續對目標網站進行深入的信息獲取利用,比如,我發現有時候目標網站會指向其它Altassian實例,如某次測試中,我發現目標站點某子域名中部署有Altassian的confluence實例,經過測試證明,這些實例同樣會受到信息泄露漏洞的影響。
作者描述了參與美國國防部漏洞眾測項目時發現的JIRA漏洞,并概要性地介紹了整個漏洞利用的測試過程,我們一起來梳理下:
1 其中兩個部署有JIRA實例的DoD網站存在授權插件漏洞CVE-2017-9506,攻擊者利用該漏洞可獲取目標網站系統內部資源信息,并能形成SSRF攻擊面;
2 結合CVE-2017-9506利用方法,我從存在漏洞的DoD網站中獲取到了JIRA實例 ID、私有IP地址、一系列錯誤響應等信息;
3 綜合PortSwigger首席研究員James Kettle分享提到的兩個DoD網站,利用CVE-2017-9506請求方法,發現請求的DoD網站返回了有效USG(政府警告)信息;
4 在第3步過程中,我通過發現的某個內部web服務,結合CVE-2017-9506利用方法,實現了對DoD非保密協議路由網(NIPRnet)的訪問;
5 結合CVE-2017-9506利用方法,在存在漏洞的DoD網站上復現了SSRF攻擊,實現了內部IP和網絡服務枚舉,以及后續堆棧錯誤時的敏感信息獲取。
關于利用JIRA漏洞訪問美軍非保密因特網協議路由器網的示例分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。