网络安全

Kail Linux 使用Docker 搭建漏洞靶场:Vulhu

2019-07-11  本文已影响96人  这是什么娃哈哈

一、Docker简述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

优点:

更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。)

更轻松的迁移和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)

更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)

二、环境搭建

1、安装docker

配置环境:Kali 2.0

查看Linux系统内核信息:

uname -a

我本次安装的系统如下:


image.png

下面开始安装:
添加更新源:

vim /etc/apt/sources.list.d/backports.list
deb http://http.debian.net/debian wheezy-backports main

更新APT软件包索引:

apt-get update 

如果之前有安装过docker,则先删除旧版本:

apt-get purge lxc-docker*
apt-get purge docker.io*
apt-get update

确认APT添加了https协议和CA证书:

apt-get install apt-transport-https ca-certificates

添加一个新的GPG密钥:

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

因为Kali2.0是基于Debian Wheezy版本,添加更新源,增加相关内容:

vim /etc/apt/sources.list.d/docker.list
#Debian Wheezy
deb https://apt.dockerproject.org/repo debian-wheezy main

保存后,再次更新APT软件包索引:

apt-get update

确认APT能从正确的repository仓库拉取内容:

apt-cache policy docker-engine

正式安装docker:

apt-get update
apt-get install docker-engine

启动docker服务:

service docker start

安装compose:

pip3 install docker-compose

验证安装,运行测试:

docker run hello-world

界面显示如下,表示成功安装:

image.png

查看版本:

root@kali:~# docker version
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:13:40 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:13:40 2017
 OS/Arch:      linux/amd64
 Experimental: false

接下来,开启 docker 的折腾之路!

2、下载环境**

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

vulhub网站:http://vulhub.org/

仓库地址:git clone https://github.com/vulhub/vulhub.git

直接下载地址:https://github.com/vulhub/vulhub/archive/master.zip

root@kali:~# git clone https://github.com/phith0n/vulhub.git

image

3、启动docker并设置开机自启动**

root@kali:~# service docker start

root@kali:~# update-rc.d docker enable

三、使用vulhub靶场

1、查看Vulhub
现在进入vulhub目录,可以看到很多测试环境目录,每个环境目录下都有相应的说明文件。


image.png

2、 选定测试目录
进入测试靶场目录,这里我们想测试struts2-016漏洞,可以先看下struts2目录下现有的漏洞测试环境。随后进入s2-016 目录。
3、编译靶场环境
root@kali:~/vulhub/struts2/s2-016# docker-compose build
备注:这里最好挂上小飞机,不然会让你怀疑人生


image.png
4、启动整个环境
root@kali:~/vulhub/struts2/s2-016# docker-compose up -d
image.png

5、测试环境
完成后,我们测试下访问web页面,这说明测试环境正常。这里的IP地址为kali虚拟机的IP地址:


image.png

6、删除环境
测试完毕之后,使用docker-compose down 即可结束服务,使环境变为初始状态。
docker-compose down

上一篇下一篇

猜你喜欢

热点阅读