Vulhub靶机环境搭建

Vulhub地址: Vulhub下载地址

一、所需环境

1、Ubuntu16.04

2、最新版本Docker

二、安装之路

1、下载Ubuntu16.04下载地址(迅雷下载64位,下载快速)PS:千万别用32位,32位环境很多64位程序都不支持。

2、VM安装Ubuntu虚拟机、

选择典型安装,如下图所示:

并且提前装载好ISO,如下图所示:

下一步配置好主机名称,账户和密码,千万别进去配置,不然巨麻烦,你如果不懂可能配置一个小时还没安装好,我这种方法,不需要进去点击任何操作,它自动把系统配置好了,10分钟左右系统就装好了,如下图所示:

如下代表系统安装好了

2、Ubuntu配置

  • 坑点1:Ubuntu虚拟机装好了,默认是没有SSH的,你是无法通过ssh登陆配置的。
  • 坑点2:且默认镜像源是加载CD盘,导致你无法通过apt-get install安装openssh。
  • 坑点3:且默认镜像源是美国的,境内的网络是无法去访问美国源下载,所以需要替换成境内镜像源,
  • 坑点4:但是尴尬点又来了,你想把境内源(内容很多,手打不现实)通过虚拟机拷贝,发现你是无法进行拷贝操作的。
  • 坑点5:Ubuntu默认root账户是随机密码,所以你不知道root什么密码,无法使用root账户进行安装?

解决方案:

Ubuntu国内镜像源:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

sudo apt-get install apt-transport-https ca-certificates software-properties-commonsudo add-apt-repository \

(1) 宿主机搞个国外的VPN(没有VPN就试试运气能不能访问把,哈.哈),让虚拟机通过NAT出去上国外的网,将/etc/resolv.conf的首DNS改成8.8.8.8

(2) 将root密码进行修改
使用sudo passwd命令进行修改,连续输入三次当前账户的密码,root密码就和当前账户密码一样。
然后使用su – root切换到root账户输入root密码进行安装 ,中间必须有空格。

(3) 将默认源/etc/apt/sources.list 加载CD盘的配置删除,就是这行

(4) 删除完毕之后,更新镜像源,使用命令sudo apt-get update 进行更新

(5) 更新完之后,你就可以安装opensssh了,安装opesn命令:sudo apt-get install openssh-serverssh安装完之后,ssh服务自动起来,就可以用xshell连接了

(6) ssh登陆上来,首先切换到root用户,然后将默认源进行备份,将上面的国内源进行替换。cd /etc/apt/ 切换到镜像目录mv sources.list source.yuanshi.list

这时,再用sz命令将本地的source.list上传到当前目录
(7) 输入sz命令提示不存在该命令,按照提示安装即可。
(8) 将默认源替换成国内源之后,随后就更新镜像源,更新命令sudo apt-get update
(9) 这时,你就已经基本配置好Ubuntu环境了,接下来开始安装docker环境。

3、安装docker存储库

(1)安装软件包以允许 apt 通过 HTTPS 使用存储库,输入以下命令安装软件包:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
(2)添加 Docker 官方的 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - header
确保现在系统已经拥有密钥指纹的后八个字符串:9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 ,输入指令:
sudo apt-key fingerprint 0EBFCD88
显示结果:

1
2
3
4
pub   4096R/0EBFCD88 2017-02-22
密钥指纹 = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22

(3)安装docker稳定版仓库:

1
2
sudo add-apt-repository "deb [arch=amd64] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

4、安装docker

(1)更新apt镜像源索引,命令如下:
sudo apt-get update
(2)安装最新版的 Docker CE(docker社区版)
sudo apt-get install docker-ce
(3)如果不想安装最新版的 Docker,可以先查看可安装版本
apt-cache madison docker-ce
显示结果如下:

列表的内容取决于启用了哪个存储库。第二列是Docker版本号。第三列是存储库名称,它指明了软件包来自哪个存储存储库,并通过扩展其稳定性级别。要安装特定版本,需要将本本字符串附加到包名称。
(4)安装指令如下:
sudo apt-get install docker-ce=<VERSION>
(5)通过运行 hello-world 镜像验证 Docker CE 已被正确安装
sudo docker run hello-world
若出现以下信息则表明安装成功:

  • 安装pip,命令如下:
    curl -s https://bootstrap.pypa.io/get-pip.py | python3
  • 安装docker compose
    pip install docker-compose

5、安装vulhub

在根目录下新增一个文件夹,然后下载vulhub解压
下载项目命令:wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip(这里国内下载很慢,可以找我要已经下载好的Vulhub-54Mb)

1
2
unzip vulhub-master.zip
cd vulhub-master

如下,就代表vulhub漏洞环境下载下来了,几乎涵盖百分之80常见可验证漏洞环境。

6、Vulhub使用

这里演示activmq的漏洞cve-2016-3088为例子,Vulhub的便利就是在于不要我们去搭建环境,直接使用docker环境编译漏洞环境,就可启动漏洞环境。
首先进入该漏洞环境命令如下:
cd activemq/CVE-2016-3088/

启动漏洞环境命令
docker-compose up -d
备注:

1
2
3
4
5
docker-compose up -d (推荐)或者 docker-compose build
PS: 为什么 docker-compose build是可选的?
docker-compose up -d运行后,会自动查找当前目录下的配置文件。如果配置文件中包含的环境均已经存在,则不会再次编译;如果配置文件中包含的环境不存在,则会自动进行编译。所以,其实 docker-compose up -d命令是包含了 docker-compose build的。
如果更新了配置文件,你可以手工执行 docker-compose build来重新编译靶场环境。
等待运行结束,即可自动配置好环境,然后运行

下图代表启动成功

使用docker ps可以看到容器已经起来,8181端口,容器ID 2bd961162b0d

使用netstat也可以看到docker 代理监听端口为8161

进入容器内部看看,命令如下:
docker container exec -it 2bd961162b0d /bin/bash
下图代表我们进入activemq虚拟机了,docker就相当于时容器的宿主机。

下图为已经运行的服务,使用http://虚拟机ip:8161

7、弱口令漏洞验证

Activemq后台地址是admin,密码是admin/admin,我们尝试登陆成功。


【重要】测试完毕之后,在漏洞环境目录下使用
docker-compose down -v
即可结束服务,使环境变为初始状态。

其他漏洞参考vulhub的每个漏洞环境描述(README.zh-cn.md),都已经写明漏洞利用方法,写的非常明白详细。

如cve-2016-3088,我们在github的Vulhub找到对应漏洞说明即可验证,如图

该漏洞描述链接:链接地址

8、Dockcer常用命令

1
2
3
4
5
6

docker ps 查看当前开启了哪些docker容器

进入对应容器 docker container exec -it 容器id /bin/bash

docker version 检查版本信息

三、参考链接

1、docker安装

https://blog.csdn.net/diligent_lee/article/details/79098302?utm_source=blogxgwz17

2、vulhub安装

https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md
https://www.freebuf.com/sectool/165062.html