漏洞环境搭建
在进行安全测试的时候,经常需要搭建各种各样、不同配置的漏洞环境。有时候一天不到就能搞定,有时候两三天都没成功。后来发现一个神器: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快速复现完成后,自己手工搭建一遍。