ARMIS研究小组发现了新的方法来利用以太网电缆中的漏洞,该漏洞以前被认为是不可利用的。名为“EtherOops”的攻击载体包括利用以太网电缆中的数据包攻击的方法。这些方法可用于绕过防火墙和NAT等周边安全设备。绕过这些防御措施可使攻击者发动各种攻击,以:
虽然此攻击载体很复杂,可能会被复杂的攻击者(如民族国家行为者)利用,但它的目标是所有网络中使用的最基本的元素-以太网电缆。在某些方面,以太网Packet-in-Packet攻击可能与有时被归因于投机性执行漏洞的某些特征相似。一方面,这是一个非常复杂的攻击,需要一定的前提条件才能成功。但另一方面,攻击的目标是我们在数字生活中完全信任的基本组件-CPU本身,在投机性执行漏洞的情况下,以及在我们的网络中使用的以太网电缆,在EtherOops的情况下。这两种攻击都需要一些独创性才能成功,但如果成功,攻击者可以利用它们来突破非常强大的障碍。
加入Armis研究人员Ben Seri和Greg Vishnepolsky的行列,他们将于8月6日星期四美国太平洋标准时间上午10点在2020黑帽大会上公布他们的发现。在讲座中,Ben和Greg将演示可能发生以太网数据包条件的一组情况。
以太网(也称为IEEE 802.3)是用于在内部网络内传输数据包的底层协议,它自20世纪80年代就出现了。它不仅是以太网电缆使用的数据链路层(发音大概是:p),而且也是Wi-Fi使用的MAC寻址方案的基础。Wi-Fi接入点使用以太网连接到网络,它们的部分作用是将有线网络中的以太网帧转换为空中Wi-Fi帧。因此,有线和无线网络都依赖于以太网。
企业网络的设计由多层屏障(防火墙、NAT)、中继站(交换机、路由器)和端点组成。连接这些元件的管道(在大多数情况下)是以太网电缆。此设计中存在的一个非常基本的基本假设是,从一个点发送到另一个点的以太网数据包要么会按原样接收,要么会被丢弃。包中包攻击通过滥用边缘情况来挑战这一基本假设,在边缘情况下,包可能在路由中改变,但在另一端仍被作为有效包处理。当这些边缘情况发生时,包可能通过防火墙,例如,作为合法的、良性的包,稍后被重新解释为也可能是恶意的新包。
最终,如果攻击者能够在内部网络内发送完全受控制的以太网数据包,他或她可能会有很大的危险隐患。这是因为人们期望内部网络以各种方式被视为“安全区”。但它们并不总是“安全的”。例如,攻击者可能会滥用DNS和代理配置,这些配置在设计上是通过内部网络内未经验证的广播数据包分发到端点的,从而在Web流量上占据中间人的位置,并将其用作进一步攻击的突破口。
以太网数据包中的数据包攻击的工作原理是,当传输中随机出现误码时,攻击者可以利用和滥用它们,在数据包以某种方式出现时注入完全受控的数据包。
攻击者以尽可能快的速度发送大量良性数据包,这些数据包被其周边安全防御系统(防火墙/NAT)允许进入网络。这些数据包将封装数据包中的有效负载,并将在以太网电缆上穿越网络,该电缆可能会遇到随机误码-要么是由于布线不完善,要么是由于恶意干扰攻击(稍后将对此进行详细介绍)。
然后,攻击者将在线路上等待数据包的以太网低级成帧报头中的某个字节出现比特错误。
当发生这种情况时,它可以欺骗另一端的以太网控制器将数据包的有效负载(即攻击者控制的)解释为一个全新的数据包。这将允许攻击者控制注入数据包的低级报头-实质上是发送完全控制的以太网帧。否则,防火墙/NAT解决方案会阻止这些类型的数据包。
这三个步骤是以太网包中包攻击的基础,虽然此攻击有相当多的前提条件,但它可以让攻击者绕过其周边安全设备(防火墙/NAT),在内部网络内发送完全受控制的以太网包。由于此攻击依赖于传输过程中发生的随机位翻转,因此可以合理地假设,利用此方法的攻击者会利用单个注入的数据包在网络中站稳脚跟。这可以通过利用单个广播数据包(例如CDPwn和紧急/11,但也存在其他数据包)触发的某些RCE漏洞来实现。此外,攻击者还可以利用网络工作方式固有的某些设计缺陷,并在网络中各种端点的DNS和HTTP请求上建立中间人位置。例如,这可以通过滥用某些广播IPv6数据包来建立(在下面的技术白皮书中有更多介绍)。
但是,在攻击者能够使用此攻击注入以太网数据包之前,他需要跳过此攻击所依赖的几个环节。
如上所述,此类攻击需要一些前提条件才能成功,这就是它更容易被老练的攻击者利用的原因。其中一些前提条件在过去被认为是不可能克服的,我们的研究已经发现了各种挑战它们的方式。
此攻击的第一步需要通过防火墙/NAT发送良性数据包流,希望其中一个(或多个)数据包稍后会以某种方式损坏,从而触发数据包中的情况。要通过防火墙/NAT发送数据包流,攻击者可以选择以下两种攻击方案之一:
可以使用单击攻击方案,即向内部网络内的目标用户发送一个指向攻击者网站的链接。通过按下该链接,目标设备将向攻击者的网站(在Internet上)创建传出流量,这将允许攻击者在很长一段时间内(例如,即使在目标的浏览器关闭之后)将良性数据包流发送回目标。
如果攻击者能够从目标组织使用的DNS解析器的IP伪造DNS响应数据包(例如,在许多情况下,将使用Google的DNS解析器),也可以使用零点击攻击方案。使用此方法的攻击者需要猜测16位数字(DNS请求的源端口)才能成功通过防火墙/NAT,这可以通过暴力破解来实现。但是,检测到他尝试是否成功需要一个旁通道(稍后会详细介绍-在下面详细介绍的邻近EMP攻击场景中)。
要使此攻击起作用,需要在目标以太网电缆上随机发生位翻转。事实上,过去研究人员认为这种攻击不太可能发生在有线电缆上,因此对这种类型的攻击不屑一顾。在2013年的一次题为“完全任意802.3数据包注入”的黑帽谈话中,研究人员认为这种攻击不切实际,原因如下:
“…。有线电缆的可靠性和极低的错误率使得(以太网包中包攻击)不切实际。“。
我们对ARMIS运营的各种组织中的以太网电缆进行了调查,以查明这一共同信念是否属实。我们惊讶地发现,以太网电缆中的缺陷实际上要普遍得多。利用来自企业网络中使用的大约500K交换机端口的数据,我们发现其中约3.7%的端口经历了大量的误码。根据行业标准,例如,千兆以太网电缆中允许的最大误码率(BER)为100亿比特中的1比特错误。我们调查中确定的高错误率电缆是指误码率大于行业标准定义的最大误码率的电缆。在这些类型的电缆中,数据包中的攻击可能在合理的时间内(数小时或更短)发生。
当网络中存在不完善的布线时,可以执行完全远程攻击,并依赖于这样的电缆会发生位翻转这一事实。这些位翻转将允许攻击者获得通过防火墙和NAT的入口。一旦进入网络,设备操纵或数据外泄的机会就会增加。
当我们查看客户群的不同细分市场时,我们注意到它们之间的错误率各不相同:
在遇到中等错误的千兆以太网电缆中,位可能每10秒翻转一次,然后在几个小时内就会出现包中包的情况。在出现大量错误的千兆以太网电缆中,几分钟内就会出现包中包的情况!
攻击者克服以太网电缆中随机发生位翻转的前提条件的一种方法是,简单地将目标对准可能使用不完美电缆的组织,并希望他发送到网络的良性流量通过其中一条电缆。另一种方法依赖于在无故障电缆中诱导位翻转的能力,这也是我们已经探索过的(稍后将对此进行更多介绍)。
当位翻转确实发生在以太网传输上时,在以太网的成帧报头中存在校验和机制,即检测这种位翻转并丢弃损坏的分组。试图利用以太网包中包攻击的攻击者可以通过使内部包(将被重新解释为全新包的包)和原始包具有相同的校验和来克服此机制。如果攻击者事先知道以太网数据包的全部内容,这样他就可以预测该校验和的值,就可以做到这一点。
为此,必须确定目标设备及其最近路由器的MAC地址。然而,这并不像听起来那么不可能。Mac电脑不是什么秘密。以下是如何识别MAC地址的几个示例:
防火墙的物理端口将有相邻的Mac。位于DMZ网段中的攻击者-距离防火墙只有一跳(不是在互联网上)-可以推断内部网段的端口使用的MAC。
Wi-Fi通过空中暴露MAC地址。当WPA2加密流量时,MAC地址以明文显示。这些暴露的MAC与AP后面的有线LAN上的MAC相同(AP桥接到LAN)。因为MAC地址永远不会改变,所以在攻击之前访问一个站点一次就足够了。
如上节所述,利用以太网包中包攻击的攻击场景之一是1次单击攻击场景。此场景从攻击者向目标网络内的用户发送恶意链接开始,该链接导致攻击者控制的网站。用户机器上的浏览器将向外发送数据包到攻击者的服务器,这将允许攻击者向目标发送回穿越网络的良性数据包流。
此场景中的攻击者从Internet操作,不需要在物理上接近目标。但是,它要求攻击者事先从目标获取MAC地址的知识,并且良性数据包经过的其中一条电缆要经历足够的位翻转,因此才会出现数据包中的情况。
在下面提供的演示中,发生了上述场景。一旦攻击者能够将以太网数据包注入内部网络,他就会滥用上述IPv6数据包(IPv6路由器通告),通过注册虚假搜索域和滥用Windows代理自动发现(WPAD)功能,在LAN中的所有Windows设备上创建中间人位置。通过使用已建立的MITM位置,这可以更好地控制网络和设备。请务必注意,Windows设备(即使在IPv4网络中)默认启用IPv6和WPAD。
虽然我们的研究表明,有故障的电缆容易受到正常、合理的背景电磁干扰(EMI)噪声的影响,但我们确实提出了这个问题,“但不合理的噪声怎么办?”我们假设,携带已经衰减的信号的非屏蔽电缆可能会对更高水平的EMI变得敏感。有些人知道,有一些设备可以发射电磁脉冲,可以造成这种类型的破坏-电磁脉冲武器。这些设备通常使用100 MHz-2 GHz之间的宽带脉冲来干扰任何超过5厘米左右的布线。
通过研究一些关于电磁脉冲“模拟”的公开研究,我们能够创造出我们自己的小规模电磁脉冲装置来进行对照实验。我们需要将其设计为执行以下操作:
结果是一种类似于火花隙无线电的东西--最早的无线电发射机类型,发明于19世纪末!它以非常短的脉冲(5-10 ns)以高功率传输约100 MHz的宽带脉冲。放电的频率在1-2 kHz左右。警告:不要在家里做这个,这是相当危险的!
我们能够记录此EMP设备对未屏蔽但无故障的以太网电缆的影响,如下图所示。蓝色和黄色是10米长的以太网双绞线的2根导线中的感应电压。紫色是差动信号。尽管使用双绞线,此脉冲产生的强度和方差会导致差分信号上的电压发生显著变化,从而导致位错误的引入。
如上所述,如果攻击者能够从目标DNS解析器的IP地址伪造DNS回复,则可以创建零点击攻击场景,在该场景中,良性数据包通过目标网络的周边安全防御(防火墙/NAT)。但是,检测到他的尝试是否成功需要一个侧通道--此问题的解决方案是在攻击中结合物理接近元素:
攻击者在Wi-Fi监控模式下监听,并收集潜在目标无线设备及其最近路由器的明文MAC。
攻击者将欺骗的DNS响应数据包从Internet发送到目标网络的外部Internet IP地址,遍历所有可能的16位源端口。同时,他查看空中加密Wi-Fi帧的长度,并使用此侧信道发现通过NAT的正确源端口,并通过Wi-Fi将其发送到目标设备(技术白皮书中对此进行了详细介绍)。
此时,攻击者现在可以将负载可控的良性UDP数据包发送到Wi-Fi AP后面的设备。这些数据包将包含来自Internet的高吞吐量的数据包中的有效载荷。
同时,攻击者打开EMP设备的电源,并等待非屏蔽电缆上发生位翻转。电磁脉冲以高速率连续发出脉冲。一旦发生正确的位翻转,就达到包中包的条件,并注入完全受控的包!
最后,一旦攻击者能够将完全控制的以太网数据包注入到网络中,他就可以执行本博客前面详细介绍的任何单数据包攻击--要么到达易受攻击设备上的RCE,要么利用单个广播数据包(如URGent/11、CDPwn或其他)可能触发的漏洞,或者通过滥用某些广播IPv6数据包在DNS和HTTP通信量上获得MITM位置。
除了这个详细的博客,我们还发布了一份白皮书,更深入地研究了这项研究的许多技术方面。
正如我们的许多研究表明的那样,内部网络不应该被认为是“安全区”。攻击者将使用多个载体绕过周边安全防御。在这里,我们研究了以太网电缆的基本元素,当面临由于布线不完善或由于更复杂、更有针对性的EMI攻击而自然发生的潜在位翻转时。虽然以太网中的Packet-in-Packet的概念早在2013年就已经确定,但当时它被认为是一种不可能的攻击。我们的研究揭示了这是一种可能的攻击的各种方式。复杂吗?是的,但也不是不可能。
这项研究最令人惊讶的因素是,网络性能问题,如网络电缆上经历的误码数量,也可能对网络本身构成安全风险。这要求我们在网络基础设施中开发应对此特定攻击的缓解措施,但也要提供更好的方法来检测以太网通信中可能出现的任何边缘情况。
一如既往,还需要进一步的研究。例如,我们的受控实验,使用EMP设备在无故障的以太网电缆上诱导位错误,没有测试到这种能力的程度。我们还不知道这种能力如果完善了是否会成为一种危险而有效的武器,以及这次攻击可以成功的最大距离是多少。对EMI攻击如何影响以太网电缆的更好理解还远未完成。
同时,ARMIS客户现在可以识别具有显著错误率的活动端口的交换机,并使用风险因素标记这些端口,以防可能的数据包中攻击: