wkt21/vaultbreaker
GitHub: wkt21/vaultbreaker
一款 HTB 风格的漏洞练习靶机,通过三段式 Flag 提权链帮助安全学习者实践 LFI、密码破解与权限提升等渗透技术。
Stars: 2 | Forks: 0
# VaultBreaker — HTB 风格挑战靶机
一个刻意设计的包含三 Flag 提权链的 **Hack-The-Box 风格** 漏洞挑战靶机。提供两种可互换的格式:
- **Docker** — `docker compose up`(最快,适合快速尝试)
- **VirtualBox/VMware OVA** — 基于源码构建的完整可引导 VM
## 目标
| # | 目标 | 获取方式 |
|---|-----------|-----------------|
| 1 | **访问 VM 并找到 Flag** | 利用文档查看器中的本地文件包含 (LFI) 漏洞读取 `flag1.txt`。 |
| 2 | **找到管理员凭据** | 通过 LFI 泄漏应用配置和 SQLite DB,破解管理员密码哈希,认证并登录管理控制台。 |
| 3 | **创建一个 reverse shell** | 滥用管理员上传功能部署一个 PHP reverse shell,然后提权至 `root` 获取最终 Flag。 |
Flag 格式:`HTB{...}`。完整的解题方案见 [`docs/SOLUTION.md`](docs/SOLUTION.md)。
## 快速开始 — Docker
```
git clone https://github.com//vaultbreaker.git
cd vaultbreaker
./start.sh # or: docker compose up -d --build
```
目标地址:**http://localhost:8080**
## 快速开始 — OVA (VirtualBox)
从源码构建镜像(需要 Linux 宿主机):
```
sudo apt-get install -y qemu-utils debootstrap grub-pc-bin grub2-common mtools parted e2fsprogs
cd ova-build
sudo ./build-ova.sh # -> ova-build/vaultbreaker.ova
```
然后在 VirtualBox 中:**文件 → 导入虚拟电脑 → vaultbreaker.ova**。
控制台登录:`root` / `vaultbreaker`。攻击面:**TCP/80** (Web) + **TCP/22** (SSH)。请确保在关闭 EFI 的状态下导入(传统的 BIOS/MBR 镜像)。详细信息见 [`docs/OVA-USAGE.md`](docs/OVA-USAGE.md)。
## 仓库结构
```
vaultbreaker/
├── html/ # vulnerable PHP web app (shared by Docker + OVA)
│ ├── view.php # [vuln] LFI via ?file=
│ ├── login.php # admin login (SHA-256 auth)
│ ├── admin.php # admin console (shows Flag 2)
│ ├── upload.php # [vuln] MIME-only upload check
│ ├── config.php # app config / DB path
│ └── pages/ # public docs + hints
├── flags/ # flag1.txt (www-data) + flag3.txt (root-only)
├── payloads/ # pentestmonkey php-reverse-shell.php
├── ova-build/ # OVA build from source
│ ├── build-ova.sh # one-shot: debootstrap -> grub -> vmdk -> .ova
│ └── vaultbreaker.ovf # committed OVF descriptor (size patched at build)
├── docs/
│ ├── SOLUTION.md # full writeup + commands
│ └── OVA-USAGE.md # OVA import / networking / caveats
├── Dockerfile # Docker variant
├── docker-compose.yml # exposes :8080
├── docker-entrypoint.sh # seeds SQLite DB + perms on container start
├── start.sh # convenience launcher
├── LICENSE
└── README.md
```
## Flag 与密钥汇总(供讲师参考)
| 项目 | 值 | 位置 |
|------|-------|----------|
| Flag 1 | `HTB{lf1_g4v3_y0u_th3_f00th0ld}` | `/var/www/flag1.txt` (www-data 可读) |
| Flag 2 | `HTB{cr4ck3d_th3_4dm1n_p4ssw0rd}` | Apache 运行时环境 `VAULT_FLAG2` (SetEnv) |
| Flag 3 | `HTB{r00t_v1a_sud0_f1nd_r3vsh3ll}` | `/root/flag3.txt` (权限模式 0600,仅限 root) |
| 管理员密码 | `letmein123` (SHA-256,包含在 rockyou 中) | SQLite `users.db` |
| 控制台 / SSH | `root` / `vaultbreaker` | VM 登录凭据 |
Flag 2 被刻意**不**存储在任何源代码文件中 —— 它被注入到了 Apache 运行时环境中,因此预期路径(破解凭据 → 登录)是常规通关方式;高级的 LFI 漏洞仍然可以从 `/proc/self/environ` 中将其恢复。
## 漏洞概览
| 步骤 | 漏洞 | CWE |
|------|-----|-----|
| Flag 1 | 未过滤的 `include($_GET['file'])` 导致 LFI | CWE-98 |
| Flag 2 | LFI 泄漏了 DB 路径;管理员密码脆弱且易被破解 | CWE-547 / CWE-798 |
| Flag 3 | 上传仅校验 MIME 类型;PHP 可在 `/uploads/` 中执行 | CWE-434 |
| Flag 3 | `find` 命令的 `sudo` 授权范围过大 | CWE-250 / CWE-269 |
## ⚠️ 安全提示
这是一个刻意设计的漏洞培训镜像。请在隔离环境中运行;切勿将其端口暴露给不受信任的网络。为了实验方便,OVA 的 SSH 允许 root 密码登录(`root`/`vaultbreaker`)—— 在更广泛的使用之前,请先对其进行安全加固。仅供教育用途。
一个刻意设计的包含三 Flag 提权链的 **Hack-The-Box 风格** 漏洞挑战靶机。提供两种可互换的格式:
- **Docker** — `docker compose up`(最快,适合快速尝试)
- **VirtualBox/VMware OVA** — 基于源码构建的完整可引导 VM
## 目标
| # | 目标 | 获取方式 |
|---|-----------|-----------------|
| 1 | **访问 VM 并找到 Flag** | 利用文档查看器中的本地文件包含 (LFI) 漏洞读取 `flag1.txt`。 |
| 2 | **找到管理员凭据** | 通过 LFI 泄漏应用配置和 SQLite DB,破解管理员密码哈希,认证并登录管理控制台。 |
| 3 | **创建一个 reverse shell** | 滥用管理员上传功能部署一个 PHP reverse shell,然后提权至 `root` 获取最终 Flag。 |
Flag 格式:`HTB{...}`。完整的解题方案见 [`docs/SOLUTION.md`](docs/SOLUTION.md)。
## 快速开始 — Docker
```
git clone https://github.com/标签:CISA项目, Cutter, Docker, ffuf, HTTP工具, OpenVAS, PHP, VirtualBox, Web报告查看器, 安全, 安全防御评估, 数据展示, 红队, 请求拦截, 超时处理