LeakLooker:两秒内找到公网上的暴露数据库

iso60001  2174天前

22.png

大家好!在这篇文章我将介绍一款用于在公网寻找未授权访问数据库的软件,LeakLooker。只要通过简单的命令,这款软件就可以帮你在公网找到对任何人都开放的MongoDB、CouchDB和ElasticSearch数据库,这其中也包括Kibana。LeakLooker主要是解析来自shodan的搜索结果,再排除掉空数据库以及有问题的数据库。并且该软件最后得出的所有数据都可以通过点击的方式进行排序和显示。

你可以根据这个链接找到这个软件

https://github.com/woj-ciech/LeakLooker

介绍

我们已经看到过五花八门的信息泄露事件——Amazon Buckets、Fireba se、Gitlab、rsync协议等等。而这类信息泄漏事件中,最主要的原因就是相关人员缺乏基本的安全知识,或者是在处理某些特殊情况一时懒惰。而且这类错误往往会使整个公司都会受到极大的影响,特别是考虑到最近才发布的GDPR数据保护法规,国家可能会给予犯错误的公司毁灭性的惩罚。

而我们在Shodan中手动搜索暴露在公网中的有价值的数据库是很繁琐的,因为我们经常会碰到空的或已经被黑客攻击了的数据库。而LeakLooker只会选取数据量大于217MBs的数据库实例,以加快搜索进度。

但在某些情况下,还是很难排除已被黑客攻击的数据库,因为当黑客勒索过后,数据库中的数据有可能仍然存在,特别是ElasticSearch和MongoDB。

在我使用这个软件所发现的泄露信息中,有大量的个人身份信息(PII)、医疗数据、赌场交易数据、信用卡所有者数据、GPS跟踪数据、社交媒体中特定群体账户的存档数据、API令牌、敏感日志和文档等。为了使它更精确,你还可以指定显示的数据种类,这样就可以更容易地找到还未被他人发现的数据。此外,这个软件还显示了数据来源的国家和使用的数据库(MongoDB、CouchDB)或索引(ElasticSearch)的名称。

33.jpg

CouchDB

CouchDB是面向文档的NoSQL数据库,使用JSON和ja vasc ript作为查询语言。老实说,和其他数据库相比,CouchDB的数据泄露事件不太多,但是其数据泄露的危害程度和其他数据库一样。CouchDB通常使用5984端口。此外,您可以通过名为Fauxton的管理界面查看CouchDB中的数据。

本软件也包含了导向Fauxton的“_utils”路径。有时这是受密码保护的,但仍然可以通过_all_dbs_all_docs之类的命令直接访问数据库的数据。接下来,你就可以检索文档,并且下载。最后,在大多数情况下,它还允许您写入和删除整个数据库。

44.png

常用命令:

/_all_dbs
<db>/_all_docs?include_docs=true&limit=50
/<db>/doc?rev=<nr>
<db>/doc 
<db>/doc/<name> 
/<db>/<docid>
/<db>/<id>/<attachment_id>

shodan查询语法:

product: CouchDB

MongoDB

MongoDB是另一个使用JSON结构的云端NoSQL数据库。关于MongoDB的数据泄漏事件可以说有很多,我最近也在公网发现了很多存在数据泄露情况的MongoDB。一般来说,Mongodb数据库中除了用户数据,还有很多调试信息。其Web管理界面的监听端口为28017,比标准的MongoDB开放端口的27017高出1000。你可以直接通过命令mongo-host-port 27017连接到数据库,然后输入命令'show databa ses'显示所有数据库。

55.png

常用命令:

show databa ses
use ‘db’
show collections
db.’collection’.stats()
db.’collection’.findOne()
db.’collection’.find().prettyPrint()
db.’collection’.find()

shodan查询语句:

product: MongoDB

Kibana

Kibana可将ElasticSearch里的数据可视化,在正常数情况下,它用于监控网络设备并将其数据展示为图形或图表。然而,Kibana也因泄露数据而臭名昭著,其中案例之一就是间谍软件公司。因为无法直接确定Kibana实例是否对公网开放,所以我必须使用特殊查询手段来找到那些存在未授权漏洞的Kibana。

我发现,需要授权和不需要授权的网络响应存在差异。准确地说,当kibana返回一个登录页面时,页面内容大小大约为68407bytes,而当它直接返回管理页面时,则大约为217bytes。

根据以上这些知识,我们可以在shodan使用这种样式的查询语句:kibana content-length: 217,目前该软件还没有HTTP响应长度的过滤。查询结果每页显示100个,而且它是可以点击的,链接将直接跳转到管理面板,您可以在该页面中查看各类敏感数据。

66.png

shodan查询语句:

kibana content-length: 217

Elasticsearch

另一个因数据泄露而闻名的云端数据库是ElasticSearch。事实上,根据维基百科的说法,这是一个搜索引擎,可以部署在云中,并在端口9200提供Web界面。有趣的是,ElasticSearch根本没有身份验证机制,其所有者应该时刻注意是否在没有身份验证的情况下就在公网上开放了ElasticSearch。这也是为什么它经常发生数据泄露事件的原因。每个ElasticSearch集群都有一个或多个索引,类似于MySQL中的数据库。

官方文件解释如下:

MySQL => 数据库 => 表 => 行/列

Elasticsearch => 索引 => 类型 => 属性文档

脚本含有链接_cat/indices?v,用来显示数据库中的所有索引,包括它们的大小。此外,你可以使用命令<indice>/_search?size=50来访问每个大小等于50的索引。

77.png

常用命令: _cat/nodes?v _cat/count?v /_search?size=50

shodan查询语句: product:elastic port:9200

结论

该软件已广泛传播,以共享各个公司和机构检视自己的数据。我相信中国、美国或俄罗斯的黑客有更复杂的东西来扫描互联网,寻找泄露数据。如果你用这个软件找到了泄露数据,记住,要负责任,及时报告给所属团体。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://hackernoon.com/leaklooker-find-open-databa ses-in-a-second-9da4249c8472

最新评论

昵称
邮箱
提交评论