WhiteMuush/Bull
GitHub: WhiteMuush/Bull
Bull 是一个一键式渗透测试虚拟机自动化配置工具,通过封装 Vagrant 和 hypervisor 来快速创建经过安全加固的 Kali Linux 或 Parrot Security 环境。
Stars: 2 | Forks: 0
# Bull
[](LICENSE)
[](https://github.com/WhiteMuush/Bull/actions/workflows/ci.yml)
[](docs/CONTRIBUTING.md)
[](https://github.com/WhiteMuush/Bull/wiki)
只需一条命令,即可启动一台装备齐全且经过安全加固的渗透测试虚拟机。Bull 封装了 Vagrant 和 hypervisor(libvirt/KVM 或 VirtualBox),用于配置 Kali 或 Parrot 机器,并配备 VPN kill switch、加密的 home 目录、受 GPG 保护的凭据、快照以及可复用的工具包管理器。
## 功能
- **自动配置** — Kali 或 Parrot,开箱即用
- **VPN kill switch** — 如果 VPN 断开,iptables 规则将丢弃所有网络流量(支持 OpenVPN 和 WireGuard)
- **加密的 /home** — 用户数据受 ecryptfs 保护
- **GPG 凭据** — 密码使用 AES256 + SHA512(65M 次迭代)加密,绝不以明文形式存储
- **快照** — 在进行任何高风险操作之前可以回滚
- **工具包管理器** — 保存一次基于 Git 的安全工具,即可在每个新 VM 上安装它们
- **跨 provider** — libvirt/KVM 或 VirtualBox,自动检测;支持 WSL2
## 环境要求
- 带有 libvirt/KVM 或 VirtualBox 的 Linux(通过 libvirt 支持 WSL2)
- Vagrant 2.3+,`jq`,`gpg`,`ssh`,`sudo`
安装程序可以为您拉取并安装其余的所有依赖。
## 快速开始
```
# 一键式 host 设置 (Vagrant + hypervisor, unattended)
sudo ./install.sh
# 初始化 Bull 并验证依赖
sudo ./bull.sh init
# 创建你的第一个 VM
sudo ./bull.sh create my-vm --os kali
# 或者直接启动交互式菜单
sudo ./bull.sh
```
在运行 `bull init` 之后,您可以直接调用 `bull`,而无需使用 `./bull.sh`。
## 常用命令
```
sudo bull create my-vm --os kali --ram 4096 --cpu 2
sudo bull start my-vm
sudo bull connect my-vm
sudo bull snapshot my-vm pre-exploit
sudo bull vpn my-vm ~/vpn/config.ovpn
sudo bull restore my-vm pre-exploit
sudo bull destroy my-vm
```
完整的命令参考:[CLI 参考](https://github.com/WhiteMuush/Bull/wiki/CLI-Reference)。
## 文档
[**Wiki**](https://github.com/WhiteMuush/Bull/wiki) 是完整的操作手册:
- [安装](https://github.com/WhiteMuush/Bull/wiki/Installation) — 宿主机设置、provider、WSL2、磁盘回收
- [使用指南](https://github.com/WhiteMuush/Bull/wiki/Usage-Guide) — 创建、管理和连接到 VM
- [CLI 参考](https://github.com/WhiteMuush/Bull/wiki/CLI-Reference) — 每一个命令和参数
- [VPN 和 Kill Switch](https://github.com/WhiteMuush/Bull/wiki/VPN-and-Kill-Switch) — 流量如何被锁定在隧道中
- [工具包管理器](https://github.com/WhiteMuush/Bull/wiki/Toolkit-Manager) — 保存和部署您自己的工具
- [架构](https://github.com/WhiteMuush/Bull/wiki/Architecture) — Bull 的内部工作原理
- [安全模型](https://github.com/WhiteMuush/Bull/wiki/Security-Model) — Bull 保护了什么以及未保护什么
- [故障排除](https://github.com/WhiteMuush/Bull/wiki/Troubleshooting) — 常见错误和修复方法
仓库内参考:[架构](docs/ARCHITECTURE.md)、[添加工具](docs/ADDING_A_TOOL.md)、[贡献指南](docs/CONTRIBUTING.md)、[安全政策](docs/SECURITY.md)。
## 项目布局
```
bull.sh Entry point (TUI + CLI dispatch)
install.sh Unattended host setup (Vagrant + hypervisor)
lib/
core.sh Colors, logging, dependency checks, GPG encryption
inventory.sh VM inventory CRUD (JSON via jq)
vagrant.sh Vagrant/libvirt VM lifecycle
vpn.sh VPN configuration + kill switch
toolkits.sh Toolkit installation + persistent registry
configs/ Vagrantfile template + per-OS provisioning scripts
docs/ Architecture, contributing, security, tooling guides
```
## 安全性
Bull 会对它创建的每一台 VM 进行安全加固:GPG 加密的凭据、ecryptfs `/home`、锁定的默认 OS 账户、禁用同步文件夹,以及基于 iptables 的 VPN kill switch。这些仅仅是技术层面的措施——它们无法防范用户的误操作或社会工程学攻击。有关报告漏洞的信息,请参阅 [安全模型](https://github.com/WhiteMuush/Bull/wiki/Security-Model) 和 [SECURITY.md](docs/SECURITY.md)。
## 贡献
欢迎提交 Issue 和 PR。有关环境设置、开发规范和 PR 检查清单,请参阅 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。
## 许可证
[MIT](LICENSE)
标签:Cutter, GitHub Advanced Security, Vagrant, 安全加固, 环境部署, 自动化运维, 虚拟化, 配置修复