docker+vulhub快速搭建漏洞环境-付案例测试
字数 1162 2025-08-18 11:38:41

Docker + Vulhub 快速搭建漏洞环境教学文档

一、Docker 简介

Docker 是一个开源的应用容器引擎,允许开发者打包应用及其依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。

Docker 优点:

  • 硬件成本低,虚拟化硬件损耗较低,性能好
  • 运行环境快速部署,启动极快,伸缩有弹性
  • 支持打包管理,保证一致性
  • 动态调度迁移成本低

二、Docker 安装(CentOS 7)

前期准备

  • 确保 CentOS 7 系统内核版本高于 3.10
  • 配置好 yum 源

安装步骤

  1. 更新 yum 包到最新:

    yum update
    
  2. 卸载旧版本(如果安装过):

    yum remove docker docker-common docker-selinux docker-engine
    
  3. 安装必要软件包:

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  4. 设置 yum 源:

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  5. 查看可用 Docker 版本:

    yum list docker-ce --showduplicates | sort -r
    
  6. 下载并安装 container-selinux:

    wget http://mirrors.atosworldline.com/public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
    rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force
    
  7. 安装 Docker:

    yum install docker-ce
    
  8. 启动 Docker 并设置开机启动:

    systemctl start docker
    systemctl enable docker
    
  9. 验证安装:

    docker version
    

三、网络通信配置

Windows 10 与 CentOS 7 通信

  1. 确保虚拟机网络连接方式为 NAT
  2. 配置 VMnet8 适配器:
    • 设置 IPv4 地址与 CentOS 7 在同一网段

Windows 10 与 Docker 容器通信

  1. 确保 CentOS 7 和 Docker 容器能互相 ping 通

  2. 关闭 CentOS 7 防火墙:

    systemctl stop firewalld.service
    
  3. 在 Windows 10 添加路由(管理员模式):

    route add -p 172.17.0.0 mask 255.255.0.0 192.168.2.131
    

    (其中 192.168.2.131 是 CentOS 7 的 IP 地址)

  4. 查看路由:

    route print
    

四、Docker 容器中下载 WebLogic 12c(可选)

  1. 获取镜像:

    docker pull ismaleiva90/weblogic12
    
  2. 生成并启动容器:

    docker run -d -p 7001:7001 -p 7002:7002 --restart=always ismaleiva90/weblogic12:latest
    
  3. 访问 WebLogic:

    http://172.17.0.1:7001/console
    

    默认账号:weblogic/welcome1

五、Vulhub 漏洞环境搭建

Docker Compose 安装

  1. 安装 Docker Compose:

    sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
  2. 卸载(如需):

    sudo rm /usr/local/bin/docker-compose
    

下载 Vulhub 漏洞环境

  1. 克隆 Vulhub 仓库:

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

    或直接下载:

    https://github.com/vulhub/vulhub/archive/master.zip
    
  2. 进入特定漏洞目录(如 WebLogic CVE-2017-10271):

    cd vulhub-master/weblogic/CVE-2017-10271
    
  3. 启动漏洞环境:

    docker-compose up -d
    
  4. 查看运行服务端口:

    docker ps
    
  5. 访问漏洞环境:

    http://[IP]:[PORT]
    
  6. 测试完毕后关闭环境:

    docker-compose down
    

六、验证 WebLogic XML 反序列化漏洞(CVE-2017-10271)

  1. 使用专业工具检测是否存在 WebLogic XML 反序列化漏洞
  2. 利用反序列化漏洞执行系统命令
  3. 使用 Wireshark 抓取渗透过程的数据包

渗透测试要点:

  • 执行命令时的网络流量特征
  • 响应体中的关键信息
  • 系统命令执行结果(如 whoami)的返回数据

七、注意事项

  1. 所有操作应在授权环境下进行
  2. 测试完毕后及时关闭漏洞环境
  3. 保持系统和软件更新到最新版本
  4. 记录测试过程中的关键步骤和结果

通过以上步骤,您可以快速搭建一个用于渗透测试的漏洞环境,并进行相关漏洞的验证和测试。

Docker + Vulhub 快速搭建漏洞环境教学文档 一、Docker 简介 Docker 是一个开源的应用容器引擎,允许开发者打包应用及其依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。 Docker 优点: 硬件成本低,虚拟化硬件损耗较低,性能好 运行环境快速部署,启动极快,伸缩有弹性 支持打包管理,保证一致性 动态调度迁移成本低 二、Docker 安装(CentOS 7) 前期准备 确保 CentOS 7 系统内核版本高于 3.10 配置好 yum 源 安装步骤 更新 yum 包到最新: 卸载旧版本(如果安装过): 安装必要软件包: 设置 yum 源: 查看可用 Docker 版本: 下载并安装 container-selinux: 安装 Docker: 启动 Docker 并设置开机启动: 验证安装: 三、网络通信配置 Windows 10 与 CentOS 7 通信 确保虚拟机网络连接方式为 NAT 配置 VMnet8 适配器: 设置 IPv4 地址与 CentOS 7 在同一网段 Windows 10 与 Docker 容器通信 确保 CentOS 7 和 Docker 容器能互相 ping 通 关闭 CentOS 7 防火墙: 在 Windows 10 添加路由(管理员模式): (其中 192.168.2.131 是 CentOS 7 的 IP 地址) 查看路由: 四、Docker 容器中下载 WebLogic 12c(可选) 获取镜像: 生成并启动容器: 访问 WebLogic: 默认账号:weblogic/welcome1 五、Vulhub 漏洞环境搭建 Docker Compose 安装 安装 Docker Compose: 卸载(如需): 下载 Vulhub 漏洞环境 克隆 Vulhub 仓库: 或直接下载: 进入特定漏洞目录(如 WebLogic CVE-2017-10271): 启动漏洞环境: 查看运行服务端口: 访问漏洞环境: 测试完毕后关闭环境: 六、验证 WebLogic XML 反序列化漏洞(CVE-2017-10271) 使用专业工具检测是否存在 WebLogic XML 反序列化漏洞 利用反序列化漏洞执行系统命令 使用 Wireshark 抓取渗透过程的数据包 渗透测试要点: 执行命令时的网络流量特征 响应体中的关键信息 系统命令执行结果(如 whoami)的返回数据 七、注意事项 所有操作应在授权环境下进行 测试完毕后及时关闭漏洞环境 保持系统和软件更新到最新版本 记录测试过程中的关键步骤和结果 通过以上步骤,您可以快速搭建一个用于渗透测试的漏洞环境,并进行相关漏洞的验证和测试。