Vulhub漏洞靶场搭建

来源:岁月联盟 编辑:猪蛋儿 时间:2020-03-16

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
物理机:Windows 10
虚拟机:Centos 7192.168.1.13,网卡设置为NAT模式
环境安装
安装Docker
 $ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ​
安装Docker-Compose
下面提供2种安装方式,2选1即可
离线安装。先到Docker-Compose下载最新版本的docker-compose-Linux-x86_64,并上传到虚拟机
 # 然后将其移动到/usr/local/bin目录并改名为docker-compose $ mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose ​ # 添加执行权限 $ sudo chmod +x /usr/local/bin/docker-compose ​ # 验证 $ docker-compose version ​
Pip安装
 # 安装docker-compose $ pip install docker-compose ​ # 如果没有pip需要先安装 $ yum -y install epel-release $ yum -y install python-pip $ pip --version  # 查看pip版本 ​ # 可能会遇到一个ReadTimeoutError的错误,需要修改pip源,请看文末问题汇总 ​
安装Vulhub
同上,两种方法2选1
离线安装。下载Vulhub压缩包,并上传到虚拟机任意目录,这里放在/root/目录
 # 创建一个vulhub目录并将压缩包放进去 $ mkdir vulhub && mv master.zip vulhub/ && cd vulhub/ # 解压 $ unzip master.zip ​
Git安装
 $ git clone https://github.com/vulhub/vulhub.git ​ # 如果没有Git需要先安装 $ yum install -y git ​
Docker加速
可选。配置阿里云镜像加速
这里的加速器地址可以在阿里云容器加速服务中的镜像加速器获取
 $ sudo mkdir -p /etc/docker $ vim /etc/docker/daemon.json # 加入以下代码 {   "registry-mirrors": ["加速器地址"] } ​ $ sudo systemctl daemon-reload $ sudo systemctl restart docker ​
靶场使用
选择漏洞环境,在Vulhub中选择某个环境,cd进入对应目录
 $ cd vulhub/discuz/wooyun-2010-080723/
可选。可以通过vi编辑其中的docker-compose.yml,修改端口和账号密码
 $ vi docker-compose.yml ​
启动环境:
$ docker-compose up -d   # 启动环境
$ docker-compose down    # 关闭环境,需要在该环境目录下执行
可选。编译环境。启动环境后,会自动查找当前目录下的配置文件。
如果配置文件中包含的环境均已经存在,则不会再次编译,反之则会自动进行编译。所以,其实docker-compose up -d命令是包含了docker-compose build的。
但是如果更新了配置文件,则需要手工来重新编译靶场环境。
$ docker-compose build
物理机访问容器
经过上面的配置,已经可以在虚拟机Centos7中使用浏览器访问对应的漏洞环境。但此时物理机是无法通过浏览器访问漏洞环境的,需要手动配置静态路由,将通往Docker的数据包交给虚拟机192.168.1.13来转发
先查看一下Docker容器的IP
$ docker ps  # 查看运行服务端口
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                  NAMES
a4eed382479c        vulhub/discuz:7.2   "docker-php-entrypoi…"   About a minute ago   Up About a minute   0.0.0.0:8080->80/tcp   wooyun-2010-080723_discuz_1
15b46d6919a9        mysql:5.5           "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp               wooyun-2010-080723_db_1
$ docker inspect [容器ID] | grep IPAddress  # [容器ID]为漏洞环境所在容器,此处为a4eed382479c
# "IPAddress": "172.18.0.3"
先关闭虚拟机防火墙
$ systemctl stop firewalld.service
物理机使用管理员模式打开CMD
$ route add -p 172.18.0.0 mask 255.255.0.0 192.168.1.13 # -p 永久路由,重启系统路由仍有效
$ route print  # 打印当前路由表
================================================================
永久路由:
  网络地址          网络掩码          网关地址        跃点数
  172.18.0.0      255.255.0.0     192.168.1.13       1
================================================================
下面,就以前面选择的靶场vulhub/discuz/wooyun-2010-080723/来进行复现,该目录内靶场环境对应的漏洞是Discuz 7.x/6.x 全局变量防御绕过导致代码执行。如需复现其它漏洞可以参考:Vulhub-漏洞环境
启动环境
选择漏洞环境。首先在Vulhub中选择靶场环境,cd进入对应目录

[1] [2] [3]  下一页