Elasticsearch未授权访问漏洞(Es未授权访问)

     Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

    当ElasticSearch的节点启动后,它会利用多播(multicast)(或者单播,如果用户更改了配置)寻找集群中的其它节点,并与之建立连接。这个过程如下图所示: 

这里写图片描述

近来, 有一名黑客渗透进了大量暴露在互联网中并且没有任何密码保护的Elasticsearch服务器,并尝试删除其中存储的数据。在这名网络犯罪分子实施攻击的过程中,同时还留下了一家美国网络安全公司--夜狮安全nightlionsecurity.com的网址,试图嫁祸于夜狮安全公司。

在此次攻击活动中,攻击者很可能是在一系列自动化脚本的帮助下完成的攻击,这些脚本能够扫描互联网中暴露在外网且未受任何密码保护的ElasticSearch系统。自动化脚本扫描到这些未受保护的系统之后,便会尝试连接至其后端数据库,并尝试删除其中存储的数据,最后创建一个名为网址“nightlionsecurity.com”的新的空白索引。

ElasticSearch 是一款Java编写的企业级搜索服务,启动此服务默认会开放HTTP-9200端口,可被非法操作数据。

使用fofa搜索开放了9200端口的IP,获得1579023条数据。

任意访问一个IP,发现存在Elasticsearch未授权访问漏洞:

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 查看节点数据

还可以搭建ElasticHD,,在浏览器中远程连接就可以看到ES节点服务器可视化数据的全貌了

Linux搭建ElasticHD:

1,下载

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,执行

exec ./ElasticHD -p 127.0.0.1:9800

5,在浏览器中访问127.0.0.1:9800,看到泄漏了21条消息,点击Query还可以查看详细消息。

 

 

 

 

你可能感兴趣的:(漏洞)