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

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

时间:2018-08-12 18:56:51      阅读:1370      评论:0      收藏:0      [点我收藏+]

标签:prope   root   监听   webshell   width   删除   active   运行   user   

标题: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)

标签:prope   root   监听   webshell   width   删除   active   运行   user   

原文地址:https://www.cnblogs.com/v1vvwv/p/CVE-2016-3088.html

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