在未安装过Docker的机器上,root权限执行如下命令即可一键安装最新版Docker:
curl -s https://get.docker.com/ | sh
如果已经安装过老版本Docker(且不是用这个一键安装脚本安装的),需先卸载Docker
sudo apt purge --autoremove docker.io
如果你不想使用这种方式安装Docker,也可以使用系统自带的包管理工具来安装,比如在Ubuntu下输入以下命令,但包管理工具安装的Docker版本一般较老,有可能在使用Vulhub的时候会出现BUG(基本上不会,但也不排除有的Docker版本过老的)
apt install docker.io
注意,docker是一个系统服务,所以,安装完成后可能需要手工启动服务:service start docker,否则会出现连接失败的情况。同样,如果docker没有自启动,你也需要手工启动docker服务。如果你是使用一键安装工具安装的docker,则docker会自动启动。
systemctl start docker
或者
service docker start
apt-get install docker-compose
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip(解压)
cd vulhub-master
docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。
例:cd solr/CVE-2017-12629-XXE
直接执行如下命令,进行漏洞靶场的编译和运行:
docker-compose build (编译环境)(首次开启)
docker-compose up -d (运行环境)
Vulhub中所有环境均为漏洞靶场,在测试结束后,请及时关闭并移除环境,避免被他人恶意利用。虽然靶场全部运行在Docker中,但大多数恶意软件并不会因为运行在容器中就失去效果!
前面说了,docker-compose会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行docker-compose up -d后,不要离开当前目录即可,漏洞测试结束后,执行如下命令移除环境:
docker-compose down
上述命令会执行如下几个动作:
关闭正在运行的容器
删除所有相关容器
移除NAT(docker-compose在运行的时候会创建一个NAT网段)
但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d命令,就不需要再次编译相关镜像了。
原文:https://www.cnblogs.com/Iamyoyodan/p/13323445.html