
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
Vulhub是一个依托Docker技术构建的漏洞环境集合体,其中涵盖了各类常见的漏洞场景。对于安全技术学习者而言,它是复现漏洞、提升实战能力的理想工具。接下来分享如何通过Docker环境搭建Vulhub。
一、Kali Linux系统环境准备
1、Kali Linux版本挑选
本次操作选用的 Kali 版本为:Kali Linux 2023.1
你可依据自身需求选择合适的版本格式,如 ISO 镜像文件、虚拟机镜像等。
2、核查系统内核版本
Docker运行需要3.10以上版本的内核支持,因此首先要确认系统内核版本是否达标。
- uname -r:展示当前系统的内核版本号
- uname -a:输出系统的详细信息,包含内核名称、版本、主机名、硬件架构等内容
若内核版本低于3.10需升级内核或更换为支持Docker的操作系统。
3、更换软件源并更新系统
编辑/etc/apt/sources.list文件,将现有源替换为符合需求的可靠源(更换源可提升下载速度和软件包稳定性,操作需遵守相关法律法规)。本次使用系统默认源。
执行以下命令更新软件包列表并升级已安装软件:
sudo apt-get update
sudo apt-get upgrade
若出现错误,可能是密钥环需更新,执行:
wget -q -O – https://archive.kali.org/archive-key.asc | sudo apt-key add
更新完成后,再次更新软件包索引。
(注:系统已安装软件包升级至最新版本这一步可选,不影响后续操作)
至此,Kali Linux环境准备工作结束。
二、Docker环境搭建
1、安装Docker
通过命令apt-get install docker.io安装Docker。安装完成后,可通过以下命令查看版本信息:
- docker –version:仅显示Docker客户端版本信息
- docker version:显示Docker客户端和服务端详细信息,包括版本号、API版本、Go版本等
2、启动并设置Docker服务
临时使用:仅在需要时手动启动,命令为 sudo systemctl start docker
长期使用:建议设置开机自启,执行:
sudo systemctl enable docker # 设为开机自启
sudo /lib/systemd/systemd-sysv-install enable docker
通过 sudo systemctl status docker.service 检查 Docker 状态,确保服务显示为 active (running)(绿色)。
3、测试Docker
运行sudo docker run hello-world测试Docker是否正常工作。若一切正常,会输出Hello from Docker! 信息。
4、配置Docker镜像加速(可选)
若出现类似以下错误,可能是网络问题,建议配置镜像加速提升下载速度:
Unable to find image ‘hello-world:latest’ locally docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See ‘docker run –help’.
配置步骤:
创建并编辑 /etc/docker/daemon.json 文件:
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
在文件中添加国内镜像加速地址(示例包含多个源):
{
“registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn”, “https://hub-mirror.c.163.com”, “https://registry.docker-cn.com”]
}
重新加载配置并重启Docker服务:
sudo systemctl daemon-reload # 重新加载系统服务配置
sudo systemctl restart docker # 重启Docker服务
sudo systemctl status docker # 检查服务状态
验证配置是否生效:执行docker info,在输出中查找Registry Mirrors,确认配置的加速地址已应用。
注意:若配置后Docker仍无法正常工作,可能是所选镜像源不可用,建议更换其他镜像源或直接使用官方源。
三、安装Docker Compose
自Docker 20.10.0版本起,Docker Compose作为子命令集成到Docker CLI中(即Docker Compose V2)。相比旧版Compose V1(Python版docker-compose),V2功能更强大,包括优化的CLI体验和BuildKit构建性能。2023年7月后,Compose V1停止更新且不再包含于新版Docker Desktop中,因此Vulhub无需单独安装docker-compose,文档也已更新为使用docker compose子命令。
本次使用的Docker版本为26.1.5,高于20.10.0,默认支持docker compose功能。执行docker compose version检查是否支持,若提示命令未找到,按以下步骤操作:
1、查找docker compose文件位置
Docker Compose V2作为CLI插件,默认路径可能为:
/usr/libexec/docker/cli-plugins、/usr/local/lib/docker/cli-plugins、~/.docker/cli-plugins
2、手动下载安装(若未找到文件)
访问Docker Compose 的 GitHub 发布页:https://github.com/docker/compose/releases
根据系统架构下载对应二进制文件:
- uname -s:查看操作系统类型(如 Linux)
- uname -m:查看系统架构(如 x86_64)
- 64 位 Linux 系统对应文件:docker-compose-linux-x86_64
- ARM 64 位系统对应文件:docker-compose-linux-aarch64
3、移动文件并赋予权限
mv docker-compose-linux-x86_64 /usr/libexec/docker/cli-plugins/docker-compose
chmod +x /usr/libexec/docker/cli-plugins/docker-compose # 赋予可执行权限
验证安装:docker compose version(查看版本信息)
至此,Docker Compose环境搭建完成。
四、Vulhub部署
1、下载Vulhub
通过以下命令下载Vulhub漏洞环境集合:
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master
2、启动漏洞环境
进入目标漏洞 / 环境目录,例如 Flask SSTI 漏洞环境:cd flask/ssti
启动环境步骤:
docker compose pull # 拉取所需镜像
docker compose up -d # 启动环境
docker images # 列出本地所有镜像
容器启动后,可通过docker ps查看端口映射。在浏览器中访问 http://localhost:8000 即可测试漏洞环境。
(注:若docker compose pull拉取镜像失败,可能是镜像源不可用,建议更换其他源或使用官方源)
3、停止和清理环境
完成漏洞测试后,执行sudo docker-compose down停止并删除容器(此操作仅清理容器、网络和挂载卷,不删除镜像)。
至此,Vulhub部署工作全部完成。

