0 前言
- Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。
- 该靶场旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
1 安装
1.1 在虚拟机中安装CentOS
- 如果是在真实机中部署该靶场则直接跳过该步骤;
- 在虚拟中安装CentOS可以参考文章《CentOS7虚拟机安装及界面图形化》。
1.2 安装Docker
- 本小节分享时,Linux操作系统为CentOS7。
- 打开终端,切换至root用户,使用命令:
yum install docker 进行安装。安装过程中有多次需要确认,输入y,或者直接在安装命令中增加 -y,来默认输入y回复。 - 当出现以下完毕字样时,安装结束。
- 启动docker服务:
systemctl start docker.service - 设置docker随开机自定开启:
systemctl enable docker.service
1.3 安装docker-compose
- 目的:Docker-compose用于组合服务与内网。有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,所以Vulhub选择使用docker-compose做环境一键化管理工具。用户不再需要学习docker命令的各种参数与用法,只需要简单地执行docker-compose up -d即可启动容器。
- 本节内容参考docker官网的安装方法,在该网站上可以针对不同的系统如Windows和linux等选择不同的安装方式。
- 运行此命令下载docker compose的当前稳定版本,请及时查看官网是否有更新版本:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 。 - 对二进制文件应用可执行权限
sudo chmod +x /usr/local/bin/docker-compose 。 - 创建链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose ,这样才能直接使用docker-compose命令。
1.4 安装Vulhub
- 使用命令
yum -y install git 安装git。 - 使用命令
git --version 验证安装是否成功。 - 使用命令
cd /usr ,将后续的文件下载到usr目录下。 - 使用命令
git clone https://github.com/vulhub/vulhub.git 下载Vulhub靶场资料,如果显示下载或连接失败,可以多试试几次。
1.5 修改镜像源
- 输入命令
vim /etc/docker/daemon.json 创建daemon.json文件。 - 在编辑器中输入内容,并保存退出
{
"registry-mirrors": ["https://nfesww3w.mirror.aliyuncs.com"]
}
- 输入命令,重启docker即可
systemctl daemon-reload
systemctl restart docker
1.6 设置快照
设置快照方便恢复与使用,避免重复安装。
2 启用
- 原因:docker-compose会自动查找当前目录下的配置文件(默认文件名为docker-compose.yml),并根据其内容编译镜像和启动容器。所以,要运行某个漏洞靶场,需要先进入该漏洞所在的目录。
- 使用前先
cd /usr/vulhub 进入到vulhub文件夹中。可以查看到该目录下有多个靶场目录,每个子目录下都有一个或多个漏洞环境,启用环境前先在官网查一下要进入哪个子目录。 - 在Vulhub中选择某个环境,就进入对应目录。此处我们进入Nginx解析漏洞,
cd nginx/nginx_parsing_vulnerability/ ,来试验一下所搭配的漏洞环境能否正常写入文件。 - 直接执行
docker-compose up -d ,进行漏洞靶场的编译和运行,需要经过漫长的等待。不同靶场的解题方式参考对应官网的文章。 - 待编译完成时,使用命令
docker ps -a 查看所开启的环境的数量及端口。 - 注意看屏幕右上角是否有弹出SElinux的安全警告,如果有则看文章《CentOS7部署Vulhub靶场后,在启动漏洞容器时弹出SELinux警告,致使网站无法正常执行文件上传功能》。
3 总结
- 掌握部署Vulhub靶场的方法;
- 了解Vulhub启用的方法。
参考文献
- 《Vulhub官方网站》
- 《【环境搭建】Docker简介与安装》
|