*本文中涉及到的相關漏洞已報送廠商並得到修復,本文僅限技術研究與討論,嚴禁用於非法用途,否則產生的一切後果自行承擔

概述

Armis研究團隊在VxWorks中發現了11個零日漏洞,VxWorks可能是使用的最廣泛的操作系統。 VxWorks被超過20億臺設備使用,包括關鍵的工業,醫療和企業設備。

被稱爲“URGENT/11”的漏洞存在於VxWorks的TCP / IP堆棧(IPnet)中,影響自6.5版本以來的所有版本。但不會影響安全認證產品版本–VxWorks 653和VxWorks Cert Edition。

其中六個漏洞被歸類爲關鍵漏洞並可遠程執行代碼(RCE)。其餘漏洞爲拒絕服務,信息泄露、邏輯缺陷。 URGENT/11被攻擊會造成很嚴重影響,因爲它使攻擊者能夠接管用戶設備,甚至可以繞過防火牆和NAT等安全設備。導致攻擊者可以將惡意軟件傳播到網絡內部中去。這種攻擊威力極大,類似於EternalBlue漏洞,可用於傳播WannaCry惡意軟件。

建議運行VxWorks設備的製造商檢查公司安全中心發佈的Wind River Security Alert中的最新更新,並立即對其進行修補。有關URGENT/11漏洞的完整技術細節可以在URGENT/11 技術白皮書 中找到。

VxWorks:實時操作系統

VxWorks是世界上使用最廣泛的實時操作系統(RTOS)。 RTOS由需要高精度和可靠性的設備使用,例如關鍵基礎設施,網絡設備,醫療設備,工業系統甚至航天器。因此,VxWorks有非常廣泛的用途,從PLC到MRI機器,到防火牆和打印機,再到飛機,火車等等。 VxWorks設備還包括西門子,ABB,Emerson Electric, Rockwell,三菱電子,三星,Ricoh, Xerox, NEC和Arris等。

VxWorks於1987年首次發佈,是目前仍在廣泛使用的最成熟的操作系統之一,由於其運行的設備的性質以及升級困難而維護了大量版本。儘管是傳統的RTOS,但只有少數漏洞被發現,沒有一個像URGENT/11嚴重。研究表明, VxWorks的內部工作方式仍處於不明確的狀態,其缺陷也是如此,導致了嚴重的URGENT/11漏洞。其次,RTOS是由許多關鍵設備使用,使得在其中發現的漏洞會更具有影響力。

URGENT/11影響

URGENT/11對目前使用所有VxWorks連接的設備構成重大風險。 有三種攻擊方案,具體取決於網絡設備位置和攻擊者位置。 攻擊者可以使用URGENT/11來控制位於網絡周邊或內部的設備。 即使是遠程登的設備也可受到攻擊並被接管。 或者已經滲透到網絡內部的攻擊者可以使用URGENT/11來定位其中特定設備,也可以通過廣播同時接管網絡中所有受影響的VxWorks設備。

在所有情況下,攻擊者都可以遠程完全控制目標設備,無需用戶交互,區別僅在於攻擊者如何到達目標設備。

場景1——攻擊網絡防禦設備

第一個攻擊情形是攻擊網絡邊界的VxWorks設備,例如防火牆,這些設備可以直接從Internet進行攻擊。使用URGENT / 11漏洞,攻擊者可以對這些設備直接發起攻擊,並對其完全控制,然後穿透到內部網絡。

根據Shodan搜索,有超過80萬的SonicWall防火牆連接到互聯網,表示這些設備正在防護相似數量的內部網絡。使用URGENT / 11和Internet連接,攻擊者可以使用特製的TCP數據包發起直接攻擊,並立即控制所有防火牆,形成的殭屍網絡規模幾乎無法衡量,其內部網絡也會遭到破壞。

場景2 – 從網絡外部攻擊繞過安全防護

第二種攻擊情形會影響任何具有外部網絡連接的VxWorks設備,攻擊者能夠接管此類設備,無論在網絡外圍實施任何防火牆或NAT都難以抵禦攻擊。

攻擊示例:對安全網絡(例如Xerox打印機)內連接到雲的IoT設備進行攻擊。打印機不直接暴露於Internet,因爲它受防火牆和NAT的保護。攻擊者可以攔截打印機與雲的TCP連接,並觸發打印機上的URGENT / 11 RCE漏洞,最終完全控制它。一旦攻擊者接管了網絡中的設備,就可以橫向擴散,控制其他VxWorks設備,如下一個攻擊情形所述。

場景3 – 從網絡內部進行攻擊

在這種情況下,攻擊者已經可控目標網絡內的VxWorks設備。對網絡內其他VxWorks設備的攻擊時,攻擊者不需要目標設備的任何信息,因爲URGENT / 11允許在整個網絡中廣播惡意數據包,攻擊者可以通過廣播數據包攻擊所有存在漏洞的設備。

攻擊示例:醫院中的患者監護儀。它沒有連接到互聯網,但通過滲透網絡,攻擊者可以接管它。另一個例子是可編程邏輯控制器(PLC)。由於plc在受影響的VxWorks上運行,攻擊者使用URGENT / 11漏洞可以在網絡中廣播攻擊,並有效地控制整個工廠,無需任何前期信息收集工作。

技術細節

URGENT / 11是一組11個漏洞,它們會影響VxWorks的TCP / IP堆棧(IPnet)。其中六個漏洞被歸類爲關鍵漏洞並可遠程執行代碼(RCE)。其餘漏洞分爲拒絕服務,信息泄露或邏輯缺陷。由於每個漏洞都會影響網絡堆棧的不同部分,因此會影響一組不同的VxWorks版本。

URGENT / 11是迄今爲止VxWorks中發現的最嚴重的漏洞,在其32年的歷史中僅有13個CVE。 URGENT / 11是一組獨特的漏洞,允許攻擊者繞過NAT和防火牆,並通過未檢測到的TCP / IP堆棧遠程控制設備,無需用戶交互。

如前所述,URGENT / 11由11個漏洞組成,分爲兩類:

六個關鍵漏洞,允許遠程執行代碼

解析IPv4選項時堆棧溢出(CVE-2019-12256)

此漏洞可以由發送到目標設備的IP數據包觸發,廣播或多播數據包也會觸發漏洞。該漏洞在處理IPv4標頭中的IP選項時導致堆棧溢出,從而可以RCE。它不需要在設備上運行任何特定的應用程序或配置。

錯誤處理TCP的緊急指針字段而導致的四個內存損壞漏洞(CVE-2019-12255,CVE-2019-12260,CVE-2019-12261,CVE-2019-12263)

以下漏洞都源於錯誤處理TCP的緊急指針字段,該TCP字段很少出現在如今的應用程序中。攻擊者可以通過直接連接到目標設備上的開放TCP端口,或者通過劫持目標設備的TCP連接來觸發設備對該字段的錯誤處理。一旦觸發,這些漏洞將導致目標設備上的應用程序從系統的recv()函數接收比預期更多的字節,從而導致內存損壞。

由於緊急指針字段是TCP的內置功能,因此路由器,NAT甚至防火牆會完整地傳輸它。即使數據通過多個路由器,NAT和防火牆設備仍然可被攻擊者劫持並用於觸發漏洞。

影響不同VxWorks版本的四種變體:

1、TCP緊急指針 ‘= 0’ 導致整數下溢(CVE-2019-12255),影響VxWorks版本6.5到6.9.3。
2、由於TCP AO選項格式錯誤(CVE-2019-12260)導致TCP緊急指針狀態混淆,影響VxWorks版本6.9.4及更高版本。
3、TCP由於競爭條件引起的緊急指針狀態混亂(CVE-2019-12263),影響VxWorks版本6.6及更高版本。
4、連接到遠程主機(CVE-2019-12261)時TCP緊急指針狀態混淆,影響VxWorks版本6.7及更高版本。

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設備任何TCP連接進行拒絕服務攻擊。可以通過使用現有連接的4元組發送包含某些TCP選項的特製TCP數據包來觸發此漏洞,但不知道該連接的序列號,從而導致TCP連接斷開。

處理未經請求的反向ARP回覆(邏輯缺陷)(CVE-2019-12262)

此漏洞是影響VxWorks 6.5及更高版本的邏輯錯誤,可以允許同一子網上的攻擊者通過未經請求的RARP回覆數據包向目標設備添加多個IPv4地址。這將破壞目標設備的路由表,可能導致其使用的應用程序拒絕服務。多次觸發此漏洞也會導致內存耗盡,從而導致目標設備上的其他執行失敗。

ipdhcpc DHCP客戶端分配IPv4的邏輯缺陷(CVE-2019-12264)

此漏洞是VxWorks內置DHCP客戶端(如果包含)(ipdhcpc)中的邏輯錯誤,該錯誤會影響VxWorks 6.5及更高版本。易受攻擊的設備將接受DH分配給它的任何IPv4地址。

在IGMP解析中的DoS(CVE-2019-12259)

此漏洞是影響VxWorks 6.5及更高版本的拒絕服務漏洞,可能導致目標設在解析本地子網內的攻擊者發送的未經身份驗證的數據包時崩潰。

IGMP信息泄漏(CVE-2019-12265)

此漏洞是影響VxWorks版本6.9.3及更高版本的信息泄漏。可通過上述DHCP客戶端漏洞(CVE-2019-12264)實現。要觸發此漏洞,攻擊者可以將分段的IGMPv3成員資格查詢報告發送到目標設備,使目標數據包堆的信息泄漏,導致IGMPv3成員身份報告發送回攻擊者。

受影響範圍

URGENT / 11漏洞影響自6.5版以來的所有VxWorks版本,不包括認證產品版本,例如VxWorks 653和VxWorks Cert Edition。

受影響的設備的部分列表包括:

SCADA devices
Industrial controllers
Patient monitors
MRI machines
Firewalls
VOIP phones
Printers

除上述設備外,還有大量公開列表可識別哪些製造商使用VxWorks:

Wind River Customer Page
Wikipedia VxWorks Page
SlideShare
Online Presentations

醫療和工業部門可能面臨風險

由於VxWorks常被工業和醫療行業使用,因此它們都處於極其嚴重的風險之中。 受損的工業控制器可能會導致關閉工廠,而監護儀受損會對生命造成威脅。

解決方案

VxWorks更新

使用VxWorks設備的組織和設備製造商應立即修補受影響的設備。更新和補丁信息可在公司安全中心發佈的Wind River Security Alert中找到。

防火牆設置

1、檢測對緊急指針的任何使用。在極少數情況下合法應用程序使用緊急指針會導致一些誤報。
2、檢測包含SYN,URG和FIN標誌的數據包。 這種組合永遠不會出現在合法的TCP流量中
3、檢測包含LSRR或SSRR選項的任何IP數據包。

*本文作者:Kriston,轉載請註明來自FreeBuf.COM

相關文章