2017年,Shadow Brokers将从美国国家安全局NSA窃取的软件漏洞利用攻击泄露在网上,之后1个月知名勒索软件WannaCry就席卷全球。现在已经过去2年了,Eternalblue仍然占据着美国的头版头条。本文就Eternalblue和Eternalblue为什么可以不死进行简要分析。

Eternalblue

CVE-2017-0143到CVE-2017-0148漏洞是Windows 7, Windows Server 2008, Windows XP和运行在445端口上的Windows 10系统中使用的Microsoft SMBv1服务器系列漏洞。原始Eternalblue可执行文件中硬编码的字符串表明攻击的Windows版本有:

漏洞影响范围不仅限于Windows系统,还包括使用Microsoft SMBv1服务器协议的设备,比如Siemens超声医疗设备。

Eternalblue本身主要是与漏洞CVE-2017-0144相关,该漏洞通过发送特殊伪造的消息到SMBv1服务器来允许远程攻击者在目标系统上执行任意代码。其他相关的漏洞利用有Eternalchampion, Eternalromance, Eternalsynergy,这些都是被美国国安局NSA相关的APT黑客组织Equation Group标记的。

Eternalblue为什么广泛传播?

SMBv1协议的漏洞已于2017年3月打补丁修复了。但2年过去了,仍然有超过100万联网的设备仍然受到该漏洞的影响。

从全球范围来看,最需要修复的Windows版本为Windows Server 2008和2012 R2版本。

其中有40万受Eternalblue漏洞影响的设备位于美国,其中有超过10万台(约占1/4)设备位于加利福尼亚州,这是美国科技产业的心脏。

目前不仅仅是勒索软件在使用Eternalblue,几乎所有需要蠕虫功能的恶意软件都可以发现Eternalblue的利用。2019年1月,研究人员还发现有加密货币挖矿机通过Eternalblue和Beapy攻击位于中国的企业。

勒索软件在2018年短暂淡出人们实现后,Eternalblue再次成为美国的头条。

Eternalblue如何被使用?

用Eternalblue利用CVE-2017-0144漏洞的技术是NSA开发的,该工具集在网上泄露后,目前已经成为全世界广泛使用的工具了。

为了成功利用该漏洞,未授权的攻击者需要发送一个经过恶意伪造的包给服务器,这也是WannaCry和NotPetya勒索软件能够进行自我繁殖和传播的原因。Eternalblue会允许勒索软件访问网络上的其他机器。攻击者可以利用Equation Group开发Shadow Brokers泄露在网上的DoublePulsar作为payload来安装在有漏洞的目标机器上,并启动勒索软件的副本。

Eternalblue工作原理

Eternalblue依赖于一个名为 srv!SrvOS2FeaListSizeToNt的Windows函数。下面先讲一下SMB工作原理以及如何导致远程代码执行。

SMB (Server Message Block) 是用来从网络上的服务器系统来请求文件和打印服务的协议。在协议的说明中有允许协议来通信关于文件扩展属性的信息,尤其是文件系统中关于文件特征的元数据。

Eternalblue利用了3个不同的bug。第一个是协议尝试映射OS/2 FileExtended Attribute (FEA)列表结构到NT FEA结构来确定需要分配的内存大小的数学错误。错误计算创建了一个整数溢出导致分配的内存比预想的要小,最终导致缓冲区溢出。如果要写的内容太多,额外的数据就会溢出到相邻的内存空间。

利用第二个漏洞可以触发缓冲区溢出,这是由于SMB协议定义的两个子命令SMB_COM_TRANSACTION2和SMB_COM_NT_TRANSACT的差别。如果有太多的数据要包含在一个单独的包中,就需要_SECONDARY命令。TRANSACTION2和NT_TRANSACT的关键区别在于后者调用的数据包是前者大小的2倍。如果客户端使用NT_TRANSACT子命令在TRANSACTION2子命令前发送伪造的消息,就会出现验证错误。如果协议发现接收了2个分开的子命令,就会根据最后接收的包的类型来分配类型和大小。因为最后接收的包比较小,所以第一个包会占用比分配空间更多的空间。

一旦攻击者完成初始的溢出,就可以利用SMBv1中的第3个漏洞来进行Heap Spraying(堆喷射),导致在给定地址分配一块内存。然后,攻击者就可以写入和执行shellcode来控制系统。

Sean Dillon写了一个Ruby脚本可以扫描目标来确定系统是否未修复,并利用所有相关的漏洞。

Eternalblue – Here To Stay

Shadow Brokers泄露的代码中含有其他3个漏洞利用:Eternalromance, Eternalsynergy和Eternalchampion。

如何应对?

截至目前,预防使用Eternalblue的攻击的最重要的事情是确保更新Windows系统来应用MS17-10安全补丁。如果无法更新,可以禁用SMBv1,不要将有漏洞的机器连接到互联网。

永恒之蓝漏洞原理 445_不死的EternalBlue(永恒之蓝)相关推荐

  1. 永恒之蓝漏洞原理 445_新代码漏洞“永恒之黑”该如何警惕?

    中科天齐公司是在中科院计算技术研究所的大力推动下,以中科院计算所国际领先的自主研究成果"软件代码漏洞检测修复平台(Wukong悟空)"为基础组建的高新技术企业. 北京时间3月12日 ...

  2. 永恒之蓝漏洞原理及漏洞复现

    摘要 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含"永恒之蓝"工具,"永恒之蓝"利用W ...

  3. 永恒之蓝漏洞原理及利用

    本文转自行云博客https://www.xy586.top/ 文章目录 摘要 前提需要 原理 漏洞利用 摘要 什么是永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利 ...

  4. 可刑又可拷!永恒之蓝漏洞原理及复现

    一.永恒之蓝介绍 1.什么是永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机. 2 ...

  5. 永恒之蓝漏洞利用(MS17-010)获取shell 及获取靶机屏幕截图

    永恒之蓝漏洞利用(MS17-010) 文章目录 永恒之蓝漏洞利用(MS17-010) 一.永恒之蓝(MS17-010)介绍 二.漏洞利用 1.检测目标主机是否存在MS17-010漏洞 2.使用msf攻 ...

  6. MS17-010(永恒之蓝)漏洞复现和分析

    MS17-010(永恒之蓝)漏洞复现和分析 一.漏洞简介 1.永恒之蓝介绍: 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含&q ...

  7. 永恒之蓝漏洞复现-CVE-2017-0144

    1.原理 永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码.通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需 ...

  8. MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位

    漏洞复现:MS17-010 漏洞利用的条件:1.靶机开启445端口(如果未打开该端口将会攻击失败,百度打开445端口) 2.关闭防火墙 靶机:windows 7(未知X32位还是X64位) ip:19 ...

  9. 永恒之蓝漏洞复现(ms17-010)

    文章目录 一.永恒之蓝(Eternal Blue) 二.复现环境 三.复现过程 1.主机发现 2.进入MSF框架 3.使用ms17-010扫描模块,对靶机进行扫描 3.1使用模块 3.2查看模块需要配 ...

最新文章

  1. 判断字符串格式_Blind_pwn之格式化字符串
  2. ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
  3. Spring中注解大全
  4. 95-190-540-源码-window-清除器(Evictors)-TimeEvitor简介
  5. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)E
  6. Vue——知识体系总结
  7. C#项目中的bin目录和obj目录的区别,以及Debug版本和Release版本的区别(转载)...
  8. 关于一些初级ACM竞赛题目的分析和题解(五)。
  9. ueditor imageup.php,ThinkPHP整合百度Ueditor,thinkphpueditor_PHP教程
  10. CAXA 分解命令x 解决不能选中图形问题。
  11. 互斥事件的概念和公式_相互独立事件与互斥事件的区别
  12. 流行和声(5)minor7和弦
  13. iscroll4升级到iscroll5全攻略笔记
  14. Pandas+Seaborn+Plotly:联手探索苹果AppStore
  15. 用友U8案例教程采购管理后台配置
  16. 第12期《乘风破浪》2月刊
  17. 如何在cmd查看文件内容的MD5值
  18. 判断101-200之间有多少素数
  19. portraiture mac智能磨皮滤镜
  20. 测量block size 为8K ,自动分配的本地管理表空间的位图block一位能管理多少空间

热门文章

  1. 行列式的本质是什么?(附MATLAB代码)
  2. 6个必须掌握的基础配置 - [webpack第一篇]
  3. 淘宝网架构分享总结[转]
  4. IOS UI Automation 学习之常用类,方法和模拟手势
  5. shell编程入门步步高(七、流程控制)
  6. 《写给大家看的设计书》封面评选结果揭晓
  7. python里的π怎么调用_用python计算圆周率π
  8. mysqldump全量恢复_mysql全量备份和快速恢复的方法整理
  9. oracle数据库用户创建_权限分配_以及导入_导出数据,oracle数据库用户创建、权限分配,以及导入,导出数据...
  10. java绘制图形_java绘制基本图形.doc