• web渗透测试--dock快速搭建各种漏洞环境
  • 发布于 2个月前
  • 168 热度
    0 评论

        软件开发最大的麻烦事之一,就是环境配置。各种环境,各种软件版本,各种插件。有时候某个版本不兼容,或者多人公用一台服务器,各种冲突,各种问题。如果需要多个环境,而手头上又没有那么多服务器资源,怎么办?dock来为你解忧。

    环境配置如此麻烦,费时费力。能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。

答案是肯定的。

    Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

docker 的安装:
我这里是mac下安装,其他环境请自行搜索
1. 进入https://github.com/boot2docker/osx-installer/releases/latest

2. 在下载页面中点击 Boot2Docker-1.8.0.pkg来下载Boot2Docker

3. 双击安装包来安装Boot2Docker

4. 访问“应用程序”→Boot2Docker
你可以运行 docker 命令。你可以运行 hello-word 容器来验证你是否安装成功。
$docker run hello-world

    由于众所周知的原因,用国内的源镜像比较快
方便起见我们还是换用国内的docker源吧:


docker基本命令:

docker run -d -p 80:80 --name webserver nginx 运行容器并起别名
docker ps 展示目前启动的容器
docker ps -a 展示所有容器
docker start 启动容器
docker stop 停止容器
docker rm -f webservr 停止并删除容器,但不会删除镜像
docker images 显示本地拥有的镜像
docker rmi nginx 删除本地images
到这里我们的docker环境就部署完成了,github上有一个特别棒的漏洞靶机项目,收集了各种漏洞环境.

Docker VulApps: https://github.com/Medicean/VulApps

Docker搭建靶机:

    我们就以Zabbix v2.2.x,3.0.0-3.0.3 SQL 注入漏洞环境为例:

docker pull medicean/vulapps:z_zabbix_1# 将漏洞环境pull到本地

docker run -d -p 8001:80 medicean/vulapps:z_zabbix_1# 运行靶机


-p 参数后面的第一个端口号为docker漏洞靶机要映射到本地的哪个端口,第二个端口号为docker漏洞环境的端口。

此时我们访问本机:


测试环境就搭建好啦,我们就可以针对性的去测试漏洞了。

我们以另外一个漏洞s_samba_1
为例,来简述一下过程:

  1. 拉取镜像到本地
docker pull medicean/vulapps:s_samba_1
  2. 启动环境
docker run -d -p 445:445 -p 139:139 -p 138:138 -p 137:137 medicean/vulapps:s_samba_1

msf > use exploit/linux/samba/is_known_pipename
msf exploit(linux/samba/is_known_pipename) > set RHOST 10.128.37.143
RHOST => 10.128.37.143
msf exploit(linux/samba/is_known_pipename) > show options

msf exploit(linux/samba/is_known_pipename) > exploit
    可以搭建各种漏洞的靶机,开始愉快的玩耍吧。

用户评论