
🧊내 컴퓨터에서의 일회용 환경
상자를 부숴라. 상자를 이겨라.
샌드박스를 만들고, 부수고, 무슨 일이 일어나는지 확인하세요.
BeatBox는 여러분의 컴퓨터에서 실행되는 실습형 사이버보안 연습용 랩입니다. 실제 머신, 실제 네트워크, 실제 서비스. 직접 설정하고, 공격하고, 방어하고, 끝나면 버리세요.
이미 가지고 있는 설치 디스크로 어떤 운영체제든 부팅할 수 있습니다. 각 머신은 자체 커널과 자체 디스크를 가진 실제 컴퓨터이며, 자체 창에서 실행됩니다.
머신을 고정하세요. 되돌리고 싶을 수도 있는 작업을 시도하기 전에 저장 지점을 만들고, 일이 잘못되면 그 지점으로 돌아가세요. 끝나면 머신을 버리세요. 시작할 때 사용한 디스크에는 절대 기록되지 않습니다.
머신을 스위치와 라우터에 연결하고, VLAN으로 분할하고, NAT 뒤에 숨기고, 이름과 주소를 부여하세요. 방화벽은 위에서 아래로 한 규칙씩 누가 누구와 통신할 수 있는지 결정합니다.
경량 PC와 경량 서버는 각각 1~2메가바이트만 차지하므로, 사무실 전체가 몇 대의 풀 머신과 함께 노트북 하나에 들어갑니다. 그런 다음 지켜보세요: 모든 대화, 그것이 네트워크를 통과한 경로, 그리고 방화벽이 그것에 대해 한 일을 확인할 수 있습니다.
네트워크를 파일로 저장하거나, 템플릿에서 새로 시작하세요.
머신 안에서 서비스를 작동시키세요: 웹사이트, 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에서는 "Desktop development with 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는 다음 중 하나의 조건으로 자유롭게 사용할 수 있습니다
원하는 쪽을 선택하세요.