环境
虚拟机vmware
ubuntu18.04
已安装docker
1.安装docker-compose
前提:Docker-compose基于Python开发,需要pip
Docker-compose用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用docker-compose做环境一键化管理工具。用户不再需要学习docker命令的各种参数与用法,只需要简单地执行docker-compose up -d
即可启动容器。
apt-get install pip
pip install docker-compose
检查
docker-compose -v
docker-compose version 1.24.1, build 4667896
2.下载并解压Vulhub
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip unzip vulhub-master.zip
3.启动Vulhub
以flask/ssti为例
#进入vulhub目录 cd vulhub-master # 进入某一个漏洞/环境的目录 cd flask/ssti # 自动化编译环境 docker-compose build # 启动整个环境 docker-compose up -d
补充:
第三条命令 编译环境 可以省略
因为
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实docker-compose up -d命令是包含了docker-compose build的。
如果更新了配置文件,你可以手工执行docker-compose build来重新编译靶场环境。
4.测试完毕删除环境
前面说了,docker-compose会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行docker-compose up -d后,不要离开当前目录即可,漏洞测试结束后,执行如下命令移除环境:
docker-compose down
上述命令会执行如下几个动作:
关闭正在运行的容器
删除所有相关容器
移除NAT(docker-compose在运行的时候会创建一个NAT网段)
但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d命令,就不需要再次编译相关镜像了。
参考:
https://vulhub.org/?tdsourcetag=s_pcqq_aiomsg#/docs/
https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md