NeCr00/Credential-Hunting

GitHub: NeCr00/Credential-Hunting

CredsHunter 是一个跨平台的只读凭据查找脚本,通过五阶段扫描机制在 Windows 和 Linux 主机上提取可重用的密码、密钥与凭据文件。

Stars: 159 | Forks: 27

# CredsHunter
image
![read-only](https://img.shields.io/badge/read--only-yes-3fb950?style=flat-square) ![no network](https://img.shields.io/badge/network-none-3fb950?style=flat-square) ![bash](https://img.shields.io/badge/bash-4%2B-2b3137?style=flat-square&logo=gnubash&logoColor=white) ![PowerShell](https://img.shields.io/badge/PowerShell-5.1%2B-2b3137?style=flat-square&logo=powershell&logoColor=white) ![authorized use only](https://img.shields.io/badge/use-authorized%20only-f85149?style=flat-square)
`credshunter` 是一个用于授权后渗透阶段的只读凭据查找工具。它会扫描一次主机,并提取出你真正可以**重用**的机密信息——密码、密钥、哈希和凭据文件——同时忽略那些只会增加噪音的云 / SaaS token。 两个兄弟脚本,行为一致:适用于 Linux 的 `credshunter.sh` 和适用于 Windows 的 `credshunter.ps1`。 ## 工作原理 一个五阶段的漏斗机制,范围从*凭据存放的位置*逐渐缩小至*文件内部的内容*。每个阶段在完成扫描后会立即输出其发现的结果。 ``` Stage 1 OS credential stores registry · GPP · histories · vaults · keys · other Stage 2 Confirmed containers .kdbx · .ppk · .pfx · .keytab · other Stage 3 High-value file types keys · .env · backups · DBs · captures · other Stage 4 Suspicious filenames *password* · *secret* · *credential* Stage 5 Content scan 70+ tuned regexes, one pass per file ``` 第 1 和第 5 阶段是核心重负载工作;2–4 阶段则是快速的文件名 / 扩展名扫描。每一项发现结果在呈现给你之前,都会通过一个误报过滤器进行筛选。 ## 用法 ``` # Linux — 全面扫描,记录到文件 ./credshunter.sh -p / -o loot.txt # 定向扫描,跳过缓慢的内容扫描 ./credshunter.sh -p /var/www -p /home --no-stage5 ``` ``` # Windows — C:\ 的提权扫描 .\credshunter.ps1 -Path C:\ -OutputFile loot.txt # Web / DB box:同时扫描 SQL 与 CSV dumps .\credshunter.ps1 -Path D:\ -IncludeData ``` 支持管道操作——你可以添加 `--no-color` / `-NoColor` 并结合 grep 来筛选特定的等级。 ## 输出 发现的结果被分为五个等级,按严重程度由高到低排列。 | 标签 | 含义 | |---|---| | `[CRITICAL]` | 已确认的凭据容器 | | `[HIGH]` | 可重用密码 · 哈希 · GPP cpassword | | `[KEY]` | 私钥或可读取的 SAM / SYSTEM hive | | `[INTEREST]` | 值得查看的高价值文件 | | `[NAME]` | 可疑文件名——需人工复查 | 只要有任何结果属于 CRITICAL / HIGH / KEY 等级,退出代码就会是 `1`——这对于 CI 非常实用: `./credshunter.sh -p /etc && echo clean`。 ## 调优 | 如果你想… | 请执行此操作 | |---|---| | 限制范围 | 使用 `-p` / `-Path` 进行包含,使用 `-x` / `-ExcludePath` 进行跳过 | | 扫描所有文件 | `-a` / `-All` | | 添加 SQL / CSV 转储 | `-IncludeData` *(PowerShell)* | | 更改大小限制 | `-m N` / `-MaxFileSizeMB N`,或使用 `--no-size-limit` / `-NoSizeLimit` | | 跳过某个阶段 | `--no-stageN` / `-NoStageN` | 匹配模式和文件类型列表位于每个脚本顶部带有清晰标签的数组中——只需在一个地方进行修改即可,无需改动其他内容。 ## 常见问题解答 **它会在主机上更改任何内容吗?** 不会。它只会写入你指定的日志文件,从不触及网络,并在按下 Ctrl-C 时正常退出。 **为什么要忽略 AWS / GitHub / Slack token?** 这是有意为之——它们很少能帮助进行网络内横向移动,而且是产生误报的首要来源。但本地的云 CLI 凭据*文件*仍会被列出。 **第 5 阶段感觉很慢,或者漏掉了某个密码。** 详细的日志通常会增加开销——但这会受到大小限制的约束。你可以使用 `-p` 缩小范围,使用 `--no-stage5` 跳过内容扫描,并确认目标文件没有超过大小限制、不在排除路径中,或者其扩展名不在第 5 阶段的集合范围内(使用 `-All` 来确保万无一失)。 ## Wiki 请查看 [Wiki 文档](https://github.com/NeCr00/Credential-Hunting/wiki) 以获取有关该项目的更多信息。 ## 贡献 欢迎随时为该项目做出贡献!
标签:AI合规, Bash, IPv6, Libemu, PowerShell, StruQ, 凭据收集, 应用安全, 数据展示, 红队, 网络安全审计