ctterrlt/Vulnbox-autoconfig
GitHub: ctterrlt/Vulnbox-autoconfig
专为攻防对抗 CTF 打造的一键式 vulnbox 环境配置工具与 ExploitFarm exploit 库,帮助选手在比赛中快速部署工作环境并自动化攻击流程。
Stars: 2 | Forks: 0
# 🚀 Vulnbox-AutoConfig
一个专为 **Attack/Defense CTFs** 打造的工具包,专注于你在压力下总是需要快速完成的两件事:
1. **🛠 Vulnbox 设置** — 通过 SSH,只需一条命令,即可将一个全新的远程 shell 转变为一个完全配置好的操作环境(zsh、Oh-My-Zsh、别名、攻击性工具)。
2. **💉 Exploit 库** — 即插即用、与服务无关的 exploits,直接接入 [**ExploitFarm**](https://github.com/Pwnzer0tt1/exploitfarm),在每个 tick 向每个队伍开火。
## 📂 仓库结构
```
.
├── auto.sh # entry point — pick a distro and deploy
├── sshconf.sh # shared SSH setup (prompts, ~/.ssh/config, keys)
├── gitconfig.conf # shared git aliases
│
├── arch/ · debian_ubuntu/ · fedora/ # one folder per distribution
│ ├── _auto.sh # full deploy
│ ├── zshchangeconf_.sh # re-push the config only
│ ├── zshconfig_.conf # the .zshrc that gets deployed
│ ├── zshinstall_.sh # standalone manual installer
│ └── README.md
│
└── python_exploits/ # the exploit arsenal (ExploitFarm / xfarm)
├── crypto/ # crypto & brute-force oracles (7 projects)
├── binary/ # pwn / memory-corruption (2 projects)
├── web/sql/ # boolean-blind SQL-injection toolkit (3 tools)
├── converting/ # offline encoding/decoding helpers
├── tls/ # defensive TLS decrypt→tap→re-encrypt bridge (runs ON the vulnbox)
└── examples/ # reference templates + raw jeopardy_examples/
```
每个项目文件夹都是独立的:`.py` (exploit) ·
`module_.py` (配置) ·
`auto_.sh` (交互式设置) ·
`requirements.txt` · 生成的 `.env` · 以及一个 `README.md`。唯一的例外是
`tls/`,它是一个长期运行的防御性代理 daemon,而不是 xfarm
exploit —— 它保持相同的配置布局,但运行在 vulnbox 上(见下文)。
## 🛠 第 1 部分 — Vulnbox 设置
### 核心亮点
- **一条命令:** `./auto.sh` 通过一个菜单处理任何受支持的发行版。
- **零接触 SSH:** 生成密钥,将其复制到目标机器,并写入一个
`~/.ssh/config` 条目,以便你以后只需使用 `ssh ` 即可重新连接。
- **单一事实来源:** 每个发行版共享相同的 `zshconfig` 和 git 设置。
- **CTF 就绪 shell:** 包含用于 Docker、网络和 VPN 的别名,以及 Fastfetch、
Oh-My-Zsh、语法高亮和自动补全建议。
- **自动备份:** 压缩远程主目录并将其拉取到本地。
### 部署
```
chmod +x auto.sh
./auto.sh
```
选择目标发行版,然后输入 IP、用户名、SSH 端口(留空 = 22)以及可选的别名。脚本会写入 `~/.ssh/config` 条目,设置密钥,在目标机器上安装 zsh 和相关工具,应用配置,拉取备份,最后让你进入一个实时会话。
### 维护
| 要修改… | 编辑… |
|---|---|
| Shell 别名、主题、插件 | `/zshconfig_.conf` |
| Git 别名 | `gitconfig.conf` |
| SSH 设置(密钥、`~/.ssh/config`) | `sshconf.sh` (由所有发行版共享) |
配置与部署逻辑是解耦的,因此下一次运行 `./auto.sh` 时只需重新推送你的修改即可。各发行版的详细信息位于每个发行版的 README 中。
## 💉 第 2 部分 — Exploit 库
这里的每个 exploit 都运行在 [**ExploitFarm**](https://github.com/Pwnzer0tt1/exploitfarm)
及其由 [**Pwnzer0tt1**](https://github.com/Pwnzer0tt1) 开发的 `xfarm` 客户端上,由它们负责处理目标分发、flag 提取和提交。这些 exploits 只专注于攻击:它们共享一个固定的骨架(`get_host()`、`Store()`、`get_ids()`、每个 tick 的循环),因此 xfarm 可以自动将它们复制到每个队伍,并且目标 IP 在 runtime 注入 —— 从不进行硬编码。
每个 exploit 都会从一个小的配置模块中读取每个特定于目标的值(主机端口、提示、地址、字符集、注入方式……)—— 可以手动编辑或通过交互式的 `auto_*.sh` 进行编辑 —— 因此相同的代码可以在几秒钟内重新指向任何队伍的服务。请从
[`python_exploits/README.md`](python_exploits/README.md) 开始阅读,了解 ExploitFarm
服务器的设置和共享的项目模式。
| 类别 | 项目 |
|---|---|
| [`crypto/`](python_exploits/crypto) | AES-ECB oracle · RSA blinding oracle · DES login brute · OR-flag rebuild · score oracle · timing attack |
| [`binary/`](python_exploits/binary) | canary leak → ret2win · ROP → `execve` (32/64-bit) |
| [`web/sql/`](python_exploits/web/sql) | boolean-blind SQLi:探索 schema · dump 列 · 以上皆是 —— 可配置的注入方式 + 传输层编码(`plain`/`url`/`hex`/`base64`/`double_url`)以绕过简单的 WAF/regex |
| [`converting/`](python_exploits/converting) | 离线 url/hex/base64 辅助工具,用于构建防火墙 regex |
| [`tls/`](python_exploits/tls) | **防御性** TLS 解密 → 明文监听 → 重新加密桥接 —— 读取你自身服务的加密流量(运行在 vulnbox 上,而不是 exploit) |
## ⚠️ 安全性与运行位置
三个不同的位置 —— 不要混淆它们:
- **部署脚本(`auto.sh`、`sshconf.sh`、发行版文件夹):** 从**你的本地
PC** 运行,绝不在目标机器上运行。它们拒绝在容器内或从错误的目录中运行 —— 如果出现 **DANGER** 提示,请务必注意。
- **Exploit 库(xfarm 项目):** 运行在**托管 ExploitFarm 的机器上 —
你的操作 PC 或攻击服务器,_而不是_ vulnbox**。 xfarm 每个 tick 会将每个 exploit 扇形展开到所有队伍;这种负载放在 vulnbox 上是非常沉重的,以至于会实际上对你自己的机器发起 DoS 攻击,此外还会将你的攻击泄露给该机器的控制者。
- **`tls/` 桥接:** 唯一**运行在 vulnbox 上**的部分。它位于你自己的某个服务的前端,在本地终止其 TLS,并暴露明文,以便
你进行检查 —— 因此它必须存在于服务所在的机器上。
## 🙏 致谢
[**ExploitFarm**](https://github.com/Pwnzer0tt1/exploitfarm) 和 **xfarm**,由
[**Pwnzer0tt1**](https://github.com/Pwnzer0tt1) 开发 —— 整个 exploits 所基于的引擎。
祝黑客愉快! 🛡✨
标签:Cutter, PE 加载器, Python, XXE攻击, Zsh配置, 内存分配, 无后门, 特权提升, 自动化部署, 逆向工具