from:http://zone.wooyun.org/content/26827
http://zone.wooyun.org/content/27737
http://zone.wooyun.org/content/28266
Apache ActiveMQ for Windows 5.11.2之前版本,fileserver中用于blob消息的upload/download功能存在目录遍历漏洞,可使攻击者利用此漏洞在任意目录 中创建JSP文件,执行shell命令。此漏洞仅影响Windows OS系统。
对ActiveMQ没有一点认识,本地搞一个环境看看。
通过检索发现
ActiveMQ自带了fileserver(jetty),支持PUT/GET/DELETE方法。
访问fileserver
那就put一下试试:
文件put成功
虽然put一个jsp webshell文件是没有问题的,但是fileserver并不支持jsp文件的解析;
参 考CVE-2015-1830 的 此漏洞仅影响Windows OS系统。
于是尝试目录穿越,且是要一个不存在的目录;
比如
这样的格式linux环境是不行的;
构造如下格式
http://localhost:8161/fileserver/sex../....admin/test.jsp
访问
看着和截图很相似吧。
其他
附注:
linux环境也是可以put文件的,但是不能getshell,delete可没有尝试;
比如本地直接delete
====================================================
windows环境activemq 5.8
和之前一样的put
没有问题,文件成功上传;
尝试MOVE
居然是500
HTTP/1.1 500 Server Error
通过尝试发现,MOVE是这样的
如果:
Destination: http://localhost:8161/
文件成功MOVE了,不过move到了activemq的安装的根路径
继续尝试MOVE
Destination: http://localhost:8161/apache-activemq-5.8.0-bin/apache-activemq-5.8.0/webapps/admin/test/sex.jsp
配置成activemq的安装路径
MOVE成功
那么问题来了,activeMQ的安装路径如何知道?
访问:http://localhost:8161/admin/test/systemProperties.jsp
那么如何访问admin/test的文件呢,那就需要弱口令或者你知道admin的密码了。
MOVE方法和之前目录穿越不同,没有..//之类的路径,因此可以考虑在linux环境的适用性
2. Linux环境activeMQ 5.13.0
CVE-2016-3088-announcement.txt中说明了在5.12.0的版本在jetty.xml里面已经注释掉了 fileserver(it has been disabled by default since 5.12.0)在5.14.0完全去掉了这个fileserver
Fileserver feature will be completely removed starting with 5.14.0 release。
所以演示的5.13是手工开启的。(我计划下载了全部的windows和linux环境的aq程序,没有下载到5.8的就结果被封禁了)
PUT文件
因为以后需要登录admin,Authorization:部分就带上吧,不然会401 ,文件已上
下一步看路径
配置MOVE路径
查看效果
总结:
1. MOVE的方法比直接put的适用范围大一些;
2. 需要2个前提:fileserver配置有效,且可以PUT文件;另一个是知道ActiveMQ的安装路径;
3. 官方目前新下载的多数版本都去掉了fileserver的配置,需要手工开启。比如:5.11.4的版本也去掉了fileserver的配置;
4.既然可以MOVE文件,不知道是否可以像redis远程命令执行那样,将反弹命令写到/var/spool/cron/中
===========================================================
ActiveMQ 后台拿shell
先爆路径
然后put文件
move 文件,这里不是标准的move协议,用file伪协议
最后getshell
本文始发于微信公众号(关注安全技术):ActiveMQ的漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论