永恒之蓝漏洞介绍
是一个利用Windows系统SMB协议漏洞的网络攻击工具,可以通过SMBv1和NBT中的远程代码执行漏洞,利用TCP的445和139端口进行攻击。攻击者可以通过恶意代码扫描并攻击开放445端口的Windows主机,从而在目标主机中植入勒索病毒、远程控制木马等恶意程序。
SMB(Server Message Block)协议是一种用于共享文件、打印机和其他资源的网络协议。它工作在应用层和会话层,可以在TCP/IP协议之上运行,使用TCP 139和445端口。
受影响的Windows版本
包括但不限于:Windows NT、Windows 2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8、Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
复现环境
攻击机:kali
靶机;win7家庭版(关闭防火墙,开启445,139端口)
复现过程
kail中输入msconsole打开Metasploit
搜一下ms17-010的可利用模版
scanner/smb/smb_ms17_010这个是用于检测系统是否有可利用的ms17漏洞的模版我们使用它
使用options命令查看一下所需要的设置。
其中required标明的是是否需要该参数,其中RHOSTS是目标靶机的ip地址,这个没有默认值,我们设置一下靶机的ip。
之后就可以输入run命令进行检测了
遇到的问题
第一次攻击时显示 Host does NOT appear vulnerable.
刚开始也很纳闷,防火墙也关了,靶机也能ping通,就是报检测不到可利用的漏洞
参考了一下这个师傅的文章使用msf发动攻击后显示-Host does NOT appear vulnerable.的问题-CSDN博客
感觉应该是vmtools的问题vm卸了发现可以找到利用点了
接着我们搜索一下可利用的exp。
选择使用 exploit/windows/smb/ms17_010_eternalblue 模版,同样设置一下靶机ip。
接下来我们需要设置一下攻击所使用的payload,同样搜索一下。
太多了!!!
因为我们需要反向连接windows的shell所以需要找到并使用windows/x64/meterpreter/reverse_tcp这个payload。
Meterpreter的Reverse TCP反向连接是一种常见的渗透测试技术,主要用于在目标系统和攻击者之间建立隐蔽的通信通道。
Reverse TCP反向连接的核心思想是由目标主机主动向攻击者的监听主机发起连接,而非传统的攻击者直接连接目标主机。这种方式可以绕过目标主机的防火墙或NAT限制,因为大多数防火墙允许出站连接。
使用windows/x64/meterpreter/reverse_tcp设置一下payload。
之后就可以开始测试了,输入run命令。
出现meterpreter就说明成功了。
我们尝试输入sysinfo查看靶机的系统信息
输入shell命令就可以拿到win7系统的shell
拿到shell后尝试输入一下系统命令。
可以看到能够正确执行命令。
乱码问题
由于Linux下面汉字默认是UTF-8编码,Windows下汉字使用的是GBK系列编码,因此在linux的shell中显示windows的内容会出现乱码。
使用chcp 65001 这条语句即可解决。