虚拟机 — 工具配置
CTF 靶场和渗透环境通常部署在虚拟机中,避免污染宿主机。
虚拟机环境选择
| 工具 | 特点 | 适用场景 |
|---|---|---|
| VirtualBox | 免费、跨平台、轻量 | 本地练习、CTF 靶场 |
| VMware | 性能好、网络配置灵活 | 复杂网络拓扑 |
| Docker | 秒启容器、即用即弃 | CTF 沙箱环境、快速搭建 LAMP |
| Vagrant | 代码化管理虚拟机 | 团队统一环境 |
VirtualBox 基础配置
# 安装 VirtualBox(用包管理器,或从官网下载对应平台安装包)
# 加载内核模块
sudo modprobe vboxdrv
# 从 OVA 导入靶机(常见 CTF 靶场分发格式)
VBoxManage import target.ova网络模式选择(CTF 关键)
| 模式 | 说明 | CTF 用途 |
|---|---|---|
| NAT | 虚拟机通过宿主机上网,外部不可达 | 靶场需要联网下载依赖 |
| 桥接(Bridge) | 虚拟机与宿主机在同一网段,互相可达 | 宿主机访问虚拟机的 Web 服务 |
| Host-Only | 仅宿主机与虚拟机互通 | 安全的本地渗透实验 |
| 内部网络 | 仅虚拟机之间互通 | 搭建多机靶场 |
CTF 常用:桥接或 Host-Only,让宿主机能访问虚拟机的 Web 端口。
终端快速搭建 Web 靶场
# 用 Docker 一键启动 LAMP 环境
docker run -d -p 8080:80 --name ctf-web php:apache
# 把本地目录挂载进容器作为 Web 根目录
docker run -d -p 8080:80 -v ~/ctf/www:/var/www/html php:apache
# Docker Compose 搭建含 MySQL 的 Web 环境
# docker-compose.yml:
# services:
# web:
# image: php:apache
# ports: ["8080:80"]
# volumes: ["./www:/var/www/html"]
# db:
# image: mysql:5.7
# environment:
# MYSQL_ROOT_PASSWORD: root关联教程
- 操作系统基础 — Linux 操作环境准备
- 10-虚拟化与容器基础 — 虚拟化与 Docker 完整讲解
- 工具获取与环境搭建 — Linux 虚拟机环境准备
- Web 方向总览 — Web CTF 方向入口