SuperAPI AI 工具集

hunt-firebase

安全与审计

查看项目

更新于 10-16 03:19

技能介绍

用途

hunt-firebase 是一个针对 Firebase / Firestore / GCP 的安全侦察与利用技能,用于在授权测试中检查目标是否因 Firebase 配置不当而暴露数据或权限。Firebase 是 Google 的移动/Web 平台,其 SDK 要求将 API 密钥嵌入客户端,开发者常因此忘记配置 Firestore 安全规则或 Realtime Database 规则,导致数据可被公开读写。

主要能力

技能按阶段组织,覆盖以下能力:

  • 发现 Firebase 项目:在 JS bundle、source map、.env 与配置文件中搜索 Firebase API 密钥(格式 AIzaSy[0-9A-Za-z_-]{35})、firebaseConfig、firebaseio、firestore、firebasestorage、firebaseapp 等特征。
  • 项目侦察:通过匿名登录接口获取项目信息,尝试推断项目 ID,并探测 Firestore REST API、Realtime Database、Firebase Storage、Firebase Hosting 等服务。
  • Firestore 利用:使用匿名认证获取 ID token,列举集合、递归导出文档、执行 collectionGroup 查询,并测试写入与删除权限。
  • Realtime Database 利用:读取 .json 全量数据、指定路径数据,并测试写入与删除。
  • Firebase Storage 利用:列举默认存储桶中的文件、下载指定文件、测试上传权限。
  • Firebase Auth 利用:测试开放注册、登录、列举已启用的认证提供方。
  • 服务账号 JSON 利用:若发现服务账号 JSON,可使用 gcloud 激活并列出 IAM 策略、服务账号、Firestore 数据库、存储桶、Cloud Functions、Cloud Run 等资源,并导出 Firestore。
  • 攻击链与严重性分级:给出三条典型攻击链(JS 密钥→匿名认证→Firestore 导出;JS 密钥→开放注册→写入;服务账号 JSON→GCP 全访问),并提供发现项与严重性对照表。

使用方式

技能以命令行流程呈现,主要使用 curl 访问 Firebase 与 Google API 端点,配合 grep、python3 解析响应,必要时使用 gcloud 进行服务账号认证与资源枚举。典型步骤包括:下载目标页面与 JS bundle、搜索 API 密钥、调用 identitytoolkit.googleapis.com 的 accounts:signUp 获取匿名 token、使用 token 访问 Firestore / Realtime Database / Storage 接口、测试读写权限。技能还提供自检命令,用于确认技能文件结构完整(frontmatter、revision_date、category、Pitfalls 段落)。

适用场景

适用于获得授权的安全测试、漏洞赏金与红队评估,重点检查 Firebase 客户端配置泄露、Firestore 规则宽松、Realtime Database 公开读写、Storage 公开列举、开放注册、服务账号泄露等问题。

限制与注意事项

  • Firebase 配置对象本身是设计为公开的,只有在数据库/存储可写或包含 PII 时才应报告。
  • Realtime DB 规则测试若未包含写入验证,不应仅凭读取结果下结论。
  • 技能中所有命令均需在授权范围内使用;未授权访问他人系统可能违法。
  • 技能未提供具体收费、价格或平台支持信息。