USAGE
启动漏洞环境
docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml
),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。
在Vulhub中选择某个环境,进入对应目录。如Flask服务端模板注入漏洞,我们进入flask/ssti
目录:
cd flask/ssti
直接执行如下命令,进行漏洞靶场的编译和运行:
# 可选
docker-compose build
docker-compose up -d
为什么docker-compose build
是可选的?
docker-compose up -d
运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实docker-compose up -d
命令是包含了docker-compose build
的。
如果更新了配置文件,你可以手工执行docker-compose build
来重新编译靶场环境。
复现漏洞
Vulhub中所有漏洞环境均配置了详细的文档,包括如何编译、启动、原理、复现。
我们可以在本文档中搜索并查看所有漏洞环境,这里不再赘述。
移除环境
Vulhub中所有环境均为漏洞靶场,在测试结束后,请及时关闭并移除环境,避免被他人恶意利用。
虽然靶场全部运行在Docker中,但大多数恶意软件并不会因为运行在容器中就失去效果!
前面说了,docker-compose会默认根据当前目录下的配置文件启动容器,在关闭及移除环境的时候,也需要在对应目录下。我们执行docker-compose up -d
后,不要离开当前目录即可,漏洞测试结束后,执行如下命令移除环境:
docker-compose down
上述命令会执行如下几个动作:
- 关闭正在运行的容器
- 删除所有相关容器
- 移除NAT(docker-compose在运行的时候会创建一个NAT网段)
但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d
命令,就不需要再次编译相关镜像了。