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:
wget
https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/download/1.4/elasticHD_linux_amd64.zip
2, 解压
unzip elasticHD_linux_amd64.zip
3,给权限
chmod 777ElasticHD
exec ./ElasticHD -p 127.0.0.1:9800
5,在浏览器中访问127.0.0.1:9800,看到泄漏了21条消息,点击Query还可以查看详细消息。
Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。当ElasticSearch的节点启动后,它会利用多播(multicast)(或者单播,如果用户更改了配置)寻找集群中的其它节点,并与之建立连接。这个过程
第一步 下载文件,保证环境中有jdk1.7+
https://artifacts.elastic.co/downloads/
elasticsearch
/
elasticsearch
-5.5.0.zip
第二步 解压
elasticsearch
安装包
今天真的是焦头烂额,新出来的这个log4j2零日
漏洞
看起来杀伤力极大,影响了Apache Struts2, Apache Solr, Apache Druid, Apache Flink等重量级的开源项目。当然也包括我们的
Elasticsearch
。在官方正式的通告、解决方案,补丁出来之前,我这里先简答说一下我个人的测试结果(注意,不代表官方!)
我个人的测试结果是:只有
ES
5+JDK8能复现。
ES
5+JDK12,
ES
6+JDK8,
ES
7+JDK8均无法进行远程代码执行
测试方案:
最近在拿自己学校练手,发现了一个
Elasticsearch
未
授权
访问
漏洞
,然后就边学习边去尝试利用这个
漏洞
。
Elasticsearch
服务普遍存在一个
未
授权
访问
的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。
要利用这个
漏洞
,最重要的就是查看数据,下面是
elasticsearch
基本的查询方法
2.1 查询所有的 index, type:
$ curl localhost:9200/_search?pretty=true
2.2 查询某个index下所有的type
1.限制IP
访问
,禁止
未
授权
IP
访问
ElasticSearch
端口(默认9200)。
2.通过
ES
插件形式来增加
访问
验证,需要注意增加验证后切勿使用弱口令:
①shield插件,收费,暂不考虑。
②针对1.7.0版本之前的
ElasticSearch
,可采用
elasticsearch
-http-basic插件。
下载地址:Releas
es
· Asquera/
elasticsearch
-http-basic · GitHub
elasticsearch
-http-basic和其他
ES
插
一、
elasticsearch
介绍
Elasticsearch
是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。默认端口为9200。
二、
elasticsearch
未
授权
漏洞
判断
1.存在
未
授权
漏洞
样式:
访问
http://ip/9200;返回字段中有“you know,for search”则代表有
未
授权
漏洞
。
2.不存在
未
授权
样式:有登录点
三、
elasticsearch
未
授权
漏洞
利用
1.利用工具:
ElasticSearch
Head
2.工具链
ElasticSearch
是一款
Java
编写的企业级搜索服务,
未
加固情况下启动服务存在
未
授权
访问
风险,可被非法查询或操作数据,需立即修复加固。
主目录:/usr/share/
elasticsearch
限制http端口的IP
访问
,不对公网开放
修改主目录下 config/
elasticsearch
.yml 配置文件,将network.host配置为内网地址或者127.0.0.1
network.host: 127.0.0.1
使用x-pack插件为
Elasticsearch
访问
增加
漏洞
描述
在受害者
ES
文件管理器启动一次后,会开放TCP端口59777作为HTTP服务器。攻击者可在没有
访问
控制的wifi环境下通过构造json请求,读取受害者的文件,启动受害者任意app。受害者手机无需root,攻击者也无需
授权
凭据。
影响范围:
ES
文件管理器 4.1.9.7.4 and below
经测试在root和非root手机上4.1.9.4版本
ES
文件管理器(http://shouji...
org.springframework.context.ApplicationContextException Unable to start web server报错(已解决)
17652