1. 安装 Docker-Compose
- vulhub 需要利用到 Docker 与 Docker-Compose,Docker 的安装教程前面有,这里讲 Docker-Compose
Docker-compose 用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用 docker-compose 做环境一键化管理工具。用户不再需要学习 docker 命令的各种参数与用法,只需要简单地执行docker-compose up -d 即可启动容器。
1.1 安装命令
[root@yongz ~]#sudo curl -L
https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 633 100 633 0 0 961 0 --:--:-- --:--:-- --:--:-- 962
100 16.7M 100 16.7M 0 0 2723k 0 0:00:06 0:00:06 --:--:-- 3412k
[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. 访问网页
```
- 环境建立成功!