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

Posted v1vvwv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActiveMQ 任意文件写入漏洞(CVE-2016-3088)相关的知识,希望对你有一定的参考价值。

标题:ActiveMQ 任意文件写入漏洞(CVE-2016-3088)
日期:2018年08月11日
介绍:

使用 docker 复现该漏洞
/Users/v/Downloads/vulhub-master/activemq/CVE-2016-3088


0x01、 基本信息

使用 docker 搭建环境

vulhub/activemq at master · vulhub/vulhub · GitHub

环境会监听 61616 端口和 8161端口,8161端口是控制台。

搭建好以后,本机访问 http://192.168.0.106:8161 即可。

ActiveMQ 的控制台分为三个应用:

  1. admin
  2. api
  3. fileserver

其中1和2需要登录,3不需要登录,fileserver 是一个RESTful API的接口,可以使用 PUT、MOVE 等方法操作文件。

版本相关:

5.12.X —— 5.13.X 版本中,默认关闭了 fileserver
5.14.0 以后的版本,删除了 fileserver

0x02、漏洞相关

2.1 漏洞原因

漏洞成因是 fileserver ,可以使用 PUT、MOVE 等方法对文件进行操作,主要可以搞的方法有以下几点:

  1. 直接写 shell。
  2. 写 cron 定时任务拿 shell,或者写ssh key 文件
  3. 写 jar 或 jetty.xml 等库和配置文件
2.2 直接写 shell

写 shell 的话,需要写在 admin 或者 api 中,也就是需要登录,没有密码的话完成不了写 shell 操作。

该环境默认的口令为 admin/admin

访问 http://127.0.0.1:8161/admin/test/systemProperties.jsp

获得当前系统的路径
技术分享图片

上传 jsp 小马,返回204,但是在 fileserver 路径下不解析
技术分享图片

然后移动到 api 目录下,成功的话,返回 204 No Content
技术分享图片

成功执行 webshell
技术分享图片

2.3 利用 cron 定时任务写 shell

先上传到 fileserver,不需要登录即可。
技术分享图片

然后移动到 /etc/cron.d/root
技术分享图片

保证靶机的定时任务服务正在运行
/etc/init.d/cron status

本机监听 9999 端口,一会就反弹 shell 了。
技术分享图片










以上是关于ActiveMQ 任意文件写入漏洞(CVE-2016-3088)的主要内容,如果未能解决你的问题,请参考以下文章

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

漏洞复现 - ActiveMQ任意文件写入漏洞(CVE-2016-3088)

一次渗透测试实战

天啊,一男子竟然对ActiveMQ做这种事

1-漏洞分析——tomcat任意文件写入漏洞分析

1-漏洞分析——tomcat任意文件写入漏洞分析