前言
今日一早起來推特以及各大技術論壇上炸開了鍋,安全圈子的人都在討論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'
HOGT-DEX生態已通過Certik代碼審計:據官方消息,HOGT-DEX生態已通過美國Certik代碼審計。
CertiK區塊鏈網絡安全公司,由耶魯大學與哥倫比亞大學計算機學教授共同創立。旨在使用最嚴密和最徹底的網絡與軟件安全技術來識別并消除安全漏洞。截至目前,CertiK已進行了超過700次審計,審計了超過39.6萬行代碼,保護了超過300億美元的資產免受損失。
HOGT是基于火幣生態鏈的綜合性DeFi生態服務平臺,融合聚合收益、DEX、借貸等多板塊業務,致力于建設DeFi全生態服務系統。[2021/6/9 23:23:24]
遠程執行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將于下周正式上線:4月24日消息,AMM協議Balancer今日在推特上稱,Balancer V2計劃在下周到來,現在BAL持有人將投票決定是否授予Balancer Labs緊急暫停權限;授予Gauntlet Network設置swap費用的權限。[2021/4/24 20:53:46]
在VmwareFusion中加載鏡像(import):
加載完成之后,使用默認用戶名密碼登陸系統:
用戶名:root
密碼:default
系統初始化之后,使用”ifconfig”命令查詢虛擬機IP地址。CertiK技術團隊的BIG-IPTMUI虛擬機IP地址為”172.16.4.137”。
在瀏覽器中訪問BIG-IPTMUI登陸界面:
https://172.16.4.137/tmui/login.jsp
復現任意文件讀取:
Larry Cermak:Paradigm的UNI投資市值或超30億美元:The Block 分析師 Larry Cermak 發推稱:Paradigm的UNI投資市值現在可能超過30億美元。此前他發推稱:如果UNI價格達到11美元,Paradigm不到500萬美元的投資就將價值10億美元。2019年4月Uniswap完成種子輪融資,Paradigm領投。[2021/3/23 19:09:36]
在瀏覽器中訪問以下地址可以讀取”/etc/passwd”文件內容:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
復現tmsh命令執行:
https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
區塊鏈安全公司CertiK正式開源CertiKChain:CertiK基金會宣布現已正式開源CertiKChain。目前已開放使用的產品包括CertiKChain、去中心化CertiK安全預言機、用于編寫安全智能合約的安全編程語言和編譯器工具鏈DeepSEA工具鏈。據此前報道,9月7日,CertiK發布基于CertiK鏈的去中心化安全預言機,旨在有效減少鏈上交易與實時安全檢測之間的距離,致力于運用去中心化的方法來解決安全難點。[2020/9/17]
漏洞分析
在進入漏洞分析前,先要明確一點:漏洞利用中的fileRead.jsp和tmshCmd.jsp文件在用戶登陸后本身是可以被訪問的。
下面的截圖顯示了登陸前和登陸后訪問以下URL的區別:
https://172.16.4.137/tmui/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
登陸前訪問:
被跳轉回登陸界面
大麻制造運輸商Ceres正在尋求SEC許可,以銷售5000萬美元代幣:總部位于芝加哥的公司Ceres希望利用美元支持的穩定幣在區塊鏈上為大麻建立一個從種子到銷售的交易網絡,前提是美國證券交易委員會(SEC)批準銷售。根據申請書,Ceres計劃銷售5000萬美元的代幣,其中有兩種代幣,一種等同公司股權的代幣(Token),另一種為Ceres幣(Ceres coin)。申請書中表示,出售股權價值3000萬美元,出售Ceres幣以籌集2000萬美元。Ceres首席運營官Charlie Uchill表示,Ceres尚未發放任何貸款,指望通過數字證券銷售來籌集資金。根據 Investopedia的一份報告,在等待SEC批準其申請的同時,Ceres繼續經營美國日益增長的合法大麻產業,據估計,2019年該產業的規模為136億美元。(Coindesk)[2020/7/9]
輸入賬號密碼登陸管理界面之后再訪問,可執行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/
:最近,有人問持幣者行情有望回到12000一線嗎?我對此是沒有回答的,不是達不到,也不是達的到.
1900/1/1 0:00:00BNB現價16.83美元,24h上漲2.92%,24h成交額9602.44萬美元;OKB現價4.98美元,24h下跌2.48%,24h成交額1.25億美元;HT現價4.11美元.
1900/1/1 0:00:008月4日,經過數天的初賽評審,2020線上智博會區塊鏈應用創新大賽50強項目揭曉。來自全球的50個參賽隊伍,從200余個區塊鏈應用解決方案中脫穎而出,正式進入復賽階段,角逐20強以及冠軍榮耀.
1900/1/1 0:00:00市場要聞 1、WeissRatings更新頂級代幣排名:以太坊評級為A,位居首位,其次為比特幣.
1900/1/1 0:00:00持幣者昨天凌晨到5點左右,幣價進行了小幅度的反彈,白天和夜間波動幅度并不大,在9100附近震蕩運行,基本橫盤。從晚間開始布林通道就開始收口,一直到現在幣價在窄幅震蕩.
1900/1/1 0:00:00市場要聞 1、比特幣與標普500指數的一年期關聯性創歷史新高。2、V神不認同Eth2第0階段將在2021年上線的說法。3、以太坊基金會社區經理:以太坊2.0將會在2020年推出.
1900/1/1 0:00:00