本文为翻译文章,原文链接:https://trufflesecurity.com/blog/an-api-worm-in-the-making-thousands-of-secrets-found-in-open-s3-buckets/
背景
S3存储桶是将文件存储在AWS中的常见场所。这些存储桶具有一项功能,允许您在未经身份验证的情况下使互联网上的任何人可以读取您的文件。如果内容是供公众消费的,例如为网站存储HTML、CSS和JS资产,那么此功能可能非常有用,但它是一把双刃剑。这些文件通常包含敏感信息,这导致了几次备受瞩目的安全事件,包括:
-
最近与Twilio发生的一起事件
-
道琼斯数据泄露
-
Verizon Wireless数据泄露
通常,暴露的数据是所报告故事的结尾,但我们发现它通常不是安全故事的结尾。由于我们最近向TruffleHog添加了S3支持,我们认为扫描一组公开暴露的存储桶以获取凭据将是领先于潜在安全事件的好方法,我们最终发现了跨越数百名客户的数千个不同密钥。
方法
我们需要做的第一件事就是汇编一个打开的S3桶列表。幸运的是,存储桶名称是全局唯一的,可以通过子域指定。例如,如果一个桶被命名为“trufflehogbucket”,则可以通过以下网址访问文件:https://trufflehogbucket.s3.amazonaws.com/filename。由于DNS流量通常是未加密的,许多存储桶名称是通过DNS水龙头收集的。一些供应商,如RiskIQ,通过他们的PassiveTotal API公开这些数据。
grayhatwarfare等其他工具采取了不同的方法,生成大量可能的存储桶名称列表,并向S3 API发出请求,以确定存储桶是否存在并包含公开暴露的文件。使用这些和其他技术,我们建立了最初的桶列表。扫描所有暴露的数据很快就变得不切实际,因此我们需要一种方法将列表缩小到可能包含密钥的桶和文件。幸运的是,greyhatwarfare的API还允许您搜索文件的名称,因此我们搜索了“.credentials”、“.env”等常见名称,并且只搜索了包含匹配文件的扫描桶。
结果
在扫描了大约4000个包含.env文件和.credentials文件的桶后,我们发现一个包含密钥的文件平均有2.5个密钥,其中一些在文件中有高达10多个密钥。
我们还发现了各种各样的凭证类型,包括:
AWS密钥
GCP服务帐户
Azure Blob存储连接字符串
Coinbase API密钥
Twilio API密钥
Mailgun API密钥
RDS密码
Sendgrid凭据
Pusher凭据
MSSQL密码
Mailtrap凭据
Google OAuth凭据
Twitter OAuth凭证
在OAuth凭据中链接
谷歌地图API密钥
Segment API密钥
Sauce API密钥
托管MongoDB凭据
Firebase凭据
Stripe凭据
Rollbar凭据
Twilio证书
Amplitude凭据
Mailjet凭据
SMS伙伴凭证
Dropbox凭据
Yousign凭据
PayPal凭证
Mandrill证书
Zendesk凭证
托管消息队列连接字符串
Razor pay凭证
文本本地凭据
应用程序签名密钥
JWT签署密钥
冲击放大镜:可蠕动性
从周围的上下文中可以清楚地看出,其中许多凭据可以解锁更多以其他方式经过身份验证的存储桶。这里有两个例子
泄露的凭据导致更多的存储桶
由于隐含的更高安全栏身份验证提供了隐含的安全性,假设经过身份验证的存储桶比未经身份验证的存储桶包含更多的密钥可能是公平的。这意味着攻击者可能会使用第一轮桶来找到解锁额外一轮桶并暴露更多密钥的钥匙,这可能会暴露更多的桶等。出于明显的原因,我们没有使用任何这些密钥或探索这种可能性,但这使这种类型的攻击“蠕虫”,即一个桶可以导致另一个桶,等等,放大了泄漏的影响。
穿过S3桶
更糟糕的是,其中一些密钥导致了其他可能可以访问密钥的大型数据存储,例如Github API密钥和GCP存储API密钥。
通过多个提供商进行 Worming
下一步
当然,在这一点上,我们需要向受影响的公司披露我们的发现。这有时证明具有挑战性,因为桶通常没有很多信息将它们与桶创建者联系起来。我们进行了数百次披露,并在某些情况下与提供商合作,为无法识别所有者的桶撤销密钥。披露范围从数十家财富500强公司到非政府组织和小型初创公司。
【火线Zone云安全社区群】
进群可以与技术大佬互相交流
进群有机会免费领取节假日礼品
进群可以免费观看技术分享直播
识别二维码回复【社区群】进群
火线Zone是[火线安全平台]运营的云安全社区,内容涵盖云计算、云安全、漏洞分析、攻防等热门主题,研究讨论云安全相关技术,助力所有云上用户实现全面的安全防护。欢迎具备分享和探索精神的云上用户加入火线Zone社区,共建一个云安全优质社区!
如需转载火线Zone公众号内的文章请联系火线小助手:hxanquan(微信)
// 火线Zone //
微信号 : huoxian_zone
点击阅读原文,加入社区,共建一个有技术氛围的优质社区!
原文始发于微信公众号(火线Zone):在公开的 S3 存储桶中发现了数千个密钥
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论