关于 pentest-secrets-exposure
用于发现源代码、Git 历史、网页资源和应用响应中泄露的秘密与敏感文件的安全测试技能。它指导获授权的评估从发现问题到验证凭据并记录影响。
主要功能
- 01扫描源代码中的硬编码凭据
- 02挖掘 Git 历史中的已删除秘密
- 03探测暴露的配置和备份文件
- 04检查错误信息与客户端资源中的泄露
- 05验证凭据并评估其权限范围
适用场景
- 01检查代码仓库中的 API 密钥和数据库凭据
- 02查找早期提交中删除的秘密
- 03测试网站是否暴露配置或备份文件
- 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
核心工作流
- 源代码中的敏感信息:结合模式匹配和熵检测,扫描硬编码的 API 密钥、数据库凭据、JWT 签名密钥和加密密钥。
- 挖掘 Git 历史记录:搜索所有曾添加后又移除敏感信息的提交。检查被强制推送的分支。分析 .gitignore 中与敏感信息相关的模式。
- 暴露的配置文件:探测 .env、.git/config、.DS_Store、wp-config.php、application.yml、包含凭据的 docker-compose.yml(WSTG-CONF-03/04)。
- 错误处理信息泄露:触发堆栈跟踪、调试页面和详细错误,查找其中泄露的内部路径、数据库架构和框架版本(WSTG-ERRH-01/02)。
- 备份和未引用文件:查找 .bak、.old、.swp、~files、编辑器临时文件、数据库转储,以及包含敏感数据的日志文件。
- 客户端打包文件分析:从 JS 打包文件中提取 API 密钥,查找泄露服务器代码的源映射,以及移动端软件包中的硬编码令牌。
- 验证敏感信息:测试发现的每项凭据是否仍可用于访问,记录其范围并评估影响范围。
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