ubuntu搭建vulhub漏洞环境
0x01 简介
Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
在这之前我们先要安装docker和docker-compose
0x02 docker安装
Docker是一个开源的容器引擎,它有助于更快地交付应用。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
安装docker
curl -s https://get.docker.com/ | sh
Docker很多镜像动不动就1G或几百M,官方经常掉线。所以只能换国内源。
国内的镜像源有
- docker官方中国区 https://registry.docker-cn.com
- 网易 http://hub-mirror.c.163.com
- ustc http://docker.mirrors.ustc.edu.cn
- 阿里云 http://<你的ID>.mirror.aliyuncs.com
阿里源地址为:https://cr.console.aliyun.com/cn-qingdao/mirrors
然后编辑配置文件vim /etc/docker/daemon.json
{
"registry-mirrors" : [
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"]
}
doeker常用命令
镜像相关
- docker search java:在Docker Hub(或阿里镜像)仓库中搜索关键字(如java)的镜像
- docker pull java:8:从仓库中下载镜像,若要指定版本,则要在冒号后指定
- docker images:列出已经下载的镜像
- docker rmi java:删除本地镜像
- docker build:构建镜像
容器相关 - docker run -d -p 91:80 nginx :在后台运行nginx,若没有镜像则先下载,并将容器的80端口映射为宿主机的91端口。
-
-d:后台运行
-
-P:随机端口映射
-
-p:指定端口映射
-
-net:网络模式
- docker ps:列出运行中的容器
- docker ps -a :列出所有的容器
- docker stop 容器id:停止容器
- docker kill 容器id:强制停止容器
- docker start 容器id:启动已停止的容器
- docker inspect 容器id:查看容器的所有信息
- docker container logs 容器id:查看容器日志
- docker top 容器id:查看容器里的进程
- docker exec -it 容器id /bin/bash:进入容器
- exit:退出容器
- docker rm 容器id:删除已停止的容器
- docker rm -f 容器id:删除正在运行的容器
0x03 安装docker-compose
Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose。我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。简单说就是docker-compose是用python写的一个一个docker容器管理工具,可以一键启动多个容器。
安装docker-compose
pip install docker-compose
0x04 Vulhub安装
在安装docker和docker-compose后即可开始使用vulhub:
下载vulhub漏洞目录
git clone https://github.com/vulhub/vulhub.git
进入相应漏洞文件夹执行docker-compose up -d即可
cd vulhub/php/CVE-2019-11043
docker-compose up -d
如图所示,漏洞环境就这样一键搭建成功,节省了一大把时间,我们可以更专注于漏洞研究,漏洞环境使用完成记得关闭哦!执行如下命令移除环境:
docker-compose down
或者删除整个环境
docker-compose down -v