前言
今日一早起來推特以及各大技術論壇上炸開了鍋,安全圈子的人都在討論F5設備里遠程代碼執行的漏洞。很多討論的內容,大部分是在分享如何尋找目標,利用漏洞,并沒有關于對漏洞成因的分析。CertiK的安全研究員下載了存在漏洞的程序,搭建環境復現漏洞后,對漏洞的起因進行了分析,并在下文分享給大家。
背景
F5BIG-IP是美國F5公司的一款集成了網絡流量管理、應用程序安全管理、負載均衡等功能的應用交付平臺。PositiveTechnologies的研究人員MikhailKlyuchnikov發現其配置工具TrafficManagementUserInterface中存在遠程代碼執行漏洞,CVE編號為CVE-2020-5902。該漏洞CVSSv3評分為10分,攻擊者可利用該漏洞創建或刪除文件,關閉服務、執行任意的系統命令,最終獲得服務器的完全控制權。CVE具體表述請查看文章底部參考鏈接1。
受影響的BIG-IP軟件版本
漏洞利用
讀取任意文件:
curl-k'https:///tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd'
區塊鏈時尚透明度平臺tex.tracer完成150萬歐元種子輪融資:金色財經報道,區塊鏈時尚透明度平臺tex.tracer宣布完成150萬歐元種子輪融資,ROM InWest、HearstLab、Joanna Invests、以及一批天使投資人參投。tex.tracer使用區塊鏈技術、時間和地理位置標記、以及點對點審核功能從主要來源收集可靠的驗證數據。[2023/3/7 12:47:22]
遠程執行tmsh命令:
curl-k'https:///tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin'
官方給出的臨時修復方案(后文會對修復進行分析):
漏洞復現
在F5的官網注冊賬號之后,可以從F5的資源庫中下載存在漏洞的BIG-IP軟件。訪問參考鏈接2可以下載BIG-IPTMOS(TrafficManagementOperatingSystem,流量管理操作系統)的虛擬機鏡像。CertiK技術團隊因為使用VmwareFusion,下載的是“BIGIP-15.0.0-0.0.39.ALL_1SLOT-vmware.ova-ImagefilesetforVMwareESX/iServer”。
Fswap遭受黑客攻擊,目前正配合Certik處理黑客問題:據官方消息,Fswap于6月13日22:08分遭受黑客攻擊,目前Fswap正在和Certik積極配合處理黑客問題,目前與黑客方嘗試通過區塊鏈進行加密溝通,但黑客方加密信息出現錯誤,正在嘗試繼續溝通。這次為非被攻擊項目漏洞事件,是惡意借貸攻擊事件,黑客從BISWAP借貸至FSWAP進行交易攻擊,FSWAP通過certik全合約審計,我們正在與certik溝通配合進行處理,更多消息請持續關注Fswap官方推特。[2022/6/14 4:23:58]
在VmwareFusion中加載鏡像(import):
加載完成之后,使用默認用戶名密碼登陸系統:
用戶名:root
密碼:default
系統初始化之后,使用”ifconfig”命令查詢虛擬機IP地址。CertiK技術團隊的BIG-IPTMUI虛擬機IP地址為”172.16.4.137”。
在瀏覽器中訪問BIG-IPTMUI登陸界面:
https://172.16.4.137/tmui/login.jsp
HOGT-DEX生態已通過Certik代碼審計:據官方消息,HOGT-DEX生態已通過美國Certik代碼審計。
CertiK區塊鏈網絡安全公司,由耶魯大學與哥倫比亞大學計算機學教授共同創立。旨在使用最嚴密和最徹底的網絡與軟件安全技術來識別并消除安全漏洞。截至目前,CertiK已進行了超過700次審計,審計了超過39.6萬行代碼,保護了超過300億美元的資產免受損失。
HOGT是基于火幣生態鏈的綜合性DeFi生態服務平臺,融合聚合收益、DEX、借貸等多板塊業務,致力于建設DeFi全生態服務系統。[2021/6/9 23:23:24]
復現任意文件讀取:
在瀏覽器中訪問以下地址可以讀取”/etc/passwd”文件內容:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
去中心化交易所Balancer通過BAL流動性挖礦治理提案:Balancer協議于北京時間今日凌晨通過社區治理投票,再次修改其流動性挖礦獎金分配方案。Balancer以治理BAL為獎勵為流動性提供者每周發放獎勵。在新通過的提案中,每周14.5萬的BAL獎金(約合350萬美金)中將會有4.5萬(約合108萬美金)分發給BAL其它代幣交易對的流動性提供者。該提案被認為更偏向于以BAL為基礎的流動性池。[2020/8/25]
復現tmsh命令執行:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
漏洞分析
在進入漏洞分析前,先要明確一點:漏洞利用中的fileRead.jsp和tmshCmd.jsp文件在用戶登陸后本身是可以被訪問的。
下面的截圖顯示了登陸前和登陸后訪問以下URL的區別:
https://172.16.4.137/tmui/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
動態 | NBA籃球運動員Spencer Dinwiddie對聯盟拒絕將其續約合同代幣化的決定感到失望:NBA籃球運動員Spencer Dinwiddie在社交平臺中對NBA以違反政策為由,拒絕將其續約合同代幣化的決定感到失望。他表示聯盟官員可能對他的要求存在誤解,并補充說他愿意溝通解決這個問題。據此前消息,Dinwiddie希望通過與加密公司Paxos合作將他三年期3450萬美元合同的第一年代幣化,來籌集1350萬美元。Dinwiddie還宣布推出一個名為Dream Fan Shares的區塊鏈新平臺,將其作為一種創新的投資工具,讓運動員和娛樂界人士能夠簽署他們的職業融資合同。[2019/9/29]
登陸前訪問:
被跳轉回登陸界面
輸入賬號密碼登陸管理界面之后再訪問,可執行fileRead.jsp讀取文件。
fileRead.jsp和tmshCmd.jsp雖然是在PoC中最終被利用的文件,但是他們并不是漏洞的起因。此漏洞的本質是利用Apache和后臺Java(tomcat)對URL的解析方式不同來繞過登陸限制,在未授權的情況下,訪問后臺JSP模塊。CertiK技術人員第一次注意到此類型漏洞是在2018年Orange的BlackHat演講:“BreakingParserLogicTakeYourPathNormalizationOffandPop0DaysOut”.這里可以查看演講稿件(參考鏈接2)。
這里我們可以理解在F5BIG-IP的后臺服務器對收到了URL請求進行了兩次的解析,第一次是httpd(Apache),第二次是后一層的Java(tomcat).
在URL在第一次被Apache解析時,Apache關注的是URL的前半段https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
當Apache在看見前半段是合法URL且是允許被訪問的頁面時,就把它交給了后面的第二層。Apache在這里完全把URL里面關鍵的/..;/給無視了。
在URL在第二次被解析時,后面的Java(tomcat)會把/..;/理解為,向上返回一層路徑。此時,/login.jsp/和/..;/會抵消掉。Tomcat看到的真正請求從
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
變成了:
https://172.16.4.137/tmui/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
再來fileRead.jsp并沒有對收到的請求進行身份驗證,后臺因此直接執行fileRead.jsp,讀取并返回了/etc/passwd文件的內容。
根據以上的思路,其實可以找出別的利用漏洞的URL,比如:
https://172.16.4.137/tmui/tmui/login/legal.html/..;/..;/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
這里“https://172.16.4.137/tmui/tmui/login/legal.html”和之前的“login.jsp”一樣,是一個不需要登陸就能訪問的頁面。但是因為要向上返回兩次,需要用兩個/..;/來抵消掉”/login/legal.html”。
回到開頭提到的官方給出的臨時修復方案,修復方案的本質是在httpd的配置中添加以下規則:
include'
<LocationMatch".*\\.\\.;.*">
Redirect404/
</LocationMatch>
'
這個規則的意思是,當http服務器在監測到URL中包含..;(句號句號分號)的時候,直接返回404.這樣利用漏洞的請求就沒辦法到達后臺(第二層)了。
如何避免漏洞:
此漏洞的利用方式在網絡上公開之后,因為它的攻擊成本低廉,大批黑客都開始圖謀利用此漏洞攻擊使用F5BIG-IP產品的系統。黑客只需要付出極小的代價就能獲得目標系統的控制權,對系統產生巨大的破壞。
俗話說:“不怕賊偷,就怕賊惦記”。即便這樣的黑客攻擊事件這次沒有發生在你身上,不代表你是安全的。因為很有可能黑客的下一個目標就是你。
而Certik的專業技術團隊會幫你徹底打消這種“賊惦記”的擔憂。CertiK專業滲透測試團隊會通過對此類事件的監測,第一時間給客戶提交漏洞預警報告,幫助客戶了解漏洞細節以及防護措施。此舉可以確保客戶的系統不受攻擊并且不會遭受財產損失。
同時作為一名安全技術人員,在新漏洞被發現的時,不僅需要知道漏洞是如何被黑客利用的,更要去探尋漏洞背后的原因,方可積累經驗,更加有能力在復雜的系統中發現隱藏的漏洞。
CertiK以及其技術人員,將永遠把安全當做信仰,與大家一同學習并一同成長。
參考鏈接
1.https://cve.mitre.org/
2.https://downloads.f5.com/
3.https://i.blackhat.com/
由TheBlockchainer主辦,JCCapital,元界DNA和深鏈財經聯合主辦的第二屆區塊鏈新金融峰會于7月4號下午在上海龍之夢大酒店圓滿結束.
1900/1/1 0:00:008月4日,「百度超級鏈開放網絡白皮書發布會」將公布一項開發者們“喜聞樂見”的重磅活動。百度超級鏈開放網絡基于百度自主研發的開源技術,主要面向中小企業和開發者,是一款“無需搭鏈、快速低成本上鏈”的.
1900/1/1 0:00:00持幣者昨日收取了一根上影線較長的實體陰線。昨天比特幣幣價開盤價在9065美元一線,在凌晨時分幣價大幅度拉升,出現日間最高價9189美元一線,隨后幣價整體上開始回落。收盤價在9028美元一線.
1900/1/1 0:00:00自2020年初以來,活躍的以太坊地址數量增加約118%,而比特幣有效地址數量增加約49%,以太坊的活躍地址數量增長速度約為比特幣地址增加的兩倍.
1900/1/1 0:00:00近期,區塊鏈數據提供商Glassnode表示,在2015年至2017年期間,BTC反彈之前價格回暖的信號又回來了,該反彈達到了9,200%以上.
1900/1/1 0:00:00近日,據官方消息,Filecoin將于本周五進行網絡重置,并在下周開啟大礦工測試。消息一出,Filecoin鴿王的名聲算是實錘了,這已經是Filecoin第三次推遲了,意味著其主網上線的時間又將.
1900/1/1 0:00:00