社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

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

网安杂谈 • 6 年前 • 257 次点击  

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

菜鸟阿姨:我想学习下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
 
257 次点击