靶场搭建 | 使用Docker搭建vulfocus靶场

编写人:Rannnn

开头

一直想找一个专门练习CVE漏洞的靶场,奈何网上都是自己搭环境,没有一个整合的系统。终于找到一个:vulfocus.cn,但是访问实在是太慢啦(绝对不是我的网的问题哦),于是一气之下准备自己搭建一个vulfocus靶场。

前期准备

本此搭建为Linux虚拟机内Docker形式,需要准备一台物理机(运行内存不少于8GB),Ubuntu镜像(本文章使用版本为24.04.2 LTS)

本文章默认用户拥有基础的计算机知识并已经在物理机上安装好VMware Workstation17虚拟机软件

Start

1、安装虚拟机

打开软件,点击创建新的虚拟机

image-20250606154336950

选择自定义→点击下一步→选择稍后安装操作系统→选择Linux,版本选择Ubuntu 64位→虚拟机名称和位置自定义→处理器视自己电脑性能选择→内存视自己电脑性能选择→网络类型选择NAT或者桥接→默认推荐→默认推荐→选择创建新虚拟磁盘→最大大小磁盘自定义→点击下一步→点击完成

image-20250606154920442

点击编辑虚拟机设置→点击CD/DVD(SATA)→选择使用ISO映像文件→点击浏览(选择提前准备好的Ubuntu镜像)→点击下方确定

点击开机,选择第一项(Try or install Ubuntu)

等待出现图形化界面

image-20250606155400215

选择简体中文,然后就是跟着安装程序一步一步走(默认选项的就跳过不细说了)

选择交互安装

image-20250606155654507

选择默认集合

image-20250606155713978

两项全选

image-20250606155730748

选择擦除硬盘并安装Ubuntu

image-20250606155741758

设置姓名和用户名密码

image-20250606155854036

点击安装

image-20250606155920607

等待安装完毕,重启,来到第二步

2、安装与配置Docker&Docker Compose

安装Docker

点击徽标,上方输入框中输入terminal打开终端,输入sudo su并输入当前账户密码即可成为root用户,拥有root权限。

我们需要先更新一下软件包

sudo apt update
sudo apt upgrade
输入y,回车
清华源,放心装

更新完成后安装docker依赖

sudo apt-get install ca-certificates curl gnupg lsb-release
输入y,回车

添加Docker官方GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

回显OK即为正常

image-20250606163705910

添加Docker软件源

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
提示按enter继续,按下enter键

安装docker

sudo apt-get install docker-ce docker-ce-cli containerd.io
输入y,回车

配置用户组

这一步非必须(除非你不是以root用户登录系统的),用于将当前用户加入到docker组,使其可以直接执行docker命令而不用输入sudo

sudo usermod -aG docker $USER
需要重新登录才能使更改生效

验证安装

我们可以通过启动docker来验证我们是否成功安装

sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker

安装工具

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

重启docker

sudo systemctl restart docker

验证是否成功

sudo docker run hello-world

image-20250606164658129

显然不是很成功

相信你也遇到了这个问题,那就是连接超时而拉取不到镜像,这是因为在国内拉取docker镜像需要使用魔法,但是,如果正好没有魔法咋办捏

docker换源

首先进入/etc/docker/daemon.json文件,提示没有vim就执行apt install vim安装

sudo mkdir -p /etc/docker
vim /etc/docker/daemon.json

然后在里面加入下面的配置

{
"registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}

重载生效

sudo systemctl daemon-reload

重启服务

sudo systemctl restart docker

查看是否配置成功

docker info

重新拉取镜像就能成功拉取了

image-20250606165138174

查看镜像

上面我们成功拉取了hello-world镜像,这个命令可以用来看我们拉取的镜像

sudo docker images

image-20250606165302092

显示了hello-world

docker安装完成

安装配置Docker Compose

检查本地docker版本

docker version

然后根据docker版本选择对应的docker-compose版本

由于我们安装的是最新的docker,自然也就要配最新的docker compose(瞎说的,只是我测试过用最新的docker compose没有bug,放心用)

下载docker compose(有代理就用这个直接下,没代理就用浏览器下载好传进虚拟机中)

sudo curl -SL \
https://github.com/docker/compose/releases/download/v2.37.0/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose

添加可执行权限

chmod +x /usr/local/bin/docker-compose

测试

docker-compose --version

成功返回版本信息

image-20250606170548760

3、搭建靶场

拉取 Vulfocus 镜像

docker pull vulfocus/vulfocus:latest

image-20250606170750700

拉取完成后,用8081端口运行(端口可自行修改),VUL_IP后面填写本机IP

docker run -d -p 8081:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=192.168.226.132 vulfocus/vulfocus

查看容器运行情况

docker ps

访问vulfocus

默认密码为admin/admin

在「镜像管理」里点「一键同步」,等同步完成后就能下载各种漏洞环境镜像了

image-20250606171335873

image-20250606171347120

选择对应漏洞镜像下载,等待下载完成即可开始攻克

image-20250606171612551

image-20250606171632013

image-20250606171717064

附、鸣谢

参考文献:

Ubuntu下 Docker、Docker Compose 的安装教程

完美解决Docker pull报错

手把手教你Vulfocus靶场部署方案