漏洞环境搭建
在进行安全测试的时候,经常需要搭建各种各样、不同配置的漏洞环境。有时候一天不到就能搞定,有时候两三天都没成功。后来发现一个神器:Docer,结合GitHub上面的漏洞靶场可以通过几条命令就能成功”搭建”一个漏洞环境。
准备
本文选用Debian作为操作环境。大家也可以根据自己的操作系统,安装对应Docker。大家可以去Docker官网查看如何安装,也可以去Docker中文看如何安装。
安装Docker
安装Docker之前需要在/etc/apt/sources.list文件中添加backports源。使用Vim命令。(下面所有命令建议在root权限下执行,要不然请在命令前加sudo。)
| 1 | vim /etc/apt/sources.list | 
 添加deb http://http.debian.net/debian jessie-backports main,执行更新操作。
| 1 | apt-get update | 

 成功更新之后,安装docker.io。
| 1 | apt-get install docker.io | 

 查看Docker版本信息。
| 1 | docker --version | 

添加漏洞环境
 接下来就可以使用Docer添加对应的漏洞环境,那么漏洞环境在哪里找勒?这里我推荐两个地址:phith0h、Medicean。
 这里我以Struts2-S2-045为例:[S2-045][https://github.com/Medicean/VulApps/tree/master/s/struts2/s2-045]。
 将环境下载到本地,如果使用命令无法成功下载,那么多下载几次或者设置一下代理(你懂的)。
| 1 | docker pull medicean/vulapps:s_struts2_s2-045 | 

 下载完成之后,启动环境。-p后面的参数是将容器的端口映射到本机的端口,-p 80:8080就是将容器的8080端口映射到本机的80端口,可以自定义修改。
| 1 | docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045 | 
漏洞复现
 使用Exploit工具复现S2-045漏洞。
Docker常用命令
查看所有镜像。
| 1 | docker images | 

 拉取镜像。
| 1 | docker pull | 

 保存镜像。
| 1 | docker save medicean/vulapps:s_struts2_s2-045 > /tmp/s2-045.tar | 

 加载镜像。
| 1 | docker load < /tmp/s2-045.tar | 

 查看正在运行的容器。
| 1 | docker ps | 

 停止容器,使用docker ps查看的id来停止对应容器。
| 1 | docker stop ddedb0cd35e5 | 

 启动容器。
| 1 | docker start ddedb0cd35e5 | 
关闭容器。
| 1 | docker kill ddedb0cd35e5 | 

 删除镜像,如果不知道id可以使用Tab键来进行补全查看。
| 1 | docker rm id | 

总结
使用Docker虽然可以快速的部署漏洞环境,但是这样不容易理解一些由于配置问题导致的漏洞。因此,建议在新漏洞出现之后使用Docker快速复现完成后,自己手工搭建一遍。