kali安装Docker搭建漏洞靶场:Vulhub

一、Docker简述1、安装docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。

优点:

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

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

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

二、环境搭建

       1、安装docker

    (1)通过Curl脚本一键安装docker

       curl -s https://get.docker.com/ | sh

     (2)使用Kali 自带源安装(Redhat 使用yum 安装)

       root@kali:~# apt-get update && apt-get install docker.io

2、下载环境

Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。旨在让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

vulhub网站:http://vulhub.org/

仓库地址:git clone https://github.com/vulhub/vulhub.git

直接下载地址:https://github.com/vulhub/vulhub/archive/master.zip

root@kali:~# git clone https://github.com/phith0n/vulhub.git

3、启动docker并设置开机自启动

root@kali:~# service docker start

root@kali:~# update-rc.d docker enable

4、查看Docker 信息

root@kali:~# docker version

5、若没有pip,则需要安装pip

root@kali:~#curl -s https://bootstrap.pypa.io/get-pip.py| python3

6、安装docker-compose

Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。

root@kali:~# pip install docker-compose

注意事项:

1).若安装docker-compose过程中出现:

ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.(错误:无法卸载'PyYAML'。这是一个distutils安装的项目,因此我们不能准确地确定哪些文件属于它,这只会导致部分卸载。)

则将语句改为:pip install docker-compose --ignore-installed PyYAML(即加--ignore-installed PyYAML)。通过 pip 安装 kolla-ansible时,忽略某些依赖,此处为PyYAML。

2).若安装docker-compose过程中出现:

ERROR: docker-compose 1.25.0 has requirement PyYAML<5,>=3.10, but you'll have pyyaml 5.2 which is incompatible.则为兼容问题。执行sudo pip install six --user -U后安装即可。

三、使用vulhub靶场

1、查看Vulhub

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

2、 选定测试目录

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

3、编译靶场环境

root@kali:~/vulhub/struts2/s2-016# docker-compose build

4、启动整个环境

root@kali:~/vulhub/struts2/s2-016# docker-compose up -d

5、测试环境

完成后,我们测试下访问web页面,这说明测试环境正常。这里的IP地址为kali虚拟机的IP地址:

6、漏洞验证

我们可以用struts2漏洞检测工具对其进行检测。记得strtus2的页面为:http://192.168.117.131:8080/index.action


发现其中存在s2-016、s2-045、s2-046 漏洞,这里换k8再测试一下s2-016漏洞,执行命令后结果如下:

7、删除环境

测试完毕之后,使用docker-compose down 即可结束服务,使环境变为初始状态。

docker-compose down

四、宿主机访问Docker

1、查看docker容器内系统IP

root@kali:~/vulhub/struts2/s2-016# docker ps

找到容器内的对象的ID:2707d235e7d5

root@kali:~/vulhub/struts2/s2-016# docker inspect 2707d235e7d5

显示出容器内系统的IP,如:172.18.0.2

2、配置虚拟机IP

保证宿主机(Windows 10)和Kali 2.0 虚拟机在同一网段;

若为桥接模式,不用修改即可,跳过这一步;

若为NAT模式,作如下配置;

修改虚拟机中的NAT模式的vmnet8的NAT IP,配置为和宿主机IP在同一网段;

此时,查看虚拟机IP,如此时虚拟机IP地址为192.168.1.2,同时宿主主机(Windows 10)IP地址为:192.168.1.107

在同一段内,ping 192.168.1.2如果能通,说明IP地址配置成功;

3、添加宿主机到Docker的路由

在windows中添加相应路由即可,将访问Docker容器的路由指向Kali 虚拟机,以管理员身份运行powershell,在这里添加路由如下:

ROUTE add 172.18.0.0 mask 255.255.0.0 192.168.1.2

都配置好以后,在宿主机的浏览器中输入 http://docker-ip:port,这里Docker 的IP地址和端口为上面查到的信息,即:http://172.18.0.2:8080/

在宿主机通过容器IP和端口,成功访问到容器。这样在同时运行多个容器的时候,就可以通过容器IP地址和端口使用了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,941评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,397评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,345评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,851评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,868评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,688评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,414评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,319评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,775评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,096评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,789评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,437评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,993评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,107评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,308评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,037评论 2 355