SMB服务漏洞MS17-010渗透测试

1.MS17-010漏洞简介

     MS17-010是微软Windows 系统SMB协议的漏洞。由于某些请求的处理不当,Microsoft Server Message Block 1.0(SMBv1)中存在多个远程代码执行漏洞,远程Windows主机受到以下漏洞的影响:CVE-20170143,CVE-20170144,CVE-20170145,CVE-20170146,CVE-20170148。远程攻击者不需要身份验证就可以利用这些漏洞,通过专门制作的数据包来执行任意代码。

   2017年4月黑客团体影子经纪人(Shadow Brokers)窃取了美国国家安全局一份包含了SMB漏洞利用工具在内的文件,蓄意勒索,最后将其公之于众,吸引一批黑客团体利用这些工具开发成勒索软件对SMB漏洞MS17-010展开攻击,由此暴发了WannaCry勒索病毒事件

2.渗透测试环境

   一个渗透测试实验平台至少得有两台主机,由于条件限制,可以通过使用虚拟机来减少硬件的投入。即在一台宿主主机上安装两个不同的虚拟机镜像来构建一个虚拟的攻防平台。以Kali Linux渗透测试工具的运行平台,同时为了实现网络服务的渗透,引入Windows(微软操作系统)虚拟机镜像搭建目标主机。

搭建渗透测试平台需要准备:

(1)高性能宿主主机

(2)VMware Workstations for Windows

(3)Kali Linux 镜像文件

(4)Windows 镜像文件(win7/x64未打补丁,此版本经验证存在MS17-010漏洞)

  利用上面的虚拟机镜像,在一台高性能的笔记本电脑上就能搭建出完整的渗透测试实验环境。本次选择一台笔记本作为宿主主机,用VMware 作为整个实验环境的底层虚拟化软件支持。在安装好的VMware 上加载Windowsdows 系统镜像和Kali Linux虚拟镜像,完成目标机和攻击机的安装并运行。通过网络配置,关闭防火墙,确保两台主机ping通,到此,已经搭建好一个简单的渗透测试实验平台,网络拓扑如下图

SMB服务漏洞MS17-010渗透测试


3.Metasploit下MS17-010渗透攻击

   通过Nmap漏洞脚本或是漏洞扫描软件Nessus,Nexpose等扫描目标主机,确定对方存在高危可以用漏洞MS17-010。再展开接下来的步骤。

步骤1 在Metasploit中找到MS17-010漏洞渗透攻击模块,如下图,Metasploit中已有两个MS17-010模块,auxiliary为辅助模块,exploit是攻击模块。

SMB服务漏洞MS17-010渗透测试

步骤2 加载exploit模块——配置攻击机和目标主机的IP地址——设置攻击载荷payload——通过exploit执行攻击

SMB服务漏洞MS17-010渗透测试

选择的攻击载荷为Meterpreter类型,因此成功渗透攻击会返回一个Meterpreter会话。

步骤3 返回Meterpreter会话之后,可以通过sysinfo命令查看目标主机系统信息,和目标主机一致,表明渗透攻击成功。

SMB服务漏洞MS17-010渗透测试

Meterpreter命令众多,截屏、键盘记录、上传文件、远程控制等,可自行查阅。

4.渗透测试实验注意

(1)渗透测试环境网络是否满足需求,攻击机和目标主机能互ping是前提

(2)目标主机存在的高危漏洞是否明确,通过漏洞扫描工具识别

(3)exploit攻击模块不仅要和漏洞匹配,还要考虑攻击载荷类型、目标系统操作类型,系统架构等,加载模块之后,可通过show options、show targets、show payloads命令查看

(4)也可能因为网络不稳定导致入侵失败,建议多尝试




   不足之处,欢迎指正~