1. 安装 Docker-Compose

  • vulhub 需要利用到 Docker 与 Docker-Compose,Docker 的安装教程前面有,这里讲 Docker-Compose
  • Docker-compose 用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用 docker-compose 做环境一键化管理工具。用户不再需要学习 docker 命令的各种参数与用法,只需要简单地执行docker-compose up -d 即可启动容器。

    1.1 安装命令

    1. [root@yongz ~]#sudo curl -L
    2. https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    3. % Total % Received % Xferd Average Speed Time Time Time Current
    4. Dload Upload Total Spent Left Speed
    5. 100 633 100 633 0 0 961 0 --:--:-- --:--:-- --:--:-- 962
    6. 100 16.7M 100 16.7M 0 0 2723k 0 0:00:06 0:00:06 --:--:-- 3412k
    7. [root@yongz ~]# chmod +x /usr/local/bin/docker-compose

    1.2 安装测试

    [root@yongz ~]# docker-compose version
    docker-compose version 1.25.5, build 8a1c60f6
    docker-py version: 4.1.0
    CPython version: 3.7.5
    OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
    

    2. 下载 Vulhub

  • Vulhub 首页:https://vulhub.org/#/docs/

  • 在此之前,Linux 还需要安装一下 git
    • yum install -y git
  • git clone https://github.com/vulhub/vulhub.git (64.6 M)
    • github 时慢时快,不挂代理都下不来,可以使用 gitee 来下载
  • git clone https://gitee.com/tenruter/vulhub.git (57.6 M)

    [root@yongz opt]# git clone https://gitee.com/tenruter/vulhub.git
    Cloning into 'vulhub'...
    remote: Enumerating objects: 9406, done.
    remote: Total 9406 (delta 0), reused 0 (delta 0), pack-reused 9406
    Receiving objects: 100% (9406/9406), 129.43 MiB | 4.47 MiB/s, done.
    Resolving deltas: 100% (3680/3680), done.
    

    3. 启动漏洞环境

  • docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。

    3.1 例子 - heartbleed

    ```

    1. 进入 vulhub 目录

    [root@yongz opt]# cd vulhub/

2. 进入 openssl 目录

[root@yongz vulhub]# cd openssl

3. 进入 heartbleed 目录

[root@yongz openssl]# cd heartbleed/

4. 查看 heartbleed 目录下的文件,发现有 docker-compose.yml 文件

[root@yongz heartbleed]# ls 1.png 2.png conf docker-compose.yml Dockerfile README.md README.zh-cn.md ssltest.py www

5. 启动漏洞环境

[root@yongz heartbleed]# docker-compose up -d Creating network “heartbleed_default” with the default driver Building nginx Step 1/6 : FROM vulhub/nginx:heartbleed heartbleed: Pulling from vulhub/nginx 81fc19181915: Pull complete 58235603fd24: Pull complete 663fe95e0115: Pull complete 218ec4cc15f5: Pull complete 31668c25e8f6: Pull complete Digest: sha256:5d8fce89e79fbcbe8eb3d04e6c272e3466411bcab26be38decc88f9b36f22864 Status: Downloaded newer image for vulhub/nginx:heartbleed 。。。。。。。 [root@yongz heartbleed]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1b01d60b6faf heartbleed_nginx “nginx -c /etc/nginx…” 41 seconds ago Up 40 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp heartbleed_nginx_1

6. 访问网页

``` 1. Vulhub - 图1

  • 环境建立成功!