haxxm0nkey/credshound
GitHub: haxxm0nkey/credshound
一款基于 Go 的数据驱动型凭证面扫描工具,可审计本地主机上暴露的密钥与配置机密,并支持将结果导入 BloodHound 进行攻击路径可视化。
Stars: 44 | Forks: 4
# CredsHound
CredsHound 是一个轻量级、数据驱动的凭证面扫描工具,使用 Go 编写。它用于审计本地主机上暴露或遗忘的应用凭证、会话 token、API 密钥和配置机密信息。
它使用 [LOLCreds](https://lolcreds.haxx.it/) 模板数据进行产品感知检查,并内置了一组高性能、厂商中立的检查规则。除了经典的云和 DevOps 产物外,CredsHound 还针对现代环境进行了全面优化,目标扫描范围涵盖了从 DBeaver 加密数据库到 AI-agent 设置(OpenCode、GitHub Copilot CLI、Hugging Face、OpenAI)的所有内容。
### 📸 演示
#### CLI 输出

#### BloodHound 中的攻击路径映射

## ⚡ 检查内容
* **环境变量**(扫描正在运行的进程环境以查找暴露的密钥)。
* **配置文件**和项目本地配置。
* **常见凭证产物**,例如 Git 凭证、Docker auth 配置、kubeconfig、shell 历史记录(`.bash_history`、`.zsh_history`、PowerShell 历史记录)、`.netrc`、`.pgpass`、私钥及类似文件。
## 🐶 BloodHound 集成(`-bh` / `-bloodhound`)
CredsHound 不会向您输出杂乱的文本日志,而是可以将本地暴露直接映射为兼容图形的 JSON。
当导入 BloodHound 后,它可以直观地展示被入侵主机或构建服务器的确切影响范围:
```
CHHost ➔ CHLocalUser ➔ CHUserProfile ➔ CHLocation ➔ CHCreds ➔ CHProduct
```
有关导入说明、图形模型详细信息、实用的 Cypher 查询以及可选的图标指南,请参阅 [BloodHound 集成文档](docs/integrations/bloodhound.md)。
## 📥 安装
如果已安装 Go:
```
go install github.com/haxxm0nkey/credshound/cmd/credshound@latest
```
或者在本地构建:
```
go build -o credshound ./cmd/credshound
```
## 🗂️ 模板
CredsHound 使用来自以下位置的 LOLCreds 数据:
```
https://github.com/haxxm0nkey/lolcreds-data
```
下载/更新模板:
```
credshound -ut
```
使用下载的 zip 包进行离线扫描:
```
credshound -t /path/to/lolcreds-data-main.zip .
```
使用本地模板目录:
```
credshound -t ~/lolcreds-templates .
```
## ⚙️ 用法
扫描当前目录以及主机级别的默认位置:
```
credshound .
```
扫描多个根目录:
```
credshound ~/project /etc
```
在根目录中递归搜索裸配置文件名,例如 `.env` 或 `values.yaml`:
```
credshound -recursive .
```
仅扫描环境变量:
```
credshound -sources env
```
写入 JSONL:
```
credshound -silent -j -o findings.jsonl .
```
写入 BloodHound OpenGraph JSON:
```
credshound -bloodhound -o credshound-bloodhound.json .
```
检查模板覆盖率:
```
credshound inspect-templates -t ~/lolcreds-templates
```
## 输出
默认情况下,CLI 输出是彩色的,类似于 Nuclei 的结果:
```
[github:classic-personal-access-token] [file] [high] [/home/alice/.git-credentials:1] [token] [ghp_****abcd] [https://lolcreds.haxx.it/github#classic-personal-access-token]
```
🔒 安全提示:结果默认会被脱敏。仅当您明确需要完整的明文值并且能够保证输出目标的安全性时,才使用 `-show-secrets` 标志。
## 💻 开发
运行测试:
```
go test ./...
```
交叉编译健全性检查:
```
GOOS=windows GOARCH=amd64 go test -exec=/usr/bin/true ./...
```
## ⚠️ 安全
CredsHound 旨在对您拥有或被授权评估的系统进行防御性审计。它可能会揭示敏感的本地数据。请将扫描输出视为机密。
标签:EVTX分析, 日志审计, 时序数据库