Py学习  »  docker

菜鸟阿姨网安技术学习笔记:使用Docker快速搭建靶场

网安杂谈 • 5 年前 • 240 次点击  

注:戴大师勤于学习实践,在领导岗位上还不忘写代码,开发了很多实用工具,菜鸟阿姨十分敬佩。

菜鸟阿姨:我想学习下Struts2漏洞的原理。

戴大师:这个你这水平自己搭个环境可能有点费劲啊!不如试试Vulhub或者VulApps来搭靶场啊!而且使用Docker几句命令就可以快速搭建靶机环境,太适合学习了!

菜鸟阿姨:Docker! 还有这么神奇的东东!Let me try!


0x01 Docker是什么?

Docker是一款针对程序开发人员和系统管理员来开发、部署、运行应用的一款虚拟化平台。Docker可以让你像使用集装箱一样快速的组合成应用、屏蔽代码层面的差异,会尽可能的缩短从代码测试到产品部署的时间。Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

既然都是虚拟化,那么DockerVMWare等传统虚拟化技术的原理有何不同?

l 更快速的交付和部署(使用docker,开发人员可以用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。)

l 更轻松的迁移和扩展(docker容器几乎可以在任意平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。可以在不同的平台轻松地迁移应用)

l 更简单的更新管理(使用Dockerfile,只需要修改小小的配置,就可以替代以往大量的更新工作)

总之,docker灵活方便,搭建一些测试类的靶场是再合适不过了。下面就请戴大师讲解一下,到底怎么搞。


0x02 Docker环境配置


戴大师:我们用深受大家喜爱的kali为例子啊。在虚拟机kali中对docker容器里的vulhub镜像进行访问:kali--->docker--->vulhub;大家安装好虚拟机和kali系统之后,看黑板:


2-1.安装pip


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

 

2-2.安装docker

apt-getupdate && apt-get install docker.io

2-3.clone vulhub

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。官网地址:https://vulhub.org/ 

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

2-4.启动docker

servicedocker start

update-rc.ddocker enable

2-5.检测是否启动

dockerversion

2-6.安装docker-compose

pip installdocker-compose

0x03 使用vulhub靶场

现在进入vulhub目录,可以看到很多测试环境目录,每个环境目录下都有相应的说明文件。



3-1.进入某一个漏洞/环境的目录

 进入测试靶场目录,这里我们想测试struts2-016漏洞,可以先看下struts2目录下现有的漏洞测试环境。随后进入s2-016 目录。


3-2.自动化编译环境

docker-compose build


3-3.启动整个环境

docker-compose up -d

 

完成后,我们测试下访问web页面,这说明测试环境正常



我们可以用struts2漏洞检测工具对其进行检测


3-4.测试完成后,删除整个环境

docker-compose down


0x04 使用宿主机访问docker



戴大师还要给同学们开小灶,假如你想用自己的宿主机访问虚拟机中的docker,有一些操作得会:


4-1.查看docker容器内系统IP


docker ps 找到容器内的对象的ID:3bb7e93ae0ac



docker inspect 3bb7e93ae0ac,显示出容器内系统的IP,如:172.18.0.2

 

4-2.虚拟机IP配置

如为nat方式时,修改虚拟机的IP为同网段IP

宿主机的IP



修改虚拟机中的nat模式的vmnet8的NAT IP


修改虚拟机中的nat模式的vmnet8的DHCP IP
此时,查看虚拟机IP,如此时为192.168.2.2,同宿主主机192.168.2.20


在同一段内,ping 192.168.2.2如果能通,说明修改IP成

4-3.在路由中添加


在windows中添加相应路由即可,以管理员身份运行powershell
ROUTE add 172.17.0.0 mask 255.255.0.0 192.168.209.155
在这里添加路由如下:
ROUTE add 172.18.0.0 mask 255.255.0.0 192.168.2.2
都配置好以后,在宿主机的浏览器中输入 http://docker-ip:port,这里假设为上面查到的IP,http://172.18.0.2:8161/

 



好,戴大师授课完成!菜鸟阿姨表示还要继续领会和实践。起码以后搭靶场,几句命令就OK了,十分方便!怎么样,你学会了么?


参考:

https://blog.csdn.net/relax_hb/article/details/69668815




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ymnh0i5q5v
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/25895
 
240 次点击