打破盒子。击败盒子。
构建一个沙箱,打破它,看看会发生什么。
BeatBox 是一个在你自己的计算机上运行的动手实践网络安全练习实验室。真实的机器、真实的网络、真实的服务。搭建它们、攻击它们、防御它们,完成后将它们丢弃。
使用你已有的安装光盘启动任何操作系统。每台机器都是一台真实的计算机,拥有自己的内核和自己的磁盘,位于独立的窗口中。
冻结它。在尝试可能想要撤销的操作之前创建一个保存点,出错时回到该保存点。完成后,将机器丢弃。你启动时所用的磁盘永远不会被写入。
将机器连接到交换机和路由器,将它们划分到 VLAN,隐藏在 NAT 之后,并为它们分配名称和地址。防火墙逐条规则、自上而下地决定谁可以与谁通信。
轻量 PC 和轻量服务器每台仅占用一两兆字节,因此一整个办公室可以连同几台完整机器一起装进一台笔记本电脑。然后观察它:每一次会话、它经过网络的方式,以及防火墙对它做了什么。
将网络保存到文件,或从模板启动一个新网络。
在机器内部部署服务:一个网站、一个位于 nginx 之后的站点、一个 PostgreSQL 数据库、一个电子邮件收件箱、整个网络的名称解析。BeatBox 在启动任何服务之前会检查机器需要什么,并在缺少某些东西时告诉你需要安装什么。需要其他服务?描述你自己的服务。
BeatBox 从不下载磁盘,也从不写入你提供的磁盘。每台机器都在其之上运行自己的一个层,因此破坏一台机器永远不会破坏磁盘。
BeatBox 支持英语和葡萄牙语。
从 Releases 获取适用于你系统的安装程序。
| 系统 | 文件 |
|---|---|
| Ubuntu 22.04 或更新版本、Debian 12 | .deb |
| Fedora、openSUSE | .rpm |
| 任何其他 Linux | .AppImage(请先安装 QEMU) |
| Windows 10 和 11 | -setup.exe |
首次打开时,BeatBox 会检查你的计算机并提供修复缺失项的选项:QEMU,以及对硬件虚拟化的访问(Linux 上的 KVM,Windows 上的 Windows Hypervisor Platform)。
你需要 Rust(版本从 rust-toolchain.toml 中选取)、Node.js 20 或更新版本,以及 QEMU。
在 Ubuntu 或 Debian 上:
sudo apt install build-essential pkg-config libwebkit2gtk-4.1-dev \
libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev \
qemu-system-x86 qemu-utils
在 Fedora 上:
sudo dnf install gcc pkgconf-pkg-config webkit2gtk4.1-devel gtk3-devel \
libappindicator-gtk3-devel librsvg2-devel qemu-system-x86-core qemu-img
在 Windows 上,安装带有“使用 C++ 的桌面开发”的 Visual Studio Build Tools。 BeatBox 会在首次运行时自行安装 QEMU。
然后,在仓库中执行:
cd web && npm ci && npm run build && cd ..
cargo build --release -p beatboxd
cargo build --release --manifest-path shell/Cargo.toml
运行 shell/target/release/beatbox(Windows 上为 beatbox.exe)。它会在 target/release/ 中找到引擎并启动它。
BeatBox 可根据以下任一许可证供你使用
由你选择。