借助Docker搭建Vulhub漏洞环境

2025-07-25 252
Docker

类型:虚拟化技术

简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。

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部署工作全部完成。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。