本章目录(7)On this page (7)
  1. 为什么自己搭
  2. 起容器
  3. 首次登录
  4. 几个实际问题
  5. 和 vulhub 配合
  6. 一句提醒
  7. 参考
文章Articles

Vulfocus 靶场

三条命令起一套可打的漏洞环境,以及几个会卡住人的参数。

更新Updated 2026.10.25securitylabdocker

为什么自己搭

官方在线靶场能用,但有几个问题:网络慢、环境被别人打挂过、部分镜像有问题(log4j 那几个是典型,POC 对但打不出结果)。

自己搭一套,环境是自己的,打挂了重建,验证工具时也方便——写个批量检测脚本,总得有稳定的靶子测。

起容器

# 拉镜像
docker pull vulfocus/vulfocus:latest

# 创建容器
docker create -p 80:80 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e VUL_IP=172.17.0.1 \
  vulfocus/vulfocus

# 启动
docker start <容器ID>

三个参数解释一下,都容易踩坑:

-v /var/run/docker.sock:把宿主机的 Docker 守护进程挂进去。Vulfocus 要靠它来拉起一个个漏洞容器。不挂这个,平台能起来,但点「启动环境」会失败。

-e VUL_IP:告诉平台「漏洞容器启动后,用户该用什么 IP 访问」。不能写 127.0.0.1——写成本机回环,平台生成的访问链接就是 127.0.0.1:随机端口,从别的机器打开必然失败。写 Docker 网桥地址(默认 172.17.0.1)或者宿主机内网 IP。

-p 80:80:宿主机 80 映射容器 80。80 被占了就换,比如 -p 8080:80。

首次登录

浏览器打开 http://<宿主机IP>/,初始账号 admin / admin。

进去是空的,需要自己加环境。两种方式:

  • 单个添加:搜漏洞名或 CVE 编号,点启动。适合有针对性的练习。
  • 一键同步:把官方镜像全拉下来。几百个镜像,几十 GB,网络不好能耗一整天。

建议先单个加。真需要全量,挂着睡觉的时候同步。

几个实际问题

磁盘不够。docker pull 报 no space left on device。先 df -h 看,虚拟机的话扩磁盘,扩完还要扩分区,不是改个数字就行。

端口冲突。多个漏洞环境同时启动时,平台会自动分配端口。但如果映射段被别的服务占了,会起不来。改 Vulfocus 的配置里的端口范围。

环境起不来但没报错。看 docker ps -a 里容器的状态,再 docker logs <id>。多数是镜像拉取失败或者端口绑定失败。

和 vulhub 配合

Vulfocus 胜在数量和一键起,vulhub 胜在每篇都有完整的手工复现步骤和原理说明。

我的用法是:Vulfocus 起环境,vulhub 读原理。同一个漏洞,一边打一边看它为什么成立。

一句提醒

靶场里的漏洞是「设计好的」,真实环境里的漏洞是「长出来的」。

靶场练的是「知道这个漏洞长什么样」,不是「能在一个陌生系统里找到它」。后者只能靠真实项目练,而且必须在授权范围内。

参考

  • 《Kali + docker 搭建 Vulfocus 靶场并配置 vulfocus 漏洞环境》,CSDN