mcpField
P
pentest-secrets-exposure

pentest-secrets-exposure

github.com/jd-opensource安全31568 次安装28 周前更新
代码仓库

关于 pentest-secrets-exposure

用于发现源代码、Git 历史、网页资源和应用响应中泄露的秘密与敏感文件的安全测试技能。它指导获授权的评估从发现问题到验证凭据并记录影响。

主要功能

  1. 01扫描源代码中的硬编码凭据
  2. 02挖掘 Git 历史中的已删除秘密
  3. 03探测暴露的配置和备份文件
  4. 04检查错误信息与客户端资源中的泄露
  5. 05验证凭据并评估其权限范围

适用场景

  1. 01检查代码仓库中的 API 密钥和数据库凭据
  2. 02查找早期提交中删除的秘密
  3. 03测试网站是否暴露配置或备份文件
  4. 04评估发现的凭据是否仍有效

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jd-opensource/joysafeter --skill pentest-secrets-exposure

安装后在 Claude Code 中输入/pentest-secrets-exposure确认已加载。

附带文件references/tools.mdreferences/workflows.md

详细介绍

渗透测试中的敏感信息泄露

目的

涵盖多个未检查的 WSTG 类别 — CONF-03/04(敏感文件、备份)、INFO-05(信息泄露)、ERRH-01/02(错误处理、堆栈跟踪)。Shannon 的预侦察侧重于架构,而非系统性地发现敏感信息。

前提条件

授权要求
  • 书面授权,并明确源代码访问范围(如适用白盒测试)
  • Git 仓库访问权限,用于挖掘历史记录(如适用)
  • 目标 URL 列表,用于探测暴露的文件
环境配置
  • 使用 TruffleHog 扫描 Git 历史记录中的敏感信息
  • 使用 GitLeaks 基于模式检测敏感信息
  • 使用带有敏感信息规则集的 Semgrep
  • 使用带有暴露项模板的 nuclei

核心工作流

  1. 源代码中的敏感信息:结合模式匹配和熵检测,扫描硬编码的 API 密钥、数据库凭据、JWT 签名密钥和加密密钥。
  2. 挖掘 Git 历史记录:搜索所有曾添加后又移除敏感信息的提交。检查被强制推送的分支。分析 .gitignore 中与敏感信息相关的模式。
  3. 暴露的配置文件:探测 .env、.git/config、.DS_Store、wp-config.php、application.yml、包含凭据的 docker-compose.yml(WSTG-CONF-03/04)。
  4. 错误处理信息泄露:触发堆栈跟踪、调试页面和详细错误,查找其中泄露的内部路径、数据库架构和框架版本(WSTG-ERRH-01/02)。
  5. 备份和未引用文件:查找 .bak、.old、.swp、~files、编辑器临时文件、数据库转储,以及包含敏感数据的日志文件。
  6. 客户端打包文件分析:从 JS 打包文件中提取 API 密钥,查找泄露服务器代码的源映射,以及移动端软件包中的硬编码令牌。
  7. 验证敏感信息:测试发现的每项凭据是否仍可用于访问,记录其范围并评估影响范围。

WSTG 覆盖范围

WSTG ID测试名称状态
WSTG-CONF-03测试敏感信息文件扩展名的处理方式✅
WSTG-CONF-04检查旧备份和未引用文件✅
WSTG-INFO-05检查网页内容是否泄露信息✅
WSTG-ERRH-01测试错误处理不当✅
WSTG-ERRH-02测试堆栈跟踪✅

工具类别

类别工具用途
Git 扫描TruffleHog、GitLeaks检测 Git 历史记录中的敏感信息
静态分析Semgrep(敏感信息规则)、grep 模式扫描源代码中的敏感信息
Web 探测nuclei(暴露项模板)、ffuf查找暴露的文件和配置
JS 分析SecretFinder、LinkFinder从客户端打包文件中提取敏感信息
验证curl、自定义脚本测试凭据是否仍可用于访问

参考资料

  • references/tools.md - 工具函数签名和参数
  • references/workflows.md - 攻击模式定义和测试向量

评论

支持 Markdown