dockervlhub靶场 Docker Vulhub靶场搭建快速使用指南 📖 前言 Vulhub是一个开源的漏洞环境集合,包含了大量的CVE漏洞复现环境。通过Docker容器化技术,可以快 速搭建各种漏洞测试环境,是安全研究人员和渗透测试人员的必备工具。本文将详细介绍Vulhub的快速 搭建、使用和常⻅问题解决方案。 🚀 一、Vulhub快速启动与关闭 1.1 启动漏洞环境 Bash 1 # 进入目标CVE目录 2 cd /home/kali/vulhub-backup-20251211/spring/CVE-2022-22978 3 4 # 后台启动环境 5 docker-compose up -d 参数说明: ● -d : 后台运行模式(daemon mode) 首次启动会自动下载Docker镜像 ● 等待出现”done”字样表示启动成功 ● 1.2 关闭漏洞环境 Bash 1 # 停止并删除所有相关资源 2 docker-compose down 说明: 4
该命令会停止容器、删除网络和卷 ● 在原启动目录下执行 ● 执行后环境会被完全清理 ● 📋 二、常用管理命令 2.1 环境状态管理 Bash 1 # 查看运行状态 2 docker-compose ps 3 4 # 仅停止(不删除容器) 5 docker-compose stop 6 7 # 重启环境 8 docker-compose restart 9 10 # 重新构建并启动 11 docker-compose up -d —build 2.2 日志查看 Bash 1 # 查看实时日志 2 docker-compose logs -f 3 4 # 查看指定服务日志 5 docker-compose logs -f <service_name> 6 7 # 查看最后100行日志 8 docker-compose logs —tail=100 🔧 三、端口冲突解决方案 3.1 检测端口占用 5
Bash 1 # 检查特定端口是否被占用 2 lsof -i :8080 3 netstat -tulnp | grep :8080 4 5 # 查看所有容器端口映射 6 docker ps —format “table {{.Names}}\t{{.Ports}}” 7 8 # 查看系统端口使用情况 9 ss -tuln | awk ‘{print $4}’ | grep -oP ’:\K\d+’ | sort -n 3.2 修改端口映射 方法一:修改docker-compose.yml文件 Bash 1 # 1. 备份原文件(推荐) 2 cp docker-compose.yml docker-compose.yml.backup 3 4 # 2. 编辑配置文件 5 nano docker-compose.yml 修改前: YAML 1 services: 2 spring-security: 3 image: vulhub/spring-security:5.6.3 4 ports: 5 - “8080:8080” 修改后(将8080改为9090): YAML 1 services: 2 spring-security: 3 image: vulhub/spring-security:5.6.3 4 ports: 5 - “9090:8080” 6
多个端口映射示例:
YAML
1 ports:
2 - “9090:8080”
3 - “9091:8081”
4 - “9092:8082”
方法二:快速修改命令
Bash
1 # 使用sed命令快速替换端口
2 sed -i ‘s/”8080:8080”/“9090:8080”/g’ docker-compose.yml
3
4 # 重启环境
5 docker-compose down && docker-compose up -d
3.3 重新启动验证
Bash
1 # 重启环境
2 docker-compose down
3 docker-compose up -d
4
5 # 验证新端口
6 docker-compose ps
7
8 # 访问新端口
9 # 浏览器访问: http://
Bash
1 # CVE-2022-22978: 9090
2 # CVE-2022-22965: 9091
3 # CVE-2022-22947: 9092
4 # CVE-2018-1273: 9093
4.2 环境变量覆盖端口
Bash
1 # 临时指定端口(不修改yml)
2 PORT=9090 docker-compose up -d
4.3 查看环境文档
Bash
1 # 查看README了解默认配置
2 cat README.md
3
4 # 查看docker-compose配置
5 cat docker-compose.yml
⚠ 五、注意事项与故障排除
5.1 常⻅问题
问题1:端口已被占用
Bash
1 # 解决方案:修改端口或停止占用进程
2 lsof -i :8080 | grep LISTEN
3 kill -9
Bash 1 # 检查网络连接 2 ping docker.io 3 4 # 使用国内镜像源 5 # 编辑 /etc/docker/daemon.json 6 { 7 “registry-mirrors”: [ 8 “https://docker.mirrors.ustc.edu.cn”, 9 “https://registry.docker-cn.com” 10 ] 11 } 问题3:容器启动失败 Bash 1 # 查看详细日志 2 docker-compose logs 3 4 # 检查Docker服务状态 5 systemctl status docker 6 7 # 重启Docker服务 8 systemctl restart docker 5.2 最佳实践
- 端口选择原则: 使用1024-65535之间的端口 ○ 避免使用系统常用端口 ○ 记录每个环境的端口映射 ○
- 环境管理: 每次测试前备份配置文件 ○ 测试完成后及时清理环境 ○ 定期更新Vulhub镜像 ○
- 安全注意事项: 仅在授权范围内使用 ○ 9
不要在生产环境部署
○
及时清理测试数据
○
📊 六、完整操作流程示例
Bash
1 # 1. 进入目标目录
2 cd /home/kali/vulhub-backup-20251211/spring/CVE-2022-22978
3
4 # 2. 备份配置文件
5 cp docker-compose.yml docker-compose.yml.backup
6
7 # 3. 检查端口占用
8 lsof -i :8080
9
10 # 4. 修改端口(如需要)
11 sed -i ‘s/”8080:8080”/“9090:8080”/g’ docker-compose.yml
12
13 # 5. 启动环境
14 docker-compose up -d
15
16 # 6. 验证启动
17 docker-compose ps
18
19 # 7. 查看日志
20 docker-compose logs -f
21
22 # 8. 访问测试
23 # 浏览器访问: http://
养成良好的环境管理习惯 ● 遵循安全使用规范 ● 通过本文的指导,相信您能够快速上手Vulhub,高效地进行安全研究和漏洞测试工作。 作者: 网络安全研究员 更新时间: 2026年4月 适用环境: Kali Linux + Docker + Vulhub 版权声明: 本文仅供学习交流使用,请在合法授权范围内使用相关工具 11
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






