标题: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 的控制台分为三个应用:
- admin
- api
- 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
等方法对文件进行操作,主要可以搞的方法有以下几点:
- 直接写 shell。
- 写 cron 定时任务拿 shell,或者写ssh key 文件
- 写 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 了。
原文地址:https://www.cnblogs.com/v1vvwv/p/CVE-2016-3088.html