终于结束了三周出差加班生活,回程路上本想偷懒,但看到某同学高产的博客,决定还是爬起来水一片文章。
在日常漏洞研究分析过程中,配置环境是一件非常繁琐的事情,所以来给大家介绍一下Vulhub,一款基于Docker的快速漏洞环境部署平台。
高能预警,本文全篇为笔者瞎说,不是胡说,不要太过纠结。
可直接略过废话跳最后看命令。
目录
1.Docker介绍
2.Docker常用命令
3.Vulhub介绍
4.Vulhub安装过程
1.Docker介绍
Docker是个啥玩意?它能干啥?我们首先来看看VMware虚拟机,在本地物理机的基础上又虚拟出完整的硬件资源,然后在虚拟环境内运行操作系统,优点暂且不谈,来谈一谈缺点,有小伙伴说开了虚拟机之后物理机电脑好tm卡,内存不够,还有小伙伴说这玩意太占地方了,U盘拷贝一下简直是要了命。。。还有开发的小伙伴说,项目写好后给测试同学时,总会有各种各样的环境问题,而在虚拟机里调试好打包过去又太麻烦了。。。
So,针对上面的缺点自然而然地就介绍到了我们的Docker容器技术,私以为Docker最大特点是体积小、部署便捷,Docker就像在物理机上盖起的一个一个小隔间,虽然彼此隔离开来却又使用着公共物理机资源。虚拟机的痛点可以很方便的用Docker来解决,虚拟机搭建一个linux环境动辄几个G,甚至十几个G,但是Docker不会,没有自己的内核,不用虚拟硬件,Docker下的一个linux环境只有区区几百兆,极大的减少了资源消耗,开发人员可以很轻易的连带着代码和环境一起打包走。第二个特点就是部署便捷,安装虚拟机实际上就相当于重新安装了一个系统,对于Docker来讲,你只需要下载别人打包好的系统镜像至本地运行即可,两行命令,一行下载,一行运行。
2.Docker常用命令
大哥你在上边把Docker都夸出花来了,这玩意咋用啊?
听大哥一句话,别在Windows下面安装Docker,一来其虚拟化和VMware虚拟化不兼容,想用kali就用不了docker,二来就是下载部分镜像的速度真的是让人抓狂。。。强烈建议在某云服务器上进行使用。
(咳咳,打个广告)
(阿某云香港节点服务器24元一个月,1T流量、25G存储、30M带宽可自行搭建代理、搭建反序列化、及其他各种服务)
在Linux下安装Docker可以说是非常便捷了,只需一条命令:
sudo yum/apt-get install docker -y
秉承着我们一贯的“现用现学,用啥学啥”的信念,哥们这里的Docker命令只介绍常用的,有进一步需求的小伙伴出门请出门右转百度。。
(1)搜索镜像
可以直接在https://hub.docker.org中搜索自己想要的镜像,也可以直接在命令行中search自己想要的镜像,比如我想下载一个tomcat的镜像,我对tomcat进行搜索得到以下答案:
搜索结果中有很多tomcat的结果,因为hub.docker.org支持个人用户注册账号上传镜像,根据页面上的描述,我选择下载第一个由tomcat官方推出的tomcat镜像。
(2)下载镜像
镜像下载很简单,直接pull镜像名称即可下载镜像至本地,由于我们使用的是云服务器,通常进度条闪一闪就结束啦!
(3)查看镜像
使用docker images命令查看本地已有镜像,看到了刚刚下载至本地的tomcat
(4)运行镜像
run 运行
stop停止
-d 后台运行
-p 端口映射
如下图所示命令,我启动刚刚下载的tomcat镜像,让其在后台运行,将镜像中的tomcat端口8080映射至物理机的18080端口,千万记得要加端口映射,不然服务运行了之后你都访问不到,后面的是容器内的,前面的是物理机的,成功运行后会返回一串容器ID,用来区分容器,以及访问。
(5)查看容器运行状态
使用docker ps命令查看有哪些容器正处于运行的状态,查看相应的配置。
(6)文件拷贝
tomcat虽然已经运行了,我也能够看到了,但我要把我网站源码部署在tomcat里面运行才行啊,该怎么办呢?这时候我们就需要用到文件拷贝命令,“docker cp 本机路径 容器ID:容器内路径”用法和linux下的cp命令大同小异。
(7)进入容器
虽说我们把网站源码拷贝进去了,但总得改改配置文件什么的吧!我得进容器内看一眼啊,这时候就需要用到容器进入命令“docker exec -it 容器id bash”,从容器内退出时输入exit即可。
3.Vulhub介绍
Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。
大哥你等会,你刚才讲的docker我听了个大概,这docker-compose又是啥啥啥啊?docker-compose是用python写的一个一个docker容器管理工具,可以一键启动多个容器、可以一键日卫星。。。。。。
咱们要先下载漏洞镜像,然后再配置端口映射运行,或者有其它操作,把所有的这些操作都写在docker-compose的配置文件里,我们就可以运行docker-compose来一键执行这些操作,说白了就是方便操作的。
如图所示,左侧是vulhub已经做好的漏洞镜像,右侧则是漏洞介绍与漏洞利用过程。
4.Vulhub安装过程
嘿!再也不用复杂的配置各种漏洞环境了,一键安装!
那么大哥,这vulhub咋么安装呢?
1.安装docker
sudo yum install docker -y
2.安装docker-compose
pip install docker-compose
3.配置docker加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
4.下载vulhub漏洞目录
git clone https://github.com/vulhub/vulhub.git
5.如何使用
进入相应漏洞文件夹执行docker-compose up -d即可
示例:
cd ~/vulhub/struts2/s2-013/
docker-compose up -d
如图所示,漏洞环境就这样一键搭建成功,节省了一大把时间,我们可以更专注于漏洞研究,漏洞环境使用完成记得关闭哦!
docker-compose down
by 粥丶稀稀