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, 可自定义解析器, 实时处理, 对称加密, 指纹识别, 搜索引擎黑客, 敏感数据泄露, 数据暴露, 日志审计, 社会工程学, 网络安全, 自动化审计, 隐私保护