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端点这样重要的网站上,适当的云安全卫生也至关重要。
今天就到这里,牛仔们!