漏洞预警|VxWorks影响百万工控设备的6个远程代码执行漏洞分析
2019-07-30 18:54:35 Author: mp.weixin.qq.com(查看原文) 阅读量:287 收藏

漏洞描述

近日,HSCERT监测发现Armis研究团队Armis Labs在VxWorks中发现了11个0day漏洞,这是一个广泛使用的工控操作系统。VxWorks被超过20亿台设备使用,包括关键的工业,医疗和企业设备。被称为"URGENT/11"的漏洞存在于VxWorks的TCP / IP堆栈(IPnet)中,影响自6.5版本以上的所有版本,是过去13年中发现影响操作系统的漏洞中非常严重的一系列漏洞。

7月19日发布的最新VxWorks 7中包含针对所有已发现漏洞的修复补丁。

其中的6个漏洞被归类为关键漏洞可以远程执行代码(RCE),其余漏洞为拒绝服务,信息泄露或逻辑缺陷漏洞。URGENT/11非常严重,因为它使攻击者能够接管无需用户交互的设备,甚至可以绕过防火墙和NAT解决方案等周边安全设备。

这些破坏性特征使这些漏洞很容易利用,它们可用于将恶意软件传播到内网中,类似于永恒之蓝(EternalBlue)漏洞,用于传播WannaCry勒索病毒。


zoomeye测绘发现国内有25046台使用VxWorks的设备:

漏洞分析

VxWorks是世界上使用最广泛的实时操作系统(RTOS),RTOS主要由需要高精度和可靠性的设备使用,例如关键基础设施,网络设备,医疗设备,工业系统和航天器。因此,VxWorks用途非常广泛,从PLC到MRI机器,到防火墙和打印机,再到飞机,火车等等。VxWorks设备的实际应用范围更广,包括西门子,ABB,艾默生电气,罗克韦尔自动化,三菱电子,三星,理光,施乐,NEC和Arris等。

VxWorks于1987年首次发布,是目前仍在广泛使用的最成熟的操作系统之一,并且由于其运行的设备的性质以及升级困难所以一直维护了大量版本。

以前只有少数影响它的漏洞被发现,没有像URGENT/11那样严重的漏洞。很大一部分原因是VxWorks是封闭式的,使得检查非常困难,而且它是一个RTOS,也不怎么受研究界的关注,普通消费者的设备上并不会安装这种系统。

在检查的设备中,几乎没有使用缓解措施:没有ASLR,没有NX,也没有DEP,没有缓解措施使得URGENT/11漏洞更加危险。

URGENT/11是迄今为止VxWorks中发现的最严重的漏洞,在其32年的历史中仅遭受了13个公共CVE。URGENT /11是一组独特的漏洞,允许攻击者绕过NAT和防火墙,并通过未检测到的TCP / IP堆栈远程控制设备,无需用户交互。这是由于漏洞在TCP / IP堆栈中的低级别位置,这使得攻击可以被视为合法的网络活动。此类漏洞不需要对使用网络堆栈的各种设备进行任何调整,这使得它们非常容易传播。

URGENT/11由11个漏洞组成,分为两类严重性:

六个关键漏洞,允许远程执行代码:

解析IPv4选项时堆栈溢出(CVE-2019-12256)

此漏洞可以由发送到目标设备的特制IP数据包触发,即使是广播或多播数据包也可以触发。它不需要在设备上运行任何特定的应用程序,它会影响运行VxWorks v6.9.4或更高版本通过网络连接的任何设备。该漏洞在处理IPv4标头中的IP选项时导致堆栈溢出,从而可以轻松地通过它进行RCE。

由于错误处理TCP的指针字段而导致的四个内存损坏漏洞
(CVE-2019-12255,CVE-2019-12260,CVE-2019-12261,CVE-2019-12263)

以下漏洞都源于错误处理TCP的指针字段。这是一个很少使用的TCP字段,很少在现代应用程序中使用。攻击者可以通过直接连接到目标设备上的开放TCP端口,或者通过劫持源自目标设备出口的TCP连接来触发对该字段的错误处理。

一旦触发,这些漏洞将导致目标设备上的应用程序从系统的recv()函数接收比预期更多的字节,从而导致堆栈,堆或全局数据段变量的内存损坏 ,具体取决于哪个缓冲区被传递给recv()函数。

由于指针字段是TCP的内置功能,因此位于目标设备和攻击者之间的路由器,NAT甚至防火墙会完整地传输它。这意味着即使是通过多个路由器,NAT和防火墙设备从易受攻击的设备传输到Internet的TCP连接仍然可能被Internet上的攻击者劫持并用于触发漏洞。这可以使攻击者不仅能够接管在内部网络中受到保护的易受攻击的设备,而且还可以通过此路径穿透这些网络。
影响不同VxWorks版本的此类攻击的四种变体:

  • TCP紧急指针= 0导致整数下溢(CVE-2019-12255)影响VxWorks版本6.5到6.9.3。

  • 由于格式错误的TCP AO选项(CVE-2019-12260)导致的TCP紧急指针状态混淆影响VxWorks版本6.9.4及更高版本。

  • TCP由于竞争条件引起的紧急指针状态混乱(CVE-2019-12263)影响VxWorks版本6.6及更高版本。

  • 连接到远程主机(CVE-2019-12261)时TCP紧急指针状态混淆影响VxWorks版本6.7及更高版本。

ipdhcpc中的DHCP Offer / ACK解析中的堆溢出(CVE-2019-12257)

此漏洞是易受攻击的设备分析特制DHCP响应数据包时触发的堆溢出漏洞。当它尝试从DHCP服务器获取IP地址时,这些数据包由ipdhcpc(VxWorks的内置DHCP客户端)解析。与目标设备位于同一子网中的攻击者可以等待它发送DHCP请求,并使用特制的DHCP响应快速回复。在这种情况下,等待来自网络的原始DHCP服务器的响应的目标设备很容易被攻击者欺骗,并解析制作的DHCP响应消息。这将导致堆溢出攻击者控制的数据,这可能导致远程代码执行。此漏洞影响VxWorks版本从6.5到6.9.3。

导致拒绝服务,信息泄露或某些逻辑缺陷的五个漏洞:

通过格式错误的TCP选项进行TCP连接DoS(CVE-2019-12258)

此漏洞影响VxWorks版本6.5-VxWorks 7 SR540,并允许对受影响的VxWorks设备的任何TCP连接进行拒绝服务攻击。可以通过使用现有连接的4元组发送包含某些TCP选项的特制TCP数据包来触发此漏洞,但不知道该连接的序列号,从而导致TCP连接断开。

处理未经请求的反向ARP回复(逻辑缺陷)(CVE-2019-12262)

此漏洞是影响VxWorks版本6.5-VxWorks 7 SR540的逻辑错误,并且可以允许同一子网上的攻击者通过未经请求的RARP回复数据包向目标设备添加多个IPv4地址。这将破坏目标设备的路由表,并可能导致其使用的任何TCP/IP应用程序的DoS。多次触发此漏洞也会导致内存耗尽,从而导致目标设备上的其他执行失败。

ipdhcpc DHCP客户端分配IPv4的逻辑缺陷(CVE-2019-12264)

此漏洞是VxWorks内置DHCP客户端(如果包含)(ipdhcpc)中的逻辑错误,它影响VxWorks版本6.5-VxWorks 7 SR540。易受攻击的设备将接受DHCP服务器分配给它的任何IPv4地址,即使该地址是无效的单播地址(多播,广播或其他非法地址)。与上面提到的RARP漏洞类似,同一子网中的攻击者可以强制将无效的IP地址分配给目标设备,将导致错误的路由表,并将破坏目标设备的网络连接。此外,为目标设备分配多播IP地址也会将设备打开到下面描述的与IGMP相关的漏洞。

在IGMP解析中通过NULL解除引用的DoS(CVE-2019-12259)

此漏洞是一个拒绝服务的漏洞,它影响VxWorks版本6.5-VxWorks 7 SR540,并且可能导致目标设备通过本地子网内的攻击者发送的未经身份验证的数据包崩溃。要触发此漏洞,攻击者将首先通过特制的DHCP响应数据包强制在目标设备上分配多播地址。然后可以向目标设备发送IGMPv3成员资格查询数据包,从而导致网络堆栈中的NULL解除引用并导致目标设备崩溃。

IGMP通过IGMPv3特定成员报告造成信息泄漏(CVE-2019-12265)

此漏洞是通过VxWorks 7 SR540影响VxWorks版本6.9.3的信息泄漏。如果设备具有分配给其网络接口的多播地址,则该设备将受此漏洞影响,这可通过上述DHCP客户端漏洞(CVE-2019-12264)实现。要触发此漏洞,攻击者可以将通过多个IP片段分段的IGMPv3成员资格查询报告发送到目标设备。这将导致目标数据包堆的信息泄漏,通过IGMPv3成员身份报告将发送回攻击者。

攻击场景

URGENT/11对目前使用的所有受影响的VxWorks连接设备构成重大威胁。有三种攻击方案,具体取决于网络上设备的位置和攻击者的位置,攻击者可以使用URGENT/11来控制位于网络周边或其中的设备。

即使是远程登陆互联网的设备也可能受到攻击并被接管。或者,已经设法渗透到内网的攻击者可以使用URGENT/11来定位其中的特定设备,甚至可以同时接管网络中所有受影响的VxWorks设备。

在所有情况下,攻击者都可以远程完全控制目标设备,无需用户交互。

场景1:攻击网络的边界防御

第一个攻击情形影响驻留在网络边界的VxWorks设备,例如防火墙。这些设备直接受到来自Internet的攻击,并且设计得非常安全,因为内网的安全依赖于它们。使用URGENT/11漏洞,攻击者可以对这些设备发起直接攻击,对其进行完全控制,然后进入内网。

比如此类攻击会接管在受影响的VxWorks OS上运行的SonicWall防火墙。使用URGENT/11和Internet连接,攻击者可以使用特制的TCP数据包发起直接攻击,并立即控制所有防火墙,积累的僵尸网络规模几乎无法估量,并且会破坏其保护的内网网络。

场景2:从网络外部攻击绕过安全检测

第二种攻击情形会影响任何受影响的具有外部网络连接的VxWorks设备。无论在网络外围实施任何防火墙或NAT解决方案以抵御攻击,URGENT/11漏洞都可以被攻击者利用接管此类设备

比如攻击Xerox打印机,打印机不直接暴露于Internet,因为它受防火墙和NAT解决方案的保护,通过它连接到云应用程序,攻击者可以拦截打印机与云的TCP连接,并触发打印机上的一个URGENT/11 RCE漏洞,完全控制它。一旦攻击者接管了网络中的设备,他就可以横向扩展,控制其中的其他VxWorks设备。

场景3 :从网络内部进行攻击

在这种情况下,由于之前攻击已经位于网络内的攻击者可以发送能够完全控制设备的目标VxWorks设备分组,而无需用户交互。此外,攻击者不需要有关目标设备的任何信息,因为URGENT/11漏洞允许攻击者通过在整个网络中广播恶意数据包破坏所有易受攻击的设备。

以一个仅具有内部网络连接的关键设备:医院中的患者监护仪为例。即使它没有连接到互联网,但通过渗透网络,攻击者可以接管它。虽然人们可能认为将设备隐藏在安全网络中就足够安全了,但攻击者总是有办法进入,如上面的攻击场景所示,攻击者可以使用URGENT/11渗入到内网。

演示漏洞利用,漏洞危害性很大:

Armis Labs团队成功利用了三个使用URGENT/11漏洞的设备。

演示接管病人监护仪

演示接管Sonicwall防火墙

演示接管Xerox打印机

漏洞危害

严重

影响版本

URGENT/11漏洞影响自6.5版以上的所有VxWorks版本。VxWorks已提供补丁更新,可在VxWorks安全中心发布的Wind River Security Alert中找到:

https://www.windriver.com/security/

https://www.windriver.com/security/announcements/tcp-ip-network-stack-ipnet-urgent11/

受影响的设备的部分列表包括:

  • SCADA设备

  • 工业控制器

  • 病人监护仪

  • MRI机器

  • 防火墙

  • VOIP手机

  • 打印机

安全建议

风河VxWorks更新

使用VxWorks部署设备的组织和设备制造商应立即修补受影响的设备,更新和补丁信息:

https://www.windriver.com/security/

https://www.windriver.com/security/announcements/tcp-ip-network-stack-ipnet-urgent11/

SonicWall公司

SonicWall防火墙的更新可在其支持站点上获得。

https://www.sonicwall.com/support/product-notification/?sol_id=190717234810906

对SonicWall防火墙的更新可以成为缓解VxWorks设备暴露于URGENT/11漏洞的缓解措施,识别并阻止可疑的TCP流量,从而保护这些设备免受攻击。

 Xerox打印机

Xerox打印机的更新:

https://security.business.xerox.com/en-us/

由于VxWorks在嵌入式设备中运行,因此它无法安装任何类型的安全代理。因此,最终用户可以采取以下选项抵御针对URGENT/11漏洞的攻击:

  1. 修补所有易受攻击的设备

  2. 通过网络控制尽可能地保护所有易受攻击的设备

  3. 监控所有易受攻击设备的行为

参考信息

https://blog.sonicwall.com/en-us/2019/07/wind-river-vxworks-and-urgent-11-patch-now/

https://www.windriver.com/security/announcements/tcp-ip-network-stack-ipnet-urgent11/

https://armis.com/urgent11/

https://security.business.xerox.com/en-us/

如需帮助请咨询 [email protected]


文章来源: https://mp.weixin.qq.com/s/pqOC2bT9KEE-HZPt11aDUA
如有侵权请联系:admin#unsafe.sh