ElasticSearch未授权访问漏洞复现

漏洞复现 专栏收录该内容
41 篇文章 1 订阅

漏洞介绍

  • Elasticsearch是一个基于Lucene的搜索服务器。
  • 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
  • Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,
  • 是一种流行的企业级搜索引擎。
  • Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

漏洞原理

  • Elasticsearch会默认会在9200端口对外开放,用于提供远程管理数据的功能。
  • 任何连接到服务器端口上的人,都可以调用相关API对服务器上的数据进行任意的增删改查。

影响版本

  • fofa搜索开放了9200端口的IP
    在这里插入图片描述

环境搭建

第一步 下载文件,保证环境中有jdk1.7+

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip

在这里插入图片描述

第二步 解压elasticsearch安装包

在这里插入图片描述

第三步 更改内存大小,否则无法启动

-Xms256m
-Xmx256m

在这里插入图片描述

第四步 进入bin 目录,双击执行 elasticsearch.bat

在这里插入图片描述

第五步 访问http://localhost:9200/,出现以下页面,说明安装成功。

在这里插入图片描述

漏洞复现

第一步 查看安装river

http://localhost:9200/_cat/indices里面的indices包含了_river一般就是安装了river

第二步 查看数据库敏感信息

http://localhost:9200/_river/_search 查看数据库敏感信息

在这里插入图片描述

第三步 查看节点数据

http://localhost:9200/_nodes 查看节点数据

在这里插入图片描述

第四步 查看安装head插件

http://localhost:9200/_plugin/head/   web管理界面

在这里插入图片描述

python未授权访问脚本

#! /usr/bin/env python
# _*_  coding:utf-8 _*_
 
import requests
def Elasticsearch_check(ip, port=9200, timeout=5):
    try:
      url = "http://"+ip+":"+str(port)+"/_cat"
      response = requests.get(url) 
    except:
      pass
    if "/_cat/master" in response.content:
      print '[+] Elasticsearch Unauthorized: ' +ip+':'+str(port)
 
if __name__ == '__main__':
    Elasticsearch_check("127.0.0.1")

修复建议

  • 9200端口不要对外开放,如需开放,建议在安全组限制只允许指定IP才能访问9200端口;

  • 限制IP访问,绑定固定IP

  • 在config/elasticsearch.yml中为9200端口设置认证,相关配置参数可参考:

http.basic.enabled true #启动认证,开启会接管全部HTTP连接
http.basic.user "admin" #配置认证账号
http.basic.password "admin_pw" #配置认证密码
http.basic.ipwhitelist ["localhost", "127.0.0.1"]
  • 使用Nginx搭建反向代理,通过配置Nginx实现对Elasticsearch的认证;

在这里插入图片描述

  • linux下修复建议,参考

  • https://www.yuque.com/youfyu/mgusem/htuom3

    学习笔记下载

    在这里插入图片描述

点击 下载–>

下载

  • 0
    点赞
  • 6
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值