一些最具破坏性的勒索软件特洛伊木马恶意软件变体依赖于Windows Server消息块(SMB)中的漏洞通过组织的网络传播。Windows SMB是PC用于文件和打印机共享以及访问远程服务的协议。

2017年3月,微软发布了一个针对SMB漏洞的修补程序,但许多组织和家庭用户仍未应用该修补程序。所以现在,未修补的系统允许利用内部漏洞的威胁,帮助活跃的恶意软件活动像加利福尼亚野火一样蔓延。

SMB漏洞对于威胁行动者来说是如此成功,以至于在过去两年中一些最明显的勒索软件爆发和复杂的木马攻击中都使用了它们。事实上,我们的产品遥测记录了5315次表情和6222年的三角架在business networks中,仅在过去30天内就有两种特洛伊木马变种使用SMB漏洞。

是什么让它们如此有效?

恶意软件传播如此广泛的原因在于它的传播方式。虽然大量的垃圾邮件活动只能使少数受害者,实际上得到了回报,一个蠕虫就像不断传播的感染,几乎不需要付出什么努力就能获得成倍的回报。而这正是SMB漏洞所允许的:通过连接的系统横向传播。

例如,使用SMB漏洞之一的WannaCry勒索软件(也称为WannaCrypt)于2017年5月发布,但感染仍在继续扩大。下面是我们的遥测图赎金。WannaCrypt在…月份2018年11月

这已经超过1.5年了,由于连接到受感染网络的未打补丁的机器数量之多,WannaCry继续扩散。

这是怎么发生的?

目前,有三种利用SMB漏洞的攻击。这些漏洞被称为永恒蓝(WannaCry和Emotet使用)、永恒浪漫(NotPetya、坏兔子和TrickBot)和永恒冠军。还有第四个漏洞叫做“永恒协同”,但我们只看到了概念证明(PoC)——在野外还没有出现任何东西。

所有这些漏洞都被泄露了影子经纪人据称是从国家安全局偷来的。在影子经纪人发布他们的“发现”后不到一个月,第一个使用永恒蓝漏洞的全功能恶意软件WannaCry在野外被发现。

此后,多次大规模恶意软件攻击都依赖SMB漏洞渗透组织网络,包括2017年的NotPetya和Bad Rabbit勒索软件活动,以及现在的Emotet和TrickBot特洛伊木马攻击,这些攻击一直持续到2018年第三季度和第四季度。

现在让我们更深入、更技术性地了解每个漏洞及其工作原理。

EternalBlue

Windows SMB实现将文件扩展属性(FEA)从OS2结构转换为NT结构的过程中出现错误,可能会导致未分页内核池中的缓冲区溢出。这个非分页池由虚拟内存地址组成,只要分配了相应的内核对象,虚拟内存地址就保证驻留在物理内存中。

缓冲区溢出是一种编程缺陷,它使写入保留内存区域(缓冲区)的数据超出边界(溢出),从而允许它将数据写入相邻的内存位置。这意味着攻击者能够控制他们不应该访问的某些内存位置的内容,然后攻击者利用这些内容进行攻击。在EternalBlue的情况下,它们能够控制具有执行权限的堆的内容,从而导致远程代码执行(RCE)漏洞,或者能够通过网络在目标计算机上执行命令。

EternalRomance

永恒的浪漫是一种利用cve - 2017 - 0145针对传统的SMBv1文件共享协议。请注意,SMB上的文件共享通常只在本地网络上使用,SMB端口通常被防火墙阻止与Internet连接。但是,如果攻击者访问了运行SMB的脆弱端点,那么从远程位置运行内核上下文中的任意代码的能力将是一个严重的危害。

这个漏洞的核心是类型混淆漏洞。类型混淆漏洞是一段代码在使用之前没有验证传递给它的对象的类型时发生的编程缺陷。类型混淆可能使攻击者将函数指针或数据输入错误的代码段。在某些情况下,这可能导致代码执行。

在其他情况下,类型混淆漏洞会导致任意堆写或堆喷雾。堆喷洒是一种通常用于将大量代码放置在攻击者希望读取的内存位置的攻击的方法。通常,这些代码位指向攻击者想要运行的实际代码的开始,以破坏受到攻击的系统。

在喷雾完成后,该漏洞使用TRANS_PEEK_NMPIPE事务中的信息泄漏。它使用信息泄漏来确定目标运行的是32位还是64位的Windows版本,并获取用于各种SMB对象的内核指针。

永恒的冠军

EternalChampion利用的问题是SMBv1处理事务的方式中的竞争条件。竞争条件,或竞争危险,是系统的行为,其中输出依赖于其他不可控制事件的顺序或时间。当事件没有按照程序员预期的顺序发生时,就会变成一个bug。有时,当结果是可预测的并且对攻击者有利时,这些错误就会被利用。

同时,事务是一种可能跨越多个包的请求类型。例如,如果一个请求太大而无法放入单个服务器消息块(SMB),则可以创建一个适当大小的事务,并且这将在从多个SMB接收数据时存储数据。

利用该漏洞有两种方式:第一种是信息泄漏,第二种是远程代码执行。该错误首先被利用来通过越界读取泄漏池信息。为此,将一个包含多个smb的包发送到服务器。这个包包含三个相关的片段:

  • 将立即执行的主要事务请求。
  • 触发由竞争条件引起的错误的辅助事务请求。
  • 主要事务集堆喷洒池,目的是将事务结构紧靠在跟踪第一个主要事务请求的事务结构后面。

首先,创建一个包含shellcode的事务。这并不启动攻击,它只包含第二阶段的有效载荷。接下来,发送一个包含多个smb的报文。该包包含所有预期的事务数据,并立即开始执行。

辅助事务处理程序复制辅助事务请求的数据(如果它适合缓冲区)。除竞争条件外,指针现在指向主事务请求处理程序线程的堆栈(与预期的池缓冲区相反)。这允许攻击者将其数据直接写入另一个线程的堆栈。

攻击者可以控制位移,因此他们可以选择要复制的数据量,然后再复制它。这允许它们精确地覆盖存储在主事务请求处理程序的线程的堆栈上的返回地址,并导致远程代码执行的能力。

EternalSynergy

EternalSynergy的概念证明表明,传入的SMB消息由初始处理程序复制到相应的事务缓冲区中。但是处理程序自动假定提供的地址是缓冲区的开头。然而,在写事务期间,将自动假定相同的地址为现有数据的结束,并相应地更新指向缓冲区开始的地址。

这意味着攻击者可以在事务中构造一条辅助消息,使其指向缓冲区的开始之外,从而在复制操作期间导致缓冲区溢出。

EternalRocks

在寻找关于这些SMB漏洞的信息时,您可能还会遇到一个名为EternalRocks的漏洞。永恒之石并未包含在ShadowBrokers发行版中,而是在之后被建造和发现。“永恒之岩”使用了7个NSA工具,而“想哭”只使用了两个(“永恒之蓝”和另一个名为“双星”)。

预防和修复

尽管SMB漏洞为攻击者提供了巨大的力量,但有一种简单的补救方法可以防止它们成为问题。

修补你的系统。

易受攻击的Windows操作系统都早于Windows 10。大多数攻击只对Windows 7及更早版本的操作系统起作用,微软发布了针对Windows 7及更早版本漏洞的补丁微软安全公告MS17-010.这使得网络几乎没有任何理由容易受到这些攻击,但目前受害者的数量是压倒性的。

通过应用微软在2017年发布的补丁,你永远的烦恼都会神奇地消失。对于额外措施,我们还建议您尽快修补和更新所有系统、浏览器和软件,以支持网络中任何其他潜在的漏洞。

此外,许多网络安全解决方案,包括必威平台APP伪端点保护,提供创新的反利用技术,可以阻止诸如EternalBlue之类的威胁不断丢弃有效载荷并感染系统。

例如,Malwarebyt必威平台APPes的防漏洞模块检测到WannaCry为赎金。WannaCrypt从一开始。下面,我们利用遥测技术制作了一张热图,显示了感染的起始位置以及在全球的传播速度。

大多数网络安全指南都建议用户快速打补丁并保持系统更新,这是有充分理由的。因此,通过持续的监控和基本的计算机维护,今天看到的许多感染是可以避免的。不幸的是,许多企业认为他们没有时间或人力来遵循这一建议。但是,当公司不保护他们的网络时,他们就会损害我们所有在线体验的完整性——尤其是当SMB漏洞允许感染如此迅速地传播时。

不要成为这些公司中的一员。得到保护和保持更新!