关于 • 安装 • 模块 • 故障排除 • 常见问题 • Ars0n Security • YouTube • Twitch
大家好!我叫 Harrison Richardson,网名 rs0n(arson)。这个仓库中的代码最初只是一小批脚本,用于自动化我在漏洞赏金狩猎中经常重复的许多常见流程。随着时间的推移,我构建了一个简单的 Web 应用程序,并连接 MongoDB 来管理我的发现并识别有价值的数据点。经过 5 年(既有兼职也有全职)的漏洞赏金狩猎,我终于准备好将这些工具整合成一个像样的框架。
Ars0n 框架旨在为有抱负的应用安全工程师提供所需的一切工具,让他们能够利用漏洞赏金狩猎来学习有价值的真实世界 AppSec 概念,并在此过程中赚钱!我的目标是通过提供易于使用的自动化工具,结合针对各种基于 Web 和云的漏洞的教育内容和操作指南,降低漏洞赏金狩猎的入门门槛。结合我的 YouTube 内容,这个框架将帮助有抱负的应用安全工程师快速轻松地理解真实世界的安全概念,这些概念直接对应网络安全领域的高薪职业。
除了用于漏洞赏金狩猎,有抱负的工程师还可以将这个 GitHub 仓库当作画布,练习与其他开发者协作!这个工具的灵感来自 Metasploit,并以类似的方式设计成模块化。每个脚本(例如 wildfire.py 或 slowburn.py)基本上都是一个算法,它按照特定模式运行模块(例如 fire-starter.py 或 fire-scanner.py),以达成期望的结果。由于这种设计,社区可以自由地构建新脚本来解决特定用例,或构建模块来扩展这些脚本的结果。通过学习这个框架中的代码,并使用 GitHub 贡献自己的代码,有抱负的工程师将继续学习第一天担任安全工程师 I 职位时就能应用的现实技能。
我希望这个模块化框架能成为一张画布,帮助我与下一代安全工程师分享我在职业生涯中学到的东西!相信我,我们急需更多的帮助!!
将以下代码块粘贴到全新安装的 Kali Linux 2023.4 中,即可下载、安装并运行框架的最新稳定 Alpha 版本:
sudo apt update && sudo apt-get update
sudo apt -y upgrade && sudo apt-get -y upgrade
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
cd ars0n-framework
./install.sh
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
Ars0n 框架包含一个脚本,用于在全新安装的 Kali Linux 2023.4 上安装运行框架所需的所有工具、软件包等。
请注意,该框架唯一支持的安装环境是全新安装的 Kali Linux 2023.3。如果您选择在全新 Kali 安装之外尝试运行该框架,我将无法帮助解决您遇到的任何问题。
./install.sh
这个视频展示了成功安装后的预期情况。
如果您使用 ARM 处理器,则需要在所有安装/运行脚本中添加 --arm 标志
./install.sh --arm
安装开始时,系统会提示您输入各种 API 密钥和令牌。输入这些信息并非运行框架核心功能的必要条件。如果在安装时未输入这些 API 密钥和令牌,只需在每个提示处按回车即可。密钥稍后可以添加到 ~/.keys 目录中。有关如何手动添加这些密钥的更多信息,请参阅本 README 的常见问题部分。
安装完成后,系统会询问您是否要输入 Y 来运行应用程序。如果您选择不立即运行,或者在重启后需要运行,只需导航到根目录并运行 run.sh bash 脚本即可。
./run.sh
如果您使用 ARM 处理器,则需要在所有安装/运行脚本中添加 --arm 标志
./run.sh --arm
Ars0n 框架的核心模块用于确定基本的扫描逻辑。每个脚本都旨在根据用户的目标支持特定的侦察方法论。
目前,Wildfire 脚本是 Ars0n 框架中使用最广泛的核心模块。该模块的目的是允许用户扫描多个目标,这些目标允许对研究人员发现的任何子域进行测试。
工作原理:
如果运行所有子模块,大多数 Wildfire 扫描完成一个域名需要 8 到 48 小时。时间的差异可能由多种因素引起,包括目标应用程序和运行框架的机器。
此外,请注意,大多数数据在扫描完成之前不会在 GUI 中显示。最好尝试在夜间或周末运行扫描(取决于要扫描的域名数量),然后等扫描完成后再从侦察阶段进入枚举阶段。
运行 Wildfire:
Wildfire 可以通过仪表板上的 Wildfire 按钮从 GUI 运行。点击后,前端将使用屏幕上的复选框来确定应传递给扫描器的标志。
请注意,从 GUI 运行扫描仍然存在一些尚未解决的 Bug 和边缘情况。如果您遇到任何问题,可以直接从 CLI 运行扫描。
Ars0n 框架的所有核心模块都存储在 /toolkit 目录中。只需导航到该目录并使用必要的标志运行 wildfire.py 即可。必须至少提供一个子模块标志。
python3 wildfire.py --start --cloud --scan
与需要用户识别要扫描的目标域名的 Wildfire 模块不同,Slowburn 模块会自动完成这项工作。通过与各种漏洞赏金狩猎平台的 API 通信,该脚本将识别所有允许对任何发现的子域进行测试的域名。数据填充后,Slowburn 会随机选择一个域名,以与 Wildfire 相同的方式进行扫描。
请注意,Slowburn 模块仍在开发中,不属于稳定 Alpha 版本的一部分。用户可能会遇到 Bug 和边缘情况。
为了使 Slowburn 能够识别要扫描的目标,必须首先进行初始化。此初始化步骤从各个 API 收集必要的数据,并将其存入本地存储的 JSON 文件中。初始化步骤完成后,Slowburn 将自动开始选择并一次扫描一个目标。
要初始化 Slowburn,只需运行以下命令:
python3 slowburn.py --initialize
数据收集完成后,用户可以选择是否在下次扫描时重新初始化该工具。
请记住,公共漏洞赏金计划的范围和目标可能会频繁变化。如果您选择在不初始化数据的情况下运行 Slowburn,您可能正在扫描不再属于计划范围内的域名。强烈建议每次运行前都重新初始化 Slowburn。
如果您选择不重新初始化目标数据,可以使用之前收集的数据通过以下命令运行 Slowburn:
python3 slowburn.py
Ars0n 框架的子模块旨在被核心模块利用,以将侦察和枚举阶段划分为特定的任务。每个子模块收集的数据会被其他子模块用来扩展您对目标攻击面的了解。
Fire-Starter 是对目标域名执行侦察的第一步。该脚本的目标是收集关于目标攻击面的大量信息。一旦收集完成,这些数据将被所有其他子模块用来帮助用户识别可能易受攻击的特定 URL。
Fire-Starter 通过运行一系列开源工具来枚举隐藏的子域、DNS 记录以及 ASN,以识别这些外部条目的托管位置。目前,Fire-Starter 通过串联以下广泛使用的开源工具来工作:
这些工具涵盖了识别隐藏子域的多种技术,包括 Web 抓取、暴力破解以及爬取以识别链接和 JavaScript URL。
扫描完成后,仪表板将更新并对用户开放。
Ars0n 框架中的大多数子模块需要 Fire-Starter 模块收集的数据才能工作。因此,在对目标进行的第一次扫描中必须包含 Fire-Starter,才能收集到任何可用的数据。
即将推出...
Fire-Scanner 使用 Fire-Starter 和 Fire-Cloud 的结果,对之前扫描中发现的所有子域和云服务执行宽带扫描。
在目前的开发阶段,该脚本几乎完全依赖 Nuclei 进行所有扫描。Fire-Scanner 不是简单地运行工具,而是将扫描分解为特定的 Nuclei 模板集合,并逐个扫描。这种策略有助于确保扫描稳定并产生一致的结果,去除任何不必要或不安全的扫描检查,并产生可操作的结果。
安装和/或运行 Ars0n 框架时遇到的绝大多数问题都是由于没有在全新安装的 Kali Linux 上安装该工具造成的。
务必记住,Ars0n 框架的核心是一组自动化脚本,旨在运行现有的开源工具。每个工具都有自己的运行方式,如果与用户系统上现有的任何服务/工具发生冲突,可能会产生意外行为。这种复杂性就是为什么 Ars0n 框架只能在全新安装的 Kali Linux 上运行的原因。
用户遇到的另一个非常常见的问题是由 MongoDB 未能成功安装和/或在其机器上运行引起的。此问题最常见的表现是用户无法添加初始 FQDN,并且只能看到损坏的 GUI。 如果发生这种情况,请确保您的机器具备运行 MongoDB 所需的系统要求。不幸的是,如果遇到此问题,目前没有解决方案。
即将推出...