一、简介

  Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。 (引自官网: https://vulhub.org)

二、安装

2.1 环境介绍
  • CentOS 7(VMware虚拟机):搭建环境漏洞环境
     + 网络连接配置:NAT模式
     + IP地址:192.168.30.129
  • Windows10 (宿主机):
     + IP地址:192.168.1.100
2.2 安装docker
  • 详细步骤点击我!
    # 查看是否安装成功(存在Client和Server表示安装启动都成功了,这里已经启动成功了!)
    》》docker version
    在这里插入图片描述
    # 启动
    》》systemctl start docker
    》》systemctl enable docker(设置开机启动,为了安全性不建议!)
2.3 安装docker- compose
2.4 下载Vulhub

》》git clone https://github.com/vulhub/vulhub.git
在这里插入图片描述
# 我是挂上US的 V屁s下载下来通过WinSCP上传上去的(速度快一些)

# 存放在/Kevin/vulhub-master.zip下

# 进行解压缩
》》unzip vulhub-master

三、启动环境

3.1 启动docker

》》service docker start
在这里插入图片描述
# 查看服务是否启动
》》systemctl | grep docker
在这里插入图片描述

3.3 靶场启动
3.3.1 选取环境

# 好比我想复现Apache SSI远程命令执行漏洞
在这里插入图片描述
# 在官网查看漏洞CVE想要复现哪个漏洞需要进入对应漏洞环境的目录下
》》cd /Kevin/Vulhub-master/httpd/ssi-rce
在这里插入图片描述

3.3.2 启动环境

》》docker-compose build && docker-compose up -d(如果第一次在此目录下进行编译运行 [下载启动] 时间会长一些……)
在这里插入图片描述

Tips:

  • T1:
    # 只运行以下命令也可以,因为docker-compose up -d 运行后会自动查找目录下的配置文件,如果配置文件中包含的环境已经存在则不会再编译了,如果不存在会重新编译,因此此命令包含了docker–compose build命令
    》》docker-compose up -d
  • T2:(会使用默认驱动程序创建NAT网段,并编译漏洞镜像,启动响应服务开启端口)
    》》netstat -anpt
    在这里插入图片描述
    》》ifconfig
    在这里插入图片描述
  • T3:如果误更新了配置文件,可以手工执行docker-compose build来重新编译靶场环境!
3.3.3 互ping测试
虚拟机和宿主机

虚拟机(192.168.1.118)- - -宿主机(192.168.30.129)

# 查看虚拟机IP
》》ifconfig / ip addr
在这里插入图片描述
# 查看宿主机IP
》》ipconfig
在这里插入图片描述
# 互ping测试成功
在这里插入图片描述
在这里插入图片描述

宿主机和docker

宿主机(192.168.1.100) - - - 虚拟机(192.168.30.129)- - - docker(172.17.0.1 )

# 虚拟机ping docker(可通)
》》ping 172.17.0.1
在这里插入图片描述
# 宿主机ping docker是ping不通的,因为不在同一个局域网进行通信需要依靠路由进行转发,需要手动对宿主机设置路由
》》route add -p 172.17.0.0 mask 255.255.0.0 192.168.30.129

Tips:为了避免入坑请检查虚拟机是否为NAT模式!
》》route print
在这里插入图片描述

宿主机连接测试

》》ping 172.17.0.1
在这里插入图片描述

3.3.4 靶场访问

# 浏览器访问172.17.0.1:8080/upload.php 成功!
在这里插入图片描述

3.3 靶场关闭

》》docker-compose down

Tips:(关闭靶场会执行:)

  • 关闭容器
  • 删除所有相关容器
  • 移除NAT(docker-compose运行时候创建的NAT网段,但不会移除编译好的漏洞镜像,下次再执行docker-compose up -d命令,就不需要再次编译相关镜像了)

参考:https://vulhub.org/#/docs/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐