使用Docker环境快速搭建靶机环境

2017 年 8 月 14 日 FreeBuf pageuo

在实际学习中,经常需要模拟不同的漏洞环境,而使用公网的实例的话,多多少少又存在一些风险,因此能搭建一个本地的模拟环境去测试漏洞是一个不错的方案。Docker是近两年来十分流行的开源容器引擎,因此也出现了很多使用Docker容器搭建的靶机环境供新手学习和使用。

这次我们来介绍两款使用docker进行搭建的集成了各种漏洞的靶机环境:

1. 由Phithon维护的Vulhub

项目地址:https://github.com/phith0n/vulhub

Vulhub是一个面向大众的开源漏洞靶场,无需Docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。

2. 由 Medicean 维护的Vulapp项目地址:https://github.com/Medicean/VulApps

Vulapp收集各种漏洞环境,为方便使用,统一采用 Dockerfile 形式。同时也收集了安全工具环境。

下面来介绍下如果用Docker去搭建Vulhub和Vulapps

搭建Vulhub

准备环境:

以下在Ubuntu16.04中操作

1.在ubuntu16.04中安装pip

curl -shttps://bootstrap.pypa.io/get-pip.py | python3

2.安装docker

apt-get update && apt-getinstall docker.io

3.启动docker服务

service docker start

4.安装compose

pip install docker-compose

拉取vulhub

由于国内“不可描述的”原因,使用git clone拉取vulhub可能出现各类不可描述的情况。因此建议直接从github上下载项目就好了

当然,如果你的网络足够稳定的话,也可以使用下面的命令进行拉取。

git clone git@github.com:phith0n/vulhub.git

这里以struts环境为例,打开struts2下的s2-016目录

cd vulhub/struts/s2-016

在线自动化编译docker环境

docker-compose build

注意:

docker自身出错的情况,多出现在使用的docker/docker-compose版本较老时出现的BUG,最好使用最新版docker测试vulhub项目。源码编译失败的情况也可能出现,vulhub中的环境全部基于官方镜像编译,官方镜像可能会更新与升级,linux系统升级后可能造成编译上有一定差别,部分老原来就可能编译不成功了。

如果反复出现编译不了的情况的话,建议使用作者已经编译好并传到dockerhub的镜像:

https://hub.docker.com/u/vulhub/

使用方法是将docker-compose.yml里build: .替换成image:vulhub/xxxx

启动docker环境

docker-compose up -d

这时访问http://your-ip:8080/link.action就可以看到环境已经搭建好了。

这时再去使用struts2的利用工具就可以愉快的测试漏洞了

特别需要注意一点的是,vulhub里的漏洞并不是每一个都需要编译的,建议在运行之前到github上去看下关于特定漏洞的配置说明。

搭建Vulapp

对于没有docker基础的新手,建议使用vulapp的在线拉取镜像。如果国内访问速度很慢的话,建议将docker源替换成国内源:

推荐使用中科大源,替换方法可以参考中科大的说明文档。

Vulapp中每一个漏洞的readme.md文档中包含了详细的安装过程只需按照说明去拉取进行并启动环境即可。

按照使用说明教程搭建了wordpress的phpmailer漏洞复现环境

总结

虽然这里只是使用了github中开源的漏洞复现环境进行了介绍,但是也给很多新人学习漏洞和渗透测试的一个新的思路。Docker可以说是近两年一个特别火热的话题,它以轻巧、简单、开源著称,对于新人来说,使用docker去快速搭建一个靶机环境进行测试莫过于成本最低的一个方法,然而对于不太熟练docker的新手来说,vulapp和vulhub又是一个极为节省时间且十分高效的一个方案。

Vulhub和vulapp都是非常不错的一套靶机环境,这两款靶机环境都涵盖了最近一段时间比较流行的漏洞。特别值得一提的是vulapp不仅仅包含了漏洞还包含了漏洞利用的工具,这也给新人搭建环境测试漏洞提供了便利。这里也要给vulhub和vulapp的维护者点个赞,这两套靶机环境的最近更新时间均为半个月之内,同时也涵盖了最近两个月的漏洞,需要感谢他们的开源才使得更多新人能够更快学到更多知识。

*本文作者:pageuo,转载请注明来自FreeBuf.COM

登录查看更多
1

相关内容

Docker - An open platform for distributed applications for developers and sysadmins.
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
《深度学习》圣经花书的数学推导、原理与Python代码实现
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
谷歌足球游戏环境使用介绍
CreateAMind
33+阅读 · 2019年6月27日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
A Survey on Edge Intelligence
Arxiv
51+阅读 · 2020年3月26日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Phrase-Based & Neural Unsupervised Machine Translation
Arxiv
3+阅读 · 2018年5月28日
Arxiv
8+阅读 · 2018年5月1日
Arxiv
6+阅读 · 2018年2月26日
Arxiv
7+阅读 · 2018年1月30日
VIP会员
相关资讯
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
谷歌足球游戏环境使用介绍
CreateAMind
33+阅读 · 2019年6月27日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
相关论文
A Survey on Edge Intelligence
Arxiv
51+阅读 · 2020年3月26日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Phrase-Based & Neural Unsupervised Machine Translation
Arxiv
3+阅读 · 2018年5月28日
Arxiv
8+阅读 · 2018年5月1日
Arxiv
6+阅读 · 2018年2月26日
Arxiv
7+阅读 · 2018年1月30日
Top
微信扫码咨询专知VIP会员