前言
今日一早起來推特以及各大技術論壇上炸開了鍋,安全圈子的人都在討論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'
Certik:正在探討180萬美金社區補償計劃以彌補Merlin DEX事件損失:金色財經報道,據Certik發文表示,在Merlin DEX的惡意開發者實施了Rug Pull后,正與受影響的各方緊密合作,彌補Merlin DEX事件造成的180萬美元用戶資金損失。據悉,CertiK將在未來幾天內宣布一個180萬美金的社區補償計劃以彌補損失,更多的計劃細節將會于隨后發布。
CertiK在對Merlin DEX的審計過程中發現了中心化風險,并對授予“masterAddress”和“owner”地址的權限進行了詳細的可視化分解。該審計工作于4月23日完成,共有六項發現。Merlin團隊修復了其中兩個問題,并確認了其余四個問題。CertiK的審計報告全部公開透明,并免費提供給所有Web3社區成員查看。
初步調查表明,攻擊者很可能位于歐洲。目前,Certik正在與執法部門合作,追蹤他們的下落。CertiK也正在與Merlin團隊的其他成員緊密合作并努力解決問題。目前,CertiK已敦促該惡意開發者接受20%的白帽賞金。[2023/4/27 14:29:05]
遠程執行tmsh命令:
curl-k'https:///tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin'
Balancer推出DeFi組件Generalized Boosted Pools:金色財經報道,Balancer推出DeFi組件Generalized Boosted Pools,支持在Balancer中集成收益率市場,通過將未使用的Boosted pools池子流動性存入產生收益的協議中來保持資本效率。[2023/2/16 12:11:43]
官方給出的臨時修復方案(后文會對修復進行分析):
漏洞復現
在F5的官網注冊賬號之后,可以從F5的資源庫中下載存在漏洞的BIG-IP軟件。訪問參考鏈接2可以下載BIG-IPTMOS(TrafficManagementOperatingSystem,流量管理操作系統)的虛擬機鏡像。CertiK技術團隊因為使用VmwareFusion,下載的是“BIGIP-15.0.0-0.0.39.ALL_1SLOT-vmware.ova-ImagefilesetforVMwareESX/iServer”。
在VmwareFusion中加載鏡像(import):
Balancer Labs宣布推出穩定池:金色財經報道,Balancer Labs發推文宣布推出穩定池,使之成為首個具備3種池子的AMM。目前Balancer Labs已經創建2個初始穩定池,分別是:staBAL3-BTC—WBTC/renBTC/sBTC及staBAL3- USD—DAI/USDC/USDT。[2021/7/9 0:37:58]
加載完成之后,使用默認用戶名密碼登陸系統:
用戶名:root
密碼:default
系統初始化之后,使用”ifconfig”命令查詢虛擬機IP地址。CertiK技術團隊的BIG-IPTMUI虛擬機IP地址為”172.16.4.137”。
在瀏覽器中訪問BIG-IPTMUI登陸界面:
https://172.16.4.137/tmui/login.jsp
復現任意文件讀取:
在瀏覽器中訪問以下地址可以讀取”/etc/passwd”文件內容:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
NIO GOLD生態已通過Certik代碼審計:據官方消息,NIO GOLD生態已通過美國Certik代碼審計。 CertiK區塊鏈網絡安全公司,由耶魯大學與哥倫比亞大學計算機學教授共同創立。旨在使用網絡與軟件安全技術來識別并消除安全漏洞。截至目前,CertiK已進行了超過700次審計,審計了超過39.6萬行代碼,保護了超過300億美元的資產免受損失。
據悉,NIO GOLD是基于火幣生態鏈的綜合性DeFi生態服務平臺,實行極致通縮機制,致力于建設DeFi全生態服務系統。[2021/6/19 23:49:31]
復現tmsh命令執行:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
漏洞分析
在進入漏洞分析前,先要明確一點:漏洞利用中的fileRead.jsp和tmshCmd.jsp文件在用戶登陸后本身是可以被訪問的。
Coinbase前產品經理Kristen Stone擔任Balancer COO:1月24日,Coinbase前產品經理Kristen Stone發推宣布擔任Balancer COO。她在推特中稱,作為Balancer COO,主要職責是確保組織和生態系統正常運轉。我加入Balancer是因為他們致力于創建以人為本的生態系統,同時推動我所信任的產品。Kristen Stone曾在Coinbase工作5年。[2021/1/24 13:20:35]
下面的截圖顯示了登陸前和登陸后訪問以下URL的區別:
https://172.16.4.137/tmui/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
登陸前訪問:
被跳轉回登陸界面
輸入賬號密碼登陸管理界面之后再訪問,可執行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/
Tags:CERFILEFILTIKAnimal ConcertsFilecoin幣下載FIL幣再次爆發的時間Tikky Inu
BSN“官方指定區塊鏈應用”的征集活動已一月有余,活動的目的是為了“把最合適的區塊鏈應用,展示給最需要的用戶”.
1900/1/1 0:00:00今日資訊: 波網BTC永續合約數據:多空持倉比為1.72多頭重回壓倒態勢據波網Boboo.com交易大數據顯示,截至6月23日9:00,BTC永續合約報價9661.7美元.
1900/1/1 0:00:00持幣者昨天凌晨到5點左右,幣價進行了小幅度的反彈,白天和夜間波動幅度并不大,在9100附近震蕩運行,基本橫盤。從晚間開始布林通道就開始收口,一直到現在幣價在窄幅震蕩.
1900/1/1 0:00:00幣圈的特色是未知,在選擇產品時,要多思考,投資者需要在風險與收益中總結經驗,制定策略,合理的設置目標與期望.
1900/1/1 0:00:00我們在做單交易時,既能享受盈利,也要面對虧損。當我們認識到盈虧同源這一問題時,執行就是自然而然的事情了,想要賺取盈利,就必須接受虧損。想要完全避免虧損,除非不做交易了,連盈利也不要了.
1900/1/1 0:00:00共識機制在1980年代就已經開始發展,時至今日諸多共識機制實際就發展出兩類:以PBFT為代表的經典共識協議和比特幣所采用的中本聰共識協議,市面上其他所有共識協議都僅僅是這兩類的變體.
1900/1/1 0:00:00