文章来源|MS08067 公众号读者投稿
本文作者:VastSky(Ms08067实验室读者)
通过此文章,我将提供有关ELK攻击利用与安全防护的知识。关于利用ELK 的信息在网上非常罕见。因此,这篇文章只是本人在日常工作和学习中的个人笔记,虽不完善,但可作为学习参考。通过这篇文章希望能为你提供一些在渗透测试期间可能有用的方法。
背景
ELK描述了一个包含三个开源项目的集合:Elasticsearch,Logstash和Kibana。Elasticsearch存储数据并提供快速搜索引擎。Kibana是一个图形界面,允许对Elasticsearch中存储的数据进行分析和可视化。Logstash用于收集从不同来源的数据并将其保存到Elasticsearch中。
重要配置文件
Elasticsearch配置:/etc/elasticsearch/elasticsearch.yml
Logstash配置:
/etc/logstash/logstash.yml
/etc/logstash/pipelines.yml
/etc/logstash/conf.d/*
Filebeat配置:/etc/filebeat/filebeat.yml
Kibana配置:/etc/kibana/kibana.yml
在渗透测试中配置文件中总是有可能包含用户凭证,所以总是值得一看的。
Elasticsearch未授权访问的检测与利用
ElasticSearch 是一款Java编写的企业级搜索服务,启动此服务默认会开放9200端口,可被非法操作数据。
检测是否存在未授权访问
默认情况下,并不总是启用身份验证。可以访问所有存储的数据
HTTP协议访问默认端口端口 9200
返回内容中包含”You Know, for Search”存在未授权访问。如果9200无法访问,说明开发者已经将默认端口更改
通过访问我们得到数据库版本:
curl -X GET"localhost:9200/"
{
"name" : "userver",
"cluster_name" :"elasticsearch",
"cluster_uuid" : "lZNH15okQPWfNHp-Aks0OQ",
"version" : {
"number" : "7.9.3",
"build_flavor" :"default",
"build_type" : "deb",
"build_hash" :"c4138e51121ef06a6404866cddc601906fe5c868",
"build_date" : "2021-03-26T10:36:16.141335Z",
"build_snapshot" : false,