Vulnpire/Banshee-AI
GitHub: Vulnpire/Banshee-AI
AI 驱动的搜索引擎 dorking 工具,将自然语言转化为精准查询语句,用于自动化发现暴露的文档、敏感配置和攻击面。
Stars: 4 | Forks: 0
# Banshee
Banshee 是一款 AI 辅助的 dorking 和 OSINT CLI 工具,利用搜索引擎、AI 生成的查询和内置分析管道,用于查找暴露的文档、敏感数据、配置错误和脆弱攻击面。
它专为安全研究人员、Bug Bounty 猎人和防御者设计,旨在提供一种可重复的基于搜索的发现工作流,而无需手动构建每一个查询。
本仓库 README 是一份实用的入门指南。
它不是完整的完整手册。
有关完整的参数参考、工作流说明、内部文件/缓存、输出、FAQ 以及更详细的示例,请使用文档页面:
- `https://vulnpire.github.io/Banshee-AI`
- 本地副本:`docs/index.html`
文档界面还包含一个模拟的 Banshee shell,带有一个虚拟 `banshee` 二进制文件和一个非常基础的 CTF,用于学习/演示目的。
## README 范围(重要)
本 README 有意侧重于:
- Banshee 是什么
- 运行它需要什么
- 如何安装它
- 如何配置基础设置
- 常见使用模式
- 如何快速获取帮助
本 README 有意不试图完全涵盖:
- 每一个参数和模式
- 所有边缘情况行为
- 每一个缓存和内部文件格式
- 每一个 AI 增强工作流
- 完整的故障排除矩阵
- 每个功能组合的完整示例
对于这些内容,请使用文档站点:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
## Banshee 的功能
从宏观层面来看,Banshee 可以帮助你:
- 使用 AI 从自然语言 prompt 生成 dork
- 在支持的搜索引擎上运行 dork
- 对发现进行去重和组织
- 分析发现的文档和响应以查找敏感指标
- 从先前成功的扫描中学习以改进未来的 dork
- 使用技术检测和 CVE 感知逻辑进行更好的定位
- 使用 stdin 和基于文件的工作流扩展到多个目标
当你想要:
- 在目标的索引足迹中搜索暴露的文档
- 寻找泄露的配置文件和 secrets
- 发现管理面板、API 路径、备份和 debug endpoint
- 优先处理高信号结果而不是原始搜索噪音
- 构建具有输出文件和情报缓存的可重复侦察工作流
时特别有用。
## 为什么采用文档优先的方法
已经发展成为一个广泛的工具包。
试图涵盖所有内容的单个 README 变得难以维护且难以阅读。
Web 文档更适合:
- 交互式示例
- 丰富的输出和带注释的截图
- 完整的参数解释
- 结构化导航
- FAQ 和操作说明
- 演示 shell 和培训内容
使用本 README 开始行动。
使用文档页面作为主要参考。
## 功能概述(简版)
包含对以下工作流的支持:
- 从 prompt 进行 AI dork 生成
- 按类别随机生成 dork
- 多引擎搜索执行
- SMART dork 优化和后续跟进
- 具有针对特定目标智能的学习模式
- 针对非英语目标的多语言 dork 支持
- 文档分析和过滤
- 响应分析和代码分析
- 技术检测和技术感知 dork
- CVE 数据库工作流和相关 dork 生成
- Wayback 辅助发现和创意 dorking
- 监控式的定期扫描
- 带有去重功能的输出文件
- 情报查看/导出实用程序
这只是一个摘要。
有关完整的功能覆盖,请使用:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
## 要求
### 运行时
- Go `1.20+` 用于从源代码构建/安装
- 用于搜索 API 和目标内容检索的网络访问(使用时)
- Shell 环境(`bash`/`zsh` 等)用于 CLI 使用
### 搜索提供商(典型)
Banshee 通常使用:
- Google Custom Search (CSE)
- Brave Search API
### AI(可选但推荐用于 `-ai`)
对于基于 AI prompt 的 dork 生成,Banshee 可以使用 `gemini-cli`。
你通常需要:
- 已安装 `gemini-cli`
- 有效的 Gemini API 密钥或配置的认证方法(取决于你的设置)
### 注意事项
- 你可以在不启用所有功能的情况下使用 Banshee。
- 某些模式需要特定的 API 或本地配置。
- 文档页面详细解释了每个依赖路径。
## 安装
### 选项 1:使用 Go 安装
```
GOPROXY=direct go install -v github.com/Vulnpire/Banshee-AI/cmd/banshee@main
```
安装后,确保你的 Go bin 路径位于 `PATH` 中。
典型路径:
- `~/go/bin`
- `$GOBIN`
检查:
```
which banshee
banshee --help
```
### 选项 2:从源代码构建(仓库克隆)
如果你更喜欢从本仓库进行本地构建:
```
go build -o banshee .
```
或者,如果你的本地设置需要直接构建特定文件(取决于项目/版本),请使用文档中描述的方法或你现有的工作流。
然后运行:
```
./banshee --help
```
### 选项 3:先使用文档界面(尚未安装)
如果你正在评估 Banshee 且尚不想安装任何东西:
- 打开 `web/docs.html`
- 或访问 `example.com`
- 使用模拟 shell 学习命令风格
- 在虚拟环境中尝试基本的 demo/CTF
这对于:
- 新用户
- 团队入职培训
- 培训课程
- 快速演示
非常有用。
## 基础配置(高级)
Banshee 通常需要配置 API 密钥和相关文件。
确切的路径和格式可能因功能和版本而异。
使用文档页面获取权威详细信息:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
### 常见配置概念
你通常会配置以下部分或全部内容:
- Google API 密钥
- Google CSE / CX 配置
- Brave API 密钥
- Gemini API 密钥或 CLI 认证
- 可选代理设置
- 可选的超出范围列表
### 典型配置目录模式
许多设置使用如下配置目录:
```
~/.config/banshee/
```
你可能在那里看到的文件示例(取决于使用的功能):
- `keys.txt`
- `brave-keys.txt`
- `gemini-api-key.txt`
- 其他特定于功能的文件/缓存
不要仅依赖本 README 获取确切的文件名和行为。
使用文档页面获取确切的配置说明和当前预期。
## 快速入门工作流
本节内容偏实用性。
复制命令,替换目标,然后运行。
然后转到文档页面进行更深入的调整。
### 1. 传统 Dork(单目标)
```
echo example.com | banshee -q "inurl:admin" -v
```
此命令的作用:
- 从 stdin 读取目标
- 运行自定义 dork/查询
- 打印详细日志(`-v`)
### 2. AI Prompt -> Dorks -> 扫描
```
echo example.com | banshee -ai "find exposed dashboards and APIs" --smart --learn -quantity 5 -v
```
此命令的作用:
- 从自然语言 prompt 生成 dork
- 在目标上执行它们
- 使用 SMART 模式分析成功的模式
- 使用 LEARN 模式为重用目标重用先前的情报
有关 prompt 编写技巧和高级 AI 调整,请使用文档页面。
### 3. 以文档为中心的搜索
```
echo example.com | banshee -e pdf,docx,xlsx --analyze-docs --filter-docs -o results.txt -v
```
此命令的作用:
- 专注于文档扩展名
- 分析文档中的敏感指标
- 过滤出更相关的文档发现
- 将输出写入 `results.txt`
有关分析器行为、文件处理和输出细节,请参阅文档页面。
### 4. 随机 Dork 生成
```
echo example.com | banshee -random sqli --quantity 10 -v
```
此命令的作用:
- 无需 AI prompt 即可生成基于类别的 dork
- 使用请求的数量
- 运行快速集中搜索
### 5. 技术检测 + 搜索
```
echo example.com | banshee --tech-detect -ai "find exposed admin or debug panels" -v
```
当你希望技术背景影响你的搜索和优先级排序时,这很有用。
确切的功能相互作用因模式而异。
使用文档页面了解推荐的工作流模式。
### 6. 仅响应分析
```
echo https://example.com/api/status | banshee --analyze-response-only -v
```
当你已经拥有 URL 并希望进行分析而无需先运行 dork 时,请使用此选项。
### 7. 监控式工作流(定期)
```
cat domains.txt | banshee --monitor "sensitive pdf" --monitor-time 60 --filter-mon --analyze-mon
```
这会按类似计划的间隔运行定期扫描(功能行为取决于你选择的参数和环境)。
有关安全的操作使用和调整,请使用文档页面。
## 输入模式
Banshee 支持多种定义目标和搜索意图的方式。
### stdin(推荐用于管道)
示例:
```
echo example.com | banshee -q "inurl:login"
cat domains.txt | banshee -ai "find exposed docs"
subfinder -d example.com -silent | banshee -q "inurl:admin"
```
为什么 stdin 有用:
- 易于与侦察管道集成
- 来自其他工具的批处理
- Shell 脚本中更简洁的自动化
### 直接单目标(如果你的工作流支持)
旧使用模式或文档中的某些示例可能会显示直接目标参数。
请优先参阅文档页面,获取针对你版本的当前推荐语法和示例。
### 基于文件的输入
常见模式包括:
- 域名列表
- Prompt 列表
- Dork 文件
- 范围列表 / 排除列表
每个基于文件的工作流的确切参数都记录在 Web 文档中。
## AI Dorking(实用摘要)
AI dorking 是 Banshee 的核心优势之一。
你可以描述目标,而不是手动构建每一个查询。
示例 prompt:
- `find admin panels`
- `find exposed invoices and customer docs`
- `find SQLi candidates`
- `find debug endpoints and test environments`
- `find PIIs in documents`
### 基础 AI 使用示例
```
echo example.com | banshee -ai "find PIIs in documents" -quantity 5 -v
```
### AI + Learning + SMART 示例
```
echo example.com | banshee -ai "find leaked config and secrets" --learn --smart -quantity 8 -v
```
### AI + 多语言示例
```
echo example.com | banshee -ai "find sensitive HR documents" --multi-lang -quantity 6 -v
```
### AI 注意事项
- Prompt 质量很重要。
- 数量会影响广度和运行时间。
- SMART 和 LEARN 在重复扫描中最有用。
- 多语言模式可以改善非英语目标的结果。
对于:
- prompt 工程技巧
- 数量调整
- AI 模型选择
- 多语言行为
- 边缘情况和兼容性说明
请使用文档页面。
## 文档、响应和代码分析
Banshee 不仅仅可以收集 URL。
它可以分析内容并帮助确定结果的优先级。
### 文档分析
文档分析有助于:
- PDF 报告
- Office 文档
- 导出的电子表格
- 可能包含 PII 或内部数据的文件
典型使用模式:
```
echo example.com | banshee -e pdf,docx,xlsx --analyze-docs --filter-docs -v
```
### 响应分析
响应分析在以下情况下很有帮助:
- 你已经有一个 URL 列表
- 你想检查返回的内容中是否有 secrets/指标
- 你想要信号而不是广泛的 dork 生成
典型使用模式:
```
echo https://example.com/path | banshee --analyze-response-only -v
```
### 内联代码 / 面向源代码的分析
根据模式和目标内容,Banshee 可以分析类似代码的响应或嵌入数据以获取高信号指标。
文档页面解释了:
- 分析器
- 过滤器
- 输出标签
- 严重性/敏感性解释
- 性能权衡
## 输出文件和去重(基础)
Banshee 支持将结果写入输出文件(例如通过 `-o`,具体取决于你的命令)。
使用输出文件的常见原因:
- 保存发现以供以后分析
- 跟踪运行中的发现
- 将结果提供给其他工具
- 构建特定于目标的结果集
常规行为(高级):
- Banshee 对写入输出文件的结果进行去重
- 现有条目会影响重复结果的处理方式
- 发现的新结果会被追加
有关以下方面的确切行为:
- 跳过重新分析
- 分析器兼容性
- 输出格式化
- 缓存交互
记录在 Web 文档中。
### 示例
```
echo example.com | banshee -ai "find sensitive docs" --analyze-docs --filter-docs -o findings.txt -v
```
### 输出维护提示
- 尽可能每个目标/程序保留一个输出文件
- 使用描述性文件名
- 在大型实验之前归档旧运行
- 在报告发现之前结合上下文审查输出
## 情报、学习和缓存(概述)
Banshee 可以存储和重用以前运行的信息。
这有助于通过学习和智能优化等功能改进后续扫描。
你可能遇到的的高级概念:
- 目标情报文件
- AI 缓存
- 成功的 URL 跟踪
- 研究缓存
- Wayback 缓存
好处:
- 某些工作流中更快的重复运行
- 随着时间的推移提高 dork 质量
- 减少类似扫描中的重复工作
有关缓存路径、格式和维护,请使用文档页面。
## 技术检测和 CVE 感知工作流(概述)
Banshee 可以执行技术检测,并使用该上下文生成或优先排序更好的 dork。
这对于:
- 与特定技术栈相关的暴露管理页面
- 已知的特定技术文件模式
- CVE 相关的侦察假设
特别有用。
典型工作流思路:
1. 识别目标
2. 检测技术
3. 生成技术感知 dork
4. 运行搜索并分析结果
5. 使用 SMART/LEARN 进行优化
确切的参数和高级组合记录在 Web 界面中。
有关详细的设置和使用示例,请使用:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
## TLD 级和多目标扫描(高级)
Banshee 可用于更广泛的发现工作流,包括多目标输入模式和面向 TLD 的侦察用例(取决于功能/模式)。
由于这些工作流更复杂且更容易被误用,本 README 仅提供高级指导。
使用文档页面了解:
- 模式兼容性说明
-能调整
- 范围控制
- 大规模输出管理
- 安全使用模式
如果你正在扫描多个目标或广泛范围,请确保你的授权和程序规则明确允许这样做。
## 搜索策略提示(适合初学者)
这些是无需完整手册即可改善结果的实用提示。
- 从窄开始,然后扩展。
- 每次运行选择一个目标(文档、配置、管理、调试、SQLi 候选等)。
- 使用 `-o` 保存和审查结果。
- 当信号比数量更重要时,添加分析参数。
- 对重复目标使用 `--learn` 和 `--smart`。
- 当目标是非英语时使用 `--multi-lang`。
- 使用 `-ai` 时保持 prompt 具体。
### Prompt 示例(好)
- `find exposed invoices and customer spreadsheets`
- `find admin panels and dashboard logins`
- `find SQLi candidates with id parameters`
- `find debug or staging endpoints`
- `find secrets in config files and logs`
### Prompt 示例(太模糊)
- `hack site`
- `find bugs`
- `everything`
文档页面包含更好的 prompt 编写指导 和特定于工作流的示例。
## 示例命令(更多实用样本)
将这些作为起点。
然后在文档中进行调整。
### 敏感文档(AI)
```
echo target.com | banshee -v -ai "find PIIs in documents" --learn --smart --analyze-docs --filter-docs -o docs.txt
```
### 管理面板(传统查询)
```
echo target.com | banshee -q "inurl:admin OR intitle:login" -v -o admin.txt
```
### 备份和配置文件搜寻
```
echo target.com | banshee -ai "find backup files and exposed config files" -quantity 8 -v -o files.txt
```
### API / Debug 攻击面发现
```
echo target.com | banshee -ai "find debug endpoints, test environments, and APIs" --tech-detect --smart -v
```
### 随机 SQLi 候选扫描
```
echo target.com | banshee -random sqli --quantity 12 --learn -v
```
### 从文件批量处理域名
```
cat domains.txt | banshee -ai "find exposed dashboards" -quantity 3 -v -o batch.txt
```
### 已知 URL 列表的响应分析(Shell 循环示例)
```
while read -r url; do
echo "$url" | banshee --analyze-response-only -v
done < urls.txt
```
### 静默-ish 管道日志记录(调整参数)
```
cat scope.txt | banshee -ai "find sensitive docs" -quantity 4 -o results.txt
```
如果命令失败或行为异常,请在假设功能损坏之前检查文档页面。
参数组合可以显着改变输出和行为。
## Web 文档界面(主要参考)
Banshee 在 `web/` 目录中附带了一个 Web 文档界面。
在本地打开它:
```
xdg-open docs/index.html
```
或使用托管版本:
- `https://vulnpire.github.io/Banshee-AI`
### Web 文档包含的内容
- 快速入门演练
- 带有示例输出的实用示例
- 按类别划分的功能概述
- 分析模式指导
- 监控/情报说明
- 内部文件和配置说明
- 输出和缓存解释
- 完整的参数参考
- FAQ
- 安全/EULA 说明
### 模拟 Shell + Demo/CTF
文档包含一个模拟终端(仅 JavaScript)。
它对于:
- 学习 Banshee 命令风格
- 演示文稿中的演示
- 入职新用户
- 基本的类 CTF 交互练习
非常有用。
它是什么:
- 一个虚拟环境
- 一个伪造/模拟的 shell
- 一个学习界面
- 一个文档功能
它不是什么:
- 一个真正的 shell
- 一个系统终端
- 本地安装的替代品
- 一个实时漏洞利用环境
模拟 shell 包含一个虚拟 `banshee` 二进制文件和一个非常基本的 CTF 流程。
## 建议的学习路径(新用户)
1. 打开 `docs/index.html` 或 `https://vulnpire.github.io/Banshee-AI` 并浏览快速入门部分。
2. 在本地运行 `banshee --help` 以确认安装。
3. 在你有权评估的测试目标上尝试一个传统的 dork(`-q`)。
4. 尝试一个低数量的 AI prompt(`-ai`)。
5. 在重复目标上添加 `--smart` 和 `--learn`。
6. 尝试使用 `--analyze-docs --filter-docs` 进行以文档为中心的扫描。
7. 开始使用 `-o` 保存输出。
8. 转到文档参考以获取高级参数组合。
此路径可让你快速提高效率,而无需预先记住每个参数。
## 基础故障排除(快速检查)
这不是完整的故障排除指南。
使用文档页面获取详细的故障排除部分。
### `banshee: command not found`
检查:
- `PATH` 包含你的 Go bin 目录
- `go install` 已成功完成
- 二进制文件存在(`which banshee`)
### `--help` 有效但搜索无结果
检查:
- API 密钥已配置
- 配额未耗尽
- 目标/查询太窄
- 网络/代理设置正确
- 你的 dork 语法合理
先尝试一个更简单的查询。
### AI 功能不工作
检查:
- `gemini-cli` 已安装
- AI 凭据/认证配置正确
- prompt 足够具体
- 选择的数量对于测试来说是合理的
先用一个简单的 prompt 测试:
```
echo example.com | banshee -ai "find admin panels" -quantity 3 -v
```
### 结果中噪音太大
尝试:
- 更窄的 prompt
- 更小的数量
- 分析/过滤参数
- 输出文件和手动审查
- 广泛搜索前的技术检测
### 太慢
性能取决于:
- 启用的功能
- API 限制
- 目标量
- 分析模式
- 网络条件
使用文档页面获取调整指导和策略建议。
## 安全、道德和负责任的使用
仅在你拥有或明确授权测试的系统和资产上使用 Banshee。
始终尊重:
- 程序范围
- 速率限制
- 服务条款
- 当地法律法规
- 负责任的披露实践
Banshee 是一个搜索和分析工具。
滥用是你的责任。
如果你正在进行 Bug Bounty 狩猎:
- 先阅读程序政策
- 在扫描前确认目标范围
- 避免授权之外的广泛扫描
- 在报告前验证发现
- 在报告中隐去敏感数据(如需要)
## Bug Bounty 猎人的操作提示
这些故意简单实用。
- 每个程序保留单独的输出文件。
- 定期重新扫描高价值目标。
- 先使用低数量,然后扩展。
- 保存效果良好的有趣 prompt。
- 在积累历史记录后,使用 `--learn` 和 `--smart` 重访目标。
- 对包含大量 PDF 和公开文档的程序使用文档分析。
- 在升级任何问题之前手动审查结果。
有关高级搜寻 playbook,请使用文档页面。
## FAQ(迷你)
### 本 README 是完整文档吗?
不是。
本 README 是一份实用的入门指南。
使用 `https://vulnpire.github.io/Banshee-AI` 或 `docs/index.html` 获取完整文档。
### 我可以在不先安装的情况下学习 Banshee 吗?
可以。
打开文档界面并使用模拟 shell。
它包含一个虚拟 `banshee` 二进制文件和一个非常基本的类 CTF 流程。
### 文档 shell 是真正的终端吗?
不是。
它是一个用于学习和演示的 JavaScript 模拟。
### 我在哪里可以找到所有参数?
使用 Web 文档参考部分:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
### 我在哪里可以找到输出/缓存/内部文件解释?
使用 Web 文档的以下部分:
- 输出
- 缓存
- 内部文件
- 配置
### 我在哪里报告问题或寻求帮助?
请参阅下面的支持部分。
## 版本控制和文档准确性
Banshee 发展迅速。
某些参数、工作流和默认值可能因版本而异。
Web 文档应被视为使用指导的主要来源。
如果你注意到本 README 与文档页面之间存在不匹配:
- 优先参考文档页面了解详细行为
- 在本地检查 `banshee --help`
- 提交 issue 或联系支持
## 贡献
欢迎贡献。
有用的贡献类型包括:
- 错误修复
- 功能改进
- 文档改进
- 示例和配方
- 文档界面中的 UX 改进
在进行大型更改之前:
- 检查现有的 issue/讨论
- 清楚地描述问题
- 解释预期行为
- 尽可能包含复现步骤
如果你正在更新文档:
- 保持 README 简洁且以入职为导向
- 将详细的参考材料放在 Web 文档中
- 保持示例真实且安全
## 支持
支持:`gorkem@cyberpars.com`
如果你寻求帮助,请包含:
- 使用的命令
- 目标类型(如有需要进行脱敏)
- 相关参数
- 错误/输出片段
- 你的预期
这使故障排除更快。
## 最后说明
当作为工作流使用而不仅仅是单个命令时,Banshee 效果最好。
从简单开始。
保存输出。
让 SMART/LEARN 随着时间建立上下文。
使用 Web 文档了解全貌。
主要文档:
- `https://vulnpire.github.io/Banshee-AI`
- `docs/index.html`
保持在范围内。
标签:AI 安全, Bug Bounty, C2日志可视化, CLI 工具, CVE 检测, ESC4, ESC8, EVTX分析, Google Dorking, Kali 工具, OSINT, 可自定义解析器, 实时处理, 对称加密, 指纹识别, 搜索引擎黑客, 敏感数据泄露, 数据暴露, 日志审计, 社会工程学, 网络安全, 自动化审计, 隐私保护