挖洞经验 | 通过GitHub上泄露的dotfile文件获得Zendesk代码项目和网络资产访问权限
字数 1438 2025-08-18 11:38:37

通过GitHub泄露的dotfile文件获取企业敏感权限的教学分析

1. 案例背景

本案例展示了如何通过监测GitHub等第三方平台上的信息泄露,发现并利用企业无意公开的敏感配置文件(dotfile),从而获取企业内部系统访问权限的过程。

2. 核心概念解析

2.1 dotfile文件

  • 通常以.开头的配置文件
  • 存储应用程序、工具或系统的配置信息
  • 常见于用户主目录(~/)或项目根目录
  • 可能包含:API密钥、访问令牌、数据库凭证等敏感信息

2.2 涉及的敏感系统

  1. Artifactory:

    • JFrog公司的仓库管理软件
    • 用于企业内部代码库管理
    • 通过API密钥进行身份验证
  2. Google Cloud:

    • Google云服务平台
    • 包含传统密码凭据和OAuth令牌
    • 可访问云资源、计算实例等

3. 漏洞发现过程

3.1 监测工具

  • TPPE模块(Third-Party Platform Exposure):
    • 专门监测GitHub、PasteBin和Trello等平台
    • 识别组织机构的敏感信息泄露
    • 自动化扫描公开代码仓库

3.2 发现的两个关键仓库

仓库1:

  • 包含两种凭证格式:
    1. Artifactory token凭据
    2. Google Cloud传统密码凭据文件夹

验证方法:

export ARTIFACTORY_KEY="<REDACTED>";
export ARTIFACTORY_USERNAME="<REDACTED>";
curl -u $ARTIFACTORY_USERNAME:$ARTIFACTORY_KEY https://<REDACTED>/artifactory/api/build

Google Cloud验证:

cp <REDACTED>/.config/gcloud ~/.config/gcloud
gcloud projects list

仓库2:

  • 包含不同类型的Artifactory token
  • 验证方法类似:
export ARTIFACTORY_USERNAME="<REDACTED>"
export ARTIFACTORY_API_KEY="<REDACTED>"
curl -i -u $ARTIFACTORY_USERNAME:$ARTIFACTORY_API_KEY https://<REDACTED>/<REDACTED>/artifactory/api/

4. 漏洞利用分析

4.1 Artifactory访问

  • 获取内部代码库访问权限
  • 可能下载私有代码、依赖包
  • 潜在的攻击面扩大

4.2 Google Cloud访问

  • 列出150多个代码项目
  • 访问生产、预生产和开发环境
  • 可能的SSH访问计算实例:
gcloud compute ssh <instance>

5. 防御措施

5.1 预防措施

  1. 代码审查:

    • 实施严格的代码提交前审查
    • 使用预提交钩子检查敏感信息
  2. 凭证管理:

    • 使用密钥管理系统(Vault, AWS Secrets Manager等)
    • 避免硬编码凭证
    • 使用短期有效的令牌
  3. .gitignore配置:

    • 确保忽略所有配置文件
    .env
    *.key
    .config/
    

5.2 检测措施

  1. 持续监控:

    • 部署类似TPPE的监控系统
    • 定期扫描公开平台
  2. 工具推荐:

    • gitrob: 检查GitHub仓库中的敏感信息
    • truffleHog: 搜索提交历史中的高熵字符串
    • Gitleaks: 基于规则的敏感信息扫描
  3. 历史清理:

    • 使用BFG或git-filter-repo清理历史提交中的敏感信息

6. 事件响应

6.1 应急步骤

  1. 立即撤销泄露的所有令牌
  2. 轮换所有可能受影响的凭证
  3. 审计使用过这些凭证的活动
  4. 评估潜在的数据泄露影响

6.2 漏洞报告

  • 通过HackerOne等平台报告
  • 提供详细的重现步骤
  • 包含证据截图和curl命令输出

7. 经验总结

  1. 开发习惯:

    • 教育开发人员安全意识
    • 建立安全的开发工作流程
  2. 自动化防护:

    • 在CI/CD管道中加入敏感信息扫描
    • 设置仓库推送前的自动检查
  3. 最小权限原则:

    • 限制令牌的权限范围
    • 避免使用全局管理员权限
  4. 价值认知:

    • 此类漏洞通常有高额赏金(案例中获$6,000)
    • 对企业可能造成严重业务影响

8. 扩展学习

  1. 类似案例:

    • Snapchat GitHub Token泄露($15,000赏金)
    • Uber AWS凭证泄露
  2. 进阶工具:

    • AWS Scout2: 检查AWS凭证权限
    • Git-all-secrets: 聚合多个敏感信息扫描工具
  3. 研究资源:

    • GitHub安全指南
    • OWASP密钥管理备忘单
通过GitHub泄露的dotfile文件获取企业敏感权限的教学分析 1. 案例背景 本案例展示了如何通过监测GitHub等第三方平台上的信息泄露,发现并利用企业无意公开的敏感配置文件(dotfile),从而获取企业内部系统访问权限的过程。 2. 核心概念解析 2.1 dotfile文件 通常以 . 开头的配置文件 存储应用程序、工具或系统的配置信息 常见于用户主目录(~/)或项目根目录 可能包含:API密钥、访问令牌、数据库凭证等敏感信息 2.2 涉及的敏感系统 Artifactory : JFrog公司的仓库管理软件 用于企业内部代码库管理 通过API密钥进行身份验证 Google Cloud : Google云服务平台 包含传统密码凭据和OAuth令牌 可访问云资源、计算实例等 3. 漏洞发现过程 3.1 监测工具 TPPE模块 (Third-Party Platform Exposure): 专门监测GitHub、PasteBin和Trello等平台 识别组织机构的敏感信息泄露 自动化扫描公开代码仓库 3.2 发现的两个关键仓库 仓库1: 包含两种凭证格式: Artifactory token凭据 Google Cloud传统密码凭据文件夹 验证方法: Google Cloud验证: 仓库2: 包含不同类型的Artifactory token 验证方法类似: 4. 漏洞利用分析 4.1 Artifactory访问 获取内部代码库访问权限 可能下载私有代码、依赖包 潜在的攻击面扩大 4.2 Google Cloud访问 列出150多个代码项目 访问生产、预生产和开发环境 可能的SSH访问计算实例: 5. 防御措施 5.1 预防措施 代码审查 : 实施严格的代码提交前审查 使用预提交钩子检查敏感信息 凭证管理 : 使用密钥管理系统(Vault, AWS Secrets Manager等) 避免硬编码凭证 使用短期有效的令牌 .gitignore配置 : 确保忽略所有配置文件 5.2 检测措施 持续监控 : 部署类似TPPE的监控系统 定期扫描公开平台 工具推荐 : gitrob: 检查GitHub仓库中的敏感信息 truffleHog: 搜索提交历史中的高熵字符串 Gitleaks: 基于规则的敏感信息扫描 历史清理 : 使用BFG或git-filter-repo清理历史提交中的敏感信息 6. 事件响应 6.1 应急步骤 立即撤销泄露的所有令牌 轮换所有可能受影响的凭证 审计使用过这些凭证的活动 评估潜在的数据泄露影响 6.2 漏洞报告 通过HackerOne等平台报告 提供详细的重现步骤 包含证据截图和curl命令输出 7. 经验总结 开发习惯 : 教育开发人员安全意识 建立安全的开发工作流程 自动化防护 : 在CI/CD管道中加入敏感信息扫描 设置仓库推送前的自动检查 最小权限原则 : 限制令牌的权限范围 避免使用全局管理员权限 价值认知 : 此类漏洞通常有高额赏金(案例中获$6,000) 对企业可能造成严重业务影响 8. 扩展学习 类似案例 : Snapchat GitHub Token泄露($15,000赏金) Uber AWS凭证泄露 进阶工具 : AWS Scout2: 检查AWS凭证权限 Git-all-secrets: 聚合多个敏感信息扫描工具 研究资源 : GitHub安全指南 OWASP密钥管理备忘单