vulhub系列ActiveMQ任意文件写入漏洞
Posted 就是三七
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vulhub系列ActiveMQ任意文件写入漏洞相关的知识,希望对你有一定的参考价值。
0x00 漏洞详解
此漏洞出现在Fileserver应用程序中,该漏洞的原理实际上非常简单,即文件服务器支持写入文件(但不解析JSP),同时支持移动文件(MOVE请求)。因此,我们只需要编写一个文件,然后使用移动请求将其移动到任何位置,就会导致任意文件写入漏洞。
写入文件,例如cron或ssh key
1. 编写Webshell
2. 写入文件,例如cron或ssh key
3. 编写库和配置文件,例如jar或jetty.xml
编写webshell的优点是方便,但是文件服务器不需要解析jsp,admin和api都需要登录才能访问,因此有点徒劳。编写cron或ssh键的优点是直接反转Shell,这也很方便,缺点是您需要root特权;写jar,有点麻烦(需要jar后门),写xml配置文件,这种方法比较可靠,但是有一个徒劳的观点:我们需要知道ActiveMQ的绝对路径。
0x01 实验步骤
开启靶场
点击Manage ActiveMQ broker”,登录,账号密码都是admin
2. 编写Webshell
Webshell需要使用Admin或Api应用程序编写,并且两个应用程序都必须登录才能访问。
首先,我们查看ActiveMQ的绝对路径:
http://your-ip:8161/admin/test/systemProperties.jsp
也可以进入fileserver文件夹
3. 上传webshell
Bp抓包,send to repeater,修改为Put方法,然后把shell写上去
若返回的响应包中状态码为204,说明上传成功:
此时,我们可以进入相应的目录查看写入的shell文件,但是我们知道txt文件不会执行,前面有讲过文件服务器支持移动文件(MOV请求)使用移动请求将其移动到任何位置,就会导致任意文件写入漏洞。
继续抓包,改包方法为MOVE 路径为
Destination:file:///opt/activemq/webapps/api/ali.jsp
响应包:
访问webshell
4. 执行ls和whoami
0x02 总结
写入webshell门槛低且方便,但是fileserver这个目录是没有jsp的执行权限的,想要执行jsp的webshell需要将jsp文件放入admin或者api目录中,这两个目录是具有jsp解析执行权限的,但是这两个目录又需要登录才能进入。所以当收到响应是4XX时,需要登录。
流程:写入文件(put方法)——>移动文件(move方法)——>执行文件
另外
1写入文件,例如cron或ssh key
2编写库和配置文件,例如jar或jetty.xml
这两种方法目前还未测试,未完待续………
请遵循网络安全法,本篇文章只提供学习研究之用
文章部分内容来源:
vulhub官方文档
csdn博客
另外:vulhub靶机漏洞复现会出一个系列
以上是关于vulhub系列ActiveMQ任意文件写入漏洞的主要内容,如果未能解决你的问题,请参考以下文章
ActiveMQ 任意文件写入漏洞(CVE-2016-3088)
漏洞复现 - ActiveMQ任意文件写入漏洞(CVE-2016-3088)
Grafana任意文件读取漏洞(CVE-2021-43798)
Vulhub漏洞系列:Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)