Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


一、靶场简介

Vulfocus 是一款开源、轻量化、高可用性的漏洞集成靶场平台,由 FOFA 团队开发。靶场集成了 Web 漏洞、系统漏洞、中间件漏洞、代码审计等海量常见漏洞环境,支持一键启动、一键销毁、独立隔离,完美适配网络安全入门练习、渗透测试实训、漏洞复现学习,是网安从业者、安全学生必备的实战靶场。

相较于传统靶场,Vulfocus 最大优势是基于 Docker 容器化部署,环境隔离干净、部署简单、不污染宿主机系统,且支持自定义漏洞环境、批量管理靶机,新手也能快速上手。

二、部署环境要求

为保证靶场稳定运行,避免启动失败、卡顿、镜像拉取超时等问题,需满足以下基础环境:

  • 操作系统:64位 Linux 系统(推荐 Ubuntu 20.04/22.04、Debian、CentOS7+)

  • 核心依赖:Docker 20.10及以上版本

  • 硬件配置:内存≥2G,磁盘≥20G(多开漏洞环境建议4G+内存)

  • 网络要求:服务器可正常联网,开放对应端口(80端口为主)

三、前置准备:解决Docker镜像拉取超时(核心避坑)

绝大多数用户搭建失败的原因:官方 Docker 源境外访问超时、国内老旧镜像源失效,导致 registry-1.docker.io 连接超时、镜像拉取失败。下面提供一键修复方案,配置国内稳定加速源。

1. 编辑Docker镜像加速配置文件

执行以下命令一键写入稳定可用的国内加速源(剔除所有失效源,只保留高可用毫秒镜像源):

bash 复制代码
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://docker.1ms.run"]
}
EOF

2. 重启Docker生效配置

bash 复制代码
systemctl daemon-reload
systemctl restart docker

3. 验证加速配置是否生效

bash 复制代码
docker info

输出内容中看到 Registry Mirrors: https://docker.1ms.run 即代表配置成功,后续拉取镜像不再超时。

四、Vulfocus靶场完整搭建步骤

1. 拉取Vulfocus最新镜像

配置完加速源后,执行拉取命令,下载官方最新版靶场镜像:

bash 复制代码
docker pull docker.1ms.run/vulfocus/vulfocus:latest

等待镜像下载完成(加速后下载速度大幅提升,无超时卡顿)。

具体结果如下:

2. 启动Vulfocus容器

执行以下标准启动命令,端口映射80端口,挂载Docker内核,保证漏洞环境正常创建与销毁:

bash 复制代码
docker run -d \
--name vulfocus \
-p 1081:80 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e VUL_IP=xxx.xxx.xxx.xxx \
-e "CELERY_RUN=1" \
--restart always \
vulfocus/vulfocus:latest

参数说明:

  • -d:后台守护进程运行容器

  • --name vulfocus:自定义容器名称,方便后续管理

  • -p 80:80:映射宿主机1081端口到容器80端口,网页直接访问

  • -v /var/run/docker.sock:挂载Docker内核,让靶场可管理子漏洞容器

  • -e "CELERY_RUN=1":开启自动同步镜像任务,如果不设置,Vulfocus 永远不会去拉取漏洞列表

  • --restart always:开机自启、容器意外退出自动重启

结果如下:

3. 查看容器运行状态

执行命令查看容器是否正常启动:

bash 复制代码
docker ps

若看到 vulfocus 容器状态为 Up,说明部署成功。

(这里我开了另外一个服务,所有存在两个端口;)

五、访问Vulfocus靶场

1. 访问地址

浏览器输入服务器 公网IP/内网IP 即可进入靶场首页:

http://你的服务器IP

2. 初始账号密码

  • 默认账号:admin

  • 默认密码:admin

首次登录后,建议立即修改默认密码,提升靶场安全性。

进入系统后,得到如下页面:

3. 自动拉取镜像

界面里显示 Total 0,说明漏洞镜像还没同步 / 拉取到本地,这是 Vulfocus 刚启动时的正常状态,解决方法:

  1. 点左侧菜单里的 「镜像管理」(在场景管理上面那个)
  2. 进入后,点击右上角的 「同步镜像」 或 「更新镜像」(不同版本按钮文字略有差异)
  3. 等待同步完成(第一次同步可能要几分钟,看服务器网速)
  4. 同步完再回到「首页」,就能看到所有漏洞列表了

4. 手动拉取镜像/font>

如果自动拉取为空,那么我们也可以手动拉取:需要从 https://hub.docker.com/ 网站拉取镜像,或自己以tar包的形式上传。

(1)、在镜像管理中,添加功能

(2)、分别填入漏洞名称、镜像、rank、描述

  • 镜像又分为文件和文本
  • 文本:是从 https://hub.docker.com/u/vulfocus 官网拉取镜像。内容为如: vulfocus/webmin-cve_2019_15107
    • 文件:本地漏洞镜像打成tar包的形式上传。

下载完成后点击启动即可。

(3)镜像启动后,会在环境里写入一个 flag (默认 flag 会写入 /tmp/ 下),读取到 flag 后填入 flag 窗口,镜像会自动关闭,如需重新启动,需强刷一下,然后再次点击启动即可。


5. 基础使用测试

  1. 登录后台后,可在漏洞列表中选择任意漏洞环境;

  2. 点击「启动环境」,等待10-30秒即可生成独立漏洞靶机;

  1. 渗透测试完成后,点击「销毁环境」,释放服务器资源,避免占用内存磁盘。

六、常用运维命令(必备)

日常靶场管理可直接复制使用以下命令:

bash 复制代码
# 停止靶场容器
docker stop vulfocus

# 启动靶场容器
docker start vulfocus

# 重启靶场容器
docker restart vulfocus

# 查看靶场日志(排查报错)
docker logs vulfocus

# 删除靶场容器(重置环境)
docker rm -f $(docker ps -aq --filter ancestor=vulfocus/vulfocus)

七、常见报错与解决方案

问题1:镜像拉取超时,提示 Client.Timeout exceeded

原因:默认Docker官方源无法访问,国内老旧镜像源失效、冲突

解决 :执行本文第三章的镜像加速配置,仅保留 https://docker.1ms.run 稳定源,重启Docker后重新拉取。

问题2:浏览器无法访问靶场页面

解决

  1. 检查容器是否正常运行:docker ps

  2. 检查服务器防火墙,放行80端口;

  3. 云服务器需在控制台安全组放行80端口入站规则。

问题3:漏洞环境启动失败

解决 :确认 /var/run/docker.sock 挂载成功,重启Docker和靶场容器即可修复。

八、搭建总结

Vulfocus 靶场部署的核心难点并非操作复杂,而是Docker镜像源超时问题。通过配置国内高可用加速源,可彻底解决99%的搭建失败问题。

整体流程:环境准备→修复镜像加速→拉取镜像→启动容器→访问使用。部署完成后,可随时随地进行漏洞复现、渗透测试练习,非常适合网安入门学习与日常技术实训。

相关推荐
simeple2 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker
Gauss松鼠会2 小时前
【GaussDB】GaussDB SMP特性调优详解
java·服务器·前端·数据库·sql·算法·gaussdb
芯盾时代2 小时前
企业建立安全防线治理失控的Agent
大数据·人工智能·安全
二等饼干~za8986682 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技
枫叶梨花2 小时前
Dify 离线安装 OpenAI API Compatible 插件踩坑记
服务器·人工智能
hz567892 小时前
公安局远程办案用什么音视频系统?安全取证与多方协同方案
安全·架构·云计算·音视频·实时音视频·信息与通信
Championship.23.242 小时前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa
汇智信科2 小时前
机务安全虚拟教学系统 打造沉浸式实训
安全·汇智信科·机务安全
爱讲故事的2 小时前
计算机网络第七章:无线与移动网络复习笔记
网络·笔记·计算机网络