NASA端点敏感数据泄露分析:S3存储桶、API密钥与配置信息暴露

本文详细披露了NASA协作平台端点存在的敏感数据泄露漏洞,包括公开可访问的S3存储桶、JavaScript代码中硬编码的API密钥以及内部配置信息。文章完整记录了从网络侦察到漏洞验证的全过程,并强调了云安全配置的重要性。

NASA端点敏感数据泄露分析:S3存储桶、API密钥与配置信息暴露

引言

各位数字牛仔们好!作为NASA漏洞披露计划(VDP)持续研究的一部分,我对NASA协作公民科学平台[redacted.com]进行了安全评估。以下是重要发现:

在评估过程中,我发现了暴露的开发人员配置,其中包含:

  • 公开可访问且无访问限制的S3存储桶
  • JavaScript代码中的硬编码API密钥
  • 应用程序配置详情和内部端点

虽然Bugcrowd最终将其归类为信息类漏洞,但这一发现凸显了2024年 Proper 密钥管理和访问控制仍然至关重要。

发现过程

第一步:侦察与网络分析

我从探索面向开发者的子域dataentrydev开始。打开Chrome开发者工具后,我监控到某个端点在不需认证的情况下获取资源。

访问直接链接[redacted].gov/mobile/observer/dev/ec.json后,发现了服务器URL引用、开发人员用户名(个人Gmail地址)和配置数据。

第二步:S3存储桶枚举

在JSON响应中,我发现了S3存储桶的引用: https://s3.amazonaws.com/[redacted]_observer_mobile

访问该URL确认目录列表功能已启用,且无需身份验证或签名URL。

第三步:应用代码下载与分析

在存储桶中发现名为app.zip的文件。下载解压后,发现包含多个应用JavaScript文件的js/文件夹。

在eclipse2017DataEntryService.js文件中,发现了硬编码的开发人员API密钥(80p66m74eeq*********************),该密钥用于设置HTTP请求头。

影响范围

此问题代表多重风险组合:

  • 源代码公开:任何人都可列表并下载S3存储桶中的文件,包括包含源代码的app.zip
  • API密钥泄露:硬编码密钥可能允许攻击者进行未授权API调用
  • 配置信息泄露:暴露内部端点和逻辑,可能帮助攻击者制作针对性攻击

即使未直接利用,纵深防御原则建议应对这些资产进行适当保护。

负责任披露

我于2024年11月5日通过Bugcrowd向NASA负责任地报告了此发现。该问题被归类为信息类,意味着风险已获认可但未被视为直接影响。

NASA方面确认这些数据本意是公开可用的。然而,这仍是小疏忽(公开S3存储桶+硬编码密钥)可能造成不必要攻击面的典型案例。

总结思考

虽然此问题被标记为信息类,但它展示了安全研究如何发现可能导致实际利用的弱点。我建议所有组织:

  • 持续审计存储权限
  • 轮换和监控API密钥
  • 当开发/测试环境暴露在互联网时,将其视为生产级环境

这是一个有趣且具有教育意义的发现,提醒我们即使是在NASA端点这样重要的网站上,适当的云安全卫生也至关重要。

今天就到这里,牛仔们!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计