我在AWS上发现数千个开放数据库的经历

概述

通过扫描云服务提供商发布的已知CIDR地址块(IP范围),很容易发现配置错误的资产。在短短一天内,我发现了数千个ElasticSearch数据库和Kibana仪表盘,这些数据库很可能由于错误配置而暴露了敏感信息。

发现的敏感信息包括:

  • 客户敏感信息:电子邮件、地址、当前职业、薪水、私人钱包地址、位置、银行账户等。
  • 生产日志:由Kubernetes集群写入的应用程序日志到内核和系统日志。从所有节点、Pod和运行在其上的应用程序收集的日志集中在一个地方,却对全世界开放。我只是第一个到达那里的人。
  • 一些数据库已经被勒索软件破坏。

一家我发现被入侵的公司正在为这些公司提供服务。图片取自他们的网站。

背景

肯定有大量资产在其范围之外监听,等待被发现。已发布的CIDR地址块使攻击者更容易找到这些资产,传播各种恶意软件,或获取真实公司的敏感数据。

DevOps、开发人员和IT从业者经常错误配置以下内容:

  • 将套接字绑定到错误的网络接口上。例如,监听来自0.0.0.0/*的连接——因此它对所有网络接口可见,而不仅仅是内部网络接口IP地址(172.x.x.x)。
  • 为集群配置错误的安全组(允许来自广泛CIDR地址块的所有TCP和所有UDP)。
  • 有时,安全组会被不了解后果的其他人更改。
  • 使用了默认网络或子网,子网设置被继承,并且静默分配了公共IPv4地址。

我的假设

我假设,如果我从云运营商内部(一个实例/VPS)扫描特定的CIDR地址块,我可以很容易地找到配置错误的资产,这主要是由于人为错误。

关键是要聪明地扫描,利用预先已知的网络基础设施(我们要扫描的软件的已知CIDR地址块)来找到我可以访问的在线服务器。

如果你搜索一下,你可以找到每个云提供商的相关CIDR地址块。假设我是一名IT技术人员或安全工程师,需要允许来自特定云服务(如AWS的弹性容器服务ECS)的传入连接。这可以通过将该服务的CIDR地址块添加到安全组规则中来实现,允许来自这些CIDR地址块的连接。

所有云提供商都会发布其服务列表以及每个服务的CIDR地址块(IP地址范围)。一些CIDR地址块只能从云提供商内部访问。你所需要做的就是在该云提供商内部启动一个具有互联网连接性的VPS/实例。

发现这些需要什么?

  • 对网络、IP栈和路由以及云基础设施的基本了解。
  • 用于端口扫描的轻量级工具(如MasScan或NMap)。
  • 要扫描的CIDR地址块列表(托管服务——如Kubernetes或ElasticSearch)以及这些IP范围内实例上最可能开放的端口。
  • 一个工具来可视化我们收集的所有数据(如ElasticSearch+Kibana)。

端口扫描——收集资产数据

我使用MasScan扫描了我选择的CIDR地址块上的开放端口。MasScan是一个TCP端口扫描器,它异步地发出SYN数据包。在适当的情况下,它可以在5分钟内扫描整个互联网。

输入是CIDR地址块(例如50.60.0.0/16118.23.1.0/24)以及我们想要扫描的端口(9200、5600、80、443等)。我在我的实例上使用Docker镜像启动了一个ELK栈。在同一台机器上启动了MasScan,它开始扫描CIDR地址块。它使用LogStash将MasScan的输出(响应日志)流式传输到ElasticSearch,并通过Kibana可视化所有内容。

在扫描过程中,TCP响应被记录并索引到ElasticSearch中。我让它运行了一段时间,很快我就掌握了超过337,000个IP和端口的组合扫描结果。其中许多是开放的。我的仪表盘看起来是这样的:
(描述:在几小时内,AWS ElasticSearch服务CIDR地址块(客户集群)中发现的337K个开放端口。)

分析和可视化数据

得益于我创建的管道——我有实时日志,我可以在它扫描更多内容时立即开始查看服务。

我使用Kibana的导出按钮将处于在线状态的资产从Kibana导出到CSV文件。然后使用pandas(python)加载它。对于每个IP,我发送了一个HTTP HEAD请求,并得到了一个带有资产指纹的HTTP响应。我剔除了需要身份验证的响应。然后我从HTTP响应中打印了它们网页的标题。我们可以对ElasticSearch端口或任何服务做同样的事情。这些IP已经被MasScan扫描过,所以我假设它们是在线的。

(描述:打印从找到的端点响应中获得的HTML文档标题。也可以使用nmap的HTTP脚本完成。)

(描述:获取我发现的相关服务器的标题)

所以,现在我有了所有资产的列表,以及它们的网页名称。我通过在浏览器导航栏中输入地址来探索这些地址。然后,我仔细地逐个探索这些资产。

我搜索了以下内容:
/_aliases/<index>/_search

这个ElasticSearch REST API非常方便。很容易获取字段元数据、文档数量以及你想知道的关于ES集群的一切。

(描述:通过/_aliases REST调用获取的ElasticSearch索引摘要)

我找到的数据示例

  • 整个生产集群的Kubernetes日志(通过日志收集器收集)。K8集群日志,通过fluentd流式传输,包含实时URL和内核日志。
  • 使用私钥成功进行SSH登录。SSH守护进程日志——集群的机器。实时日志。
  • 完整的云可见性——实例类型、AMI、账户ID,对世界可见,这要归功于配置错误的K8和ElasticSearch集群。
  • 私人仪表盘。一些公司已将Jira任务流转并发布到他们的ElasticSearch仪表盘中——包括客户数据、代码示例、账户名称等。这个Kibana仪表盘包含了该公司研发部门的一切信息。该公司当时正处于(或处于高峰)尽职调查过程中,报告显示在我报告此事件几周后他们筹集了相当多的资金。如果被其他人发现,这对他们来说可能是致命的。我向他们的研发副总裁报告了情况,他们在同一天内解决了问题。
  • 医院/医疗用品——个人的疫苗接种信息。接种日期和电子邮件地址。
  • 加密货币交易平台。加密货币代币互换。
  • 银行业。银行转账以及全名和银行账户详细信息。
  • 实时车队指标(关于每辆车):
    • IMEI(唯一蜂窝标识符)
    • 位置(坐标)
    • gsm信号强度
    • 燃油状态
    • 错误代码
    • 电池状态

这是真的吗?

有时我难以理解数据库是真实的还是蜜罐。所以,我在谷歌上搜索了我在数据库中找到的任何内容。通常,我找到了真实的网站,并以此知道该向谁报告。

(描述:ElasticSearch中的文档。)
(描述:生产网站上的在线文档。)

已被勒索软件攻击的服务器

如果你的集群对全世界开放,就不需要0-day漏洞来运行勒索软件。如果你在上面没有身份验证,任何人都可以访问一切。如你所见,我发现的一些资产已经被“黑客攻击”(更准确地说,是被勒索软件破坏)。可以使用像elasticsearch-dump这样的工具来备份(和恢复)数据库。备份后,他们删除了集群中的所有内容,留下这条信息:“您的所有数据都已备份。您必须支付0.16比特币到...”。

安全和隐私政策

正如你所想象的,我发现的许多组织都符合GDPR。这意味着他们对数据泄露很敏感,他们有一名数据保护官(DPO)积极搜索和处理此类事件。

(描述:我阅读的一个隐私政策示例(为了找到DPO))“如果您想知道您的数据是如何存储的,请联系我们。”

一些DPO没有回复,一些DPO的邮箱因权限错误而拒绝了我的电子邮件(他们不允许接收来自组织外部的电子邮件)。对于一些公司,DMARC和SPF记录不允许从公司外部接收电子邮件到他们的邮件服务器。真是一团糟,他们根本无法通过电子邮件联系到。

我还向姊妹公司和其他子公司发送了电子邮件。我尝试通过他们网站的联系表格联系他们。没有任何回应。我不得不通过CEO、CTO和副总裁开始对话。

至于那些无视的公司——他们的资产和数据至今仍然暴露,而且他们不在乎。

结论

在涉及端口扫描时,按服务发布CIDR地址块是一个逻辑问题。我们出于许多原因需要它——但同时它对云提供商构成了如此巨大的风险,使他们的客户可以轻松地被扫描。

错误配置一直发生,并且将继续存在,在不知情的情况下导致公司安全出现许多漏洞。我们常常犯错,在配置实例时使用默认的VPC子网。因此,许多实例被自动分配了公共IP地址。

问题始于缺乏可见性。据我所知,目前AWS内部没有人主动搜索配置错误的数据库或托管服务。这超出了他们的范围。

我已经向我发现的那些公司报告了情况,直到某个限度(数量太多了),我无法独自联系到所有人。在与AWS的电子邮件对话中,他们声称配置和保护其资产是公司的责任,他们并没有主动搜索这种错误配置。这有道理,但我发现这出奇地容易,而且他们可以毫不费力地解决这个问题。我独自一人,在我的业余时间做得相当不错。

(此处可学习更多关于AWS责任共担模型的信息。)

目前我们能做的就是假设错误配置总是可能的,无论公司规模大小——并且总是有人从网络上看你。如果你向世界开放服务,至少使用像样的授权和身份验证。

顺便说一下,我是在业余时间做这件事的。我也非常喜欢咖啡!
dO/QkgpS9EmME4KitFT0i0CmFS5WGwvTz0VJWRhpCfElfiWqM1MMvqkVK+gpxoA4x2zlAWa7ykc/vC0LHaJrTjDY5r+qBKhd/TXQzzgo9MPpxML71NqNffOTCl1o/Y1O1Ms2/EU/LBo2XF3obxD0yEc2dgMTWYIgAcQlJLXlAF4=
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2026-01-10 06:02  qife  阅读(5)  评论(0)    收藏  举报