永恒之蓝复现

永恒之蓝复现

概述:永恒之蓝(英语:EternalBlue)是美国国家安全局开发的漏洞利用程序,于2017年4月14日被黑客组织影子掮客泄漏。该工具利用445/TCP端口的文件分享协议的漏洞进行散播。

尽管微软于2017年3月14日已发布补丁修复该漏洞,但在5月12日WannaCry勒索软件利用此漏洞传播时,大量未安装补丁的用户仍然受害。

鉴于WannaCry的严重性,微软罕见地为已终止支持的Windows XP、Windows 8和Windows Server 2003发布了紧急安全更新。

2017年6月27日,勒索软件NotPetya再次利用永恒之蓝漏洞在欧洲传播。与普通勒索软件不同,NotPetya以破坏而非勒索为目的,即使支付赎金也无法恢复文件。真正的Petya作者随后公布了解密密钥,并声明与此次攻击无关。

原理:永恒之蓝利用的是Windows系统文件共享功能中一个严重的远程代码执行漏洞。攻击者无需用户名和密码,只要目标机器的445端口是开放的,就可以通过网络直接发送一段精心构造的数据包,在目标系统上执行任意代码。

核心漏洞:SMBv1 协议中的“缓冲区溢出”永恒之蓝攻击的是Windows的SMBv1服务器消息块协议。这个协议主要用于网络上的文件共享、打印机共享等。漏洞的核心是一个经典的 缓冲区溢出漏洞。

什么是缓冲区?我们可以把缓冲区想象成一个有固定容量的“容器”或“货架”,用来临时存放程序处理的数据。

溢出是如何发生的?在SMBv1协议处理特定的SMB请求(尤其是与文件事务相关的SMBv1 TRANS2请求)时,程序没有正确地检查用户输入数据的长度。

攻击者构造一个超长的、畸形的数据包。

当Windows系统收到这个数据包时,会按照SMB协议去解析它。

由于没有进行长度校验,这个超长的数据会“撑爆”系统预先分配好的那个“缓冲区”,导致多出来的数据覆盖到旁边内存区域。

关键步骤:从溢出到控制仅仅让程序崩溃(造成蓝屏)不是攻击者的目的,他们的目标是控制你的电脑。永恒之蓝通过以下精妙的步骤实现了这一点:

覆盖关键数据,劫持程序流程:被“撑爆”的缓冲区旁边的内存区域,存放着一些关键数据,比如函数返回地址。攻击者精心设计溢出数据,用他们指定的一个内存地址去覆盖这个返回地址。

利用“Shellcode”执行命令:在溢出的数据中,攻击者会嵌入一小段恶意代码,称为“Shellcode”。这段代码的功能通常是:下载并执行勒索软件(如WannaCry)的后端负载,或者在系统上开一个具有高权限的后门。

触发漏洞,跳转到攻击代码:当被攻击的程序(SMB服务)处理完这个畸形数据包,准备返回时,它会去读取那个被覆盖的“返回地址”。这个地址现在指向的是攻击者安排的位置。

内核态权限提升:这里是最精妙也最危险的一步。永恒之蓝利用了一个名为“DoublePulsar”的后门。在溢出发生后,Shellcode并不会直接在用户权限下运行,而是利用Windows内核中的一个机制,将执行流程切换到内核模式。

用户模式:普通程序的运行级别,权限受限。

内核模式:操作系统的核心运行级别,拥有对系统的完全控制权。通过一个精心构造的“任意写入”原语,攻击者可以将自己的Shellcode注入到内核空间,并提升其权限,使其以系统最高权限执行。

攻击流程总结一个完整的永恒之蓝攻击可以概括为以下几步:

扫描:攻击者在网络上扫描开放了445端口的Windows机器。

发送恶意包:向目标机器的445端口发送利用SMBv1缓冲区溢出漏洞的精心构造的数据包。

触发溢出:目标系统的SMB服务处理该数据包,发生缓冲区溢出,关键内存地址被覆盖。

相关推荐

西班牙国 (1936年—1975年)
英国365网站最近怎么了

西班牙国 (1936年—1975年)

08-18 👁️ 4118
2025世预赛亚洲区赛程最新直播时间表(官方图文版)
英国最大赌博365网站

2025世预赛亚洲区赛程最新直播时间表(官方图文版)

07-30 👁️ 5326
淘宝新客首单立减是什么活动?要注意什么?
英国最大赌博365网站

淘宝新客首单立减是什么活动?要注意什么?

08-18 👁️ 3617