Kalyan-Deva/Bounty-Hawk

GitHub: Kalyan-Deva/Bounty-Hawk

一款模块化的 Bug Bounty 挖掘框架,整合侦察、扫描、取证与报告于一体,旨在降低应用安全实战的入门门槛。

Stars: 1 | Forks: 0


Bounty Hawk

一个用于在 Kali Linux 上进行 Bug Bounty 挖掘的现代化敏捷框架

## 关于 **Bounty Hawk** 旨在为有志成为应用安全工程师的人提供所需的全部工具,让他们能够利用 Bug Bounty 挖掘来学习有价值的真实世界 AppSec 概念,并在此过程中赚取 💰!我的目标是通过提供易于使用的自动化工具,结合针对各种基于 Web 和云的漏洞的教育内容和操作指南,来降低 Bug Bounty 挖掘的入门门槛。结合我的 YouTube 内容,该框架将帮助有志成为应用安全工程师的人快速轻松地理解真实世界的安全概念,这些概念能够直接转化为网络安全领域的高薪职业。 我希望这个模块化框架能作为一块画布,帮助我将整个职业生涯中所学的知识分享给下一代安全工程师!相信我,我们需要所有能得到的帮助!! ## 快速开始 将此代码块粘贴到全新安装的 [Kali Linux 2023.4](https://www.kali.org/get-kali/#kali-installer-images) 中,以下载、安装并运行该框架的最新稳定 Alpha 版本: ``` sudo apt update && sudo apt-get update sudo apt -y upgrade && sudo apt-get -y upgrade cd Bounty-Hawk ./install.sh ``` ## 安装 **Bounty hawk** 包含一个脚本,用于安装在全新安装的 [Kali Linux 2023.4](https://www.kali.org/get-kali/#kali-installer-images) 上运行该框架所需的所有工具、软件包等。 ``` ./install.sh ``` 安装开始时,系统会提示您输入各种 API 密钥和 token。**要运行该框架的核心功能,并不强制要求输入这些信息。如果您在安装时不输入这些 API 密钥和 token,只需在每个提示处按回车键即可。这些密钥可以稍后添加到 `~/.keys` 目录中。有关如何手动添加这些密钥的更多信息,请参阅本 README 的[常见问题解答](#faq)部分。** ## 运行 Web 应用程序(客户端和服务器端) 安装完成后,您将获得输入 `Y` 来运行应用程序的选项。如果您不想立即运行该应用程序,或者需要在重启后运行该应用程序,只需导航至根目录并运行 `run.sh` bash 脚本即可。 ``` ./run.sh ``` ## 核心模块 ### Wildfire 目前,Wildfire 脚本是 Bounty Hawk 中使用最广泛的核心模块。此模块的目的是允许用户扫描多个目标,这些目标允许研究人员测试发现的任何子域名。 工作原理: 1. 用户通过图形用户界面 (GUI) 添加他们希望扫描隐藏子域名的主域名 2. Wildfire 根据每个域名最后一次扫描的时间对它们进行排序,以确保数据最旧的域名优先被扫描 3. Wildfire 根据用户提供的 flag,使用各个子模块对每个域名进行扫描。 ***如果运行所有子模块,针对单个域名的大多数 Wildfire 扫描需要 8 到 48 小时才能完成。时间的差异可能由多种因素引起,包括目标应用程序和运行该框架的机器。*** ***此外,请注意,在扫描完成之前,大多数数据不会显示在 GUI 中。最好根据正在扫描的域名数量,尝试在夜间或周末运行扫描,并在扫描完成后返回,以便从信息收集阶段过渡到枚举阶段。*** 运行 Wildfire: #### 图形用户界面 (GUI) 可以使用仪表板上的 Wildfire 按钮从 GUI 运行 Wildfire。点击后,前端将使用屏幕上的复选框来确定应将哪些 flag 传递给扫描器。 *请注意,从 GUI 运行扫描仍然存在一些尚未解决的错误和边缘情况。如果您遇到任何问题,可以直接从 CLI 运行扫描。* #### 命令行界面 (CLI) The Ars0n Framework 的所有核心模块都存储在 `/toolkit` 目录中。只需导航到该目录并使用必要的 flag 运行 `wildfire.py` 即可。必须提供至少一个子模块 flag。 ``` python3 wildfire.py --start --cloud --scan ``` #### Slowburn 与需要用户识别目标域名进行扫描的 Wildfire 模块不同,Slowburn 模块会为您完成这项工作。通过与各种 Bug Bounty 平台的 API 进行通信,此脚本将识别所有允许测试任何发现的子域名的域名。一旦数据填充完毕,Slowburn 将以与 Wildfire 相同的方式,每次随机选择一个域名进行扫描。 ***请注意,Slowburn 模块仍在开发中,不被视为稳定 Alpha 版本的一部分。用户可能会遇到错误和边缘情况。*** 为了让 Slowburn 识别要扫描的目标,必须首先对其进行初始化。此初始化步骤从各种 API 收集必要的数据,并将它们存储在本地的一个 JSON 文件中。一旦此初始化步骤完成,Slowburn 将自动开始每次选择并扫描一个目标。 要初始化 Slowburn,只需运行以下命令: ``` python3 slowburn.py --initialize ``` 一旦数据收集完毕,是否要在下次扫描时重新初始化该工具由用户自行决定。 ***请记住,公开的 Bug Bounty 项目中的范围和目标可能会频繁更改。如果您选择在不初始化数据的情况下运行 Slowburn,您可能会扫描不再属于该项目范围内的域名。强烈建议每次运行前都重新初始化 Slowburn。*** 如果您选择不重新初始化目标数据,可以使用之前收集的数据通过以下命令运行 Slowburn: ``` python3 slowburn.py ``` ## 子模块 The Ars0n Framework 的子模块旨在由核心模块调用,以将信息收集和枚举阶段划分为特定的任务。每个子模块中收集的数据都会被其他子模块使用,从而扩展您对目标攻击面的了解。 ### Fire-Starter Fire-Starter 是对目标域名执行信息收集的第一步。此脚本的目标是收集有关目标攻击面的大量信息。一旦收集完毕,这些数据将被所有其他子模块使用,以帮助用户识别可能存在漏洞的特定 URL。 Fire-Starter 通过运行一系列开源工具来枚举隐藏的子域名、DNS 记录以及 ASN,以识别这些外部条目的托管位置。目前,Fire-Starter 通过将以下广泛使用的开源工具链接在一起来工作: - Amass - Sublist3r - Assetfinder - Get All URL's (GAU) - Certificate Transparency Logs (CRT) - Subfinder - ShuffleDNS - GoSpider - Subdomainizer 这些工具涵盖了多种识别隐藏子域名的技术,包括网页抓取、暴力破解以及通过爬取来识别链接和 JavaScript URL。 ***扫描完成后,仪表板将会更新并可供用户使用。*** **Bounty Hawk 中的大多数子模块都需要使用从 Fire-Starter 模块收集的数据才能工作。考虑到这一点,在对目标进行首次扫描时必须包含 Fire-Starter,才能收集到任何可用的数据。** ### Fire-Scanner Fire-Scanner 使用 Fire-Starter 和 Fire-Cloud 的结果,对之前扫描中发现的所有子域名和云服务执行[广带扫描](https://www.linkedin.com/feed/update/urn:li:activity:6849314055283466240/)。 在目前的开发阶段,此脚本几乎完全依赖 [Nuclei](https://github.com/projectdiscovery/nuclei) 进行所有扫描。Fire-Scanner 并不是简单地运行该工具,而是将扫描分解为特定的 [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates) 集合,并逐一扫描它们。这种策略有助于确保扫描稳定并产生一致的结果,消除任何不必要或不安全的扫描检查,并产生可操作的结果。
标签:Bug Bounty, 可自定义解析器, 实时处理, 密码管理, 应用安全, 插件系统, 自定义脚本, 逆向工具