漏洞环境搭建

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

apt-get update.png
 成功更新之后,安装docker.io。

1
apt-get install docker.io

apt-get install docker.io.png
 查看Docker版本信息。

1
docker --version

docker version.png

添加漏洞环境

 接下来就可以使用Docer添加对应的漏洞环境,那么漏洞环境在哪里找勒?这里我推荐两个地址:phith0hMedicean
 这里我以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

docker pull.png
 下载完成之后,启动环境。-p后面的参数是将容器的端口映射到本机的端口,-p 80:8080就是将容器的8080端口映射到本机的80端口,可以自定义修改。

1
docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045

漏洞复现

 使用Exploit工具复现S2-045漏洞。
exploit.png

Docker常用命令

 查看所有镜像。

1
docker images

docker images.png
 拉取镜像。

1
docker pull

docker pull.png
 保存镜像。

1
docker save medicean/vulapps:s_struts2_s2-045 > /tmp/s2-045.tar

docker save.png
 加载镜像。

1
docker load < /tmp/s2-045.tar

docker load.png
 查看正在运行的容器。

1
docker ps

docker ps.png
 停止容器,使用docker ps查看的id来停止对应容器。

1
docker stop ddedb0cd35e5

docker stop.png
 启动容器。

1
docker start ddedb0cd35e5

 关闭容器。

1
docker kill ddedb0cd35e5

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

1
docker rm id

docker rm.png

总结

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