NeCr00/Credential-Hunting
GitHub: NeCr00/Credential-Hunting
CredsHunter 是一个跨平台的只读凭据查找脚本,通过五阶段扫描机制在 Windows 和 Linux 主机上提取可重用的密码、密钥与凭据文件。
Stars: 159 | Forks: 27
# CredsHunter
    
`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, 凭据收集, 应用安全, 数据展示, 红队, 网络安全审计