Avaya Deskphone:電話韌體中發現的十年舊漏洞 Avaya是第二大VOIP解決方案提供商,其安裝基礎覆蓋了90%的財富100強企業,產品針對廣泛的客戶,從小型企業和中型市場到大型企業。作為正在進行的McAfee Advanced Threat Research正在進行的研究廣泛部署的軟體和硬體中的關鍵漏洞的工作的一部分,我們決定了解Avaya 9600系列IP Deskphone。我們能夠在Avaya可能在10年前複製和修改的一個開源軟件中找到遠程執行代碼(RCE)漏洞,然後無法應用後續安全補丁。影響開源軟件的錯誤是在2009年報導的,但它在手機韌體中的存在直到現在才被忽視。只有H.323軟體堆棧受到影響(與可以與這些電話一起使用的SIP堆棧相對),並且可以在此處找到Avaya安全通報(ASA)ASA-2019-128。 下面的視頻演示了攻擊者如何利用此漏洞來接管手機的正常操作,從揚聲器電話中洩露音頻,並可能“竊聽”手機。當前的攻擊是在手機直接連接到攻擊者的筆記本電腦的情況下進行的,但也可以通過與易受攻擊的手機連接到同一網來進行。完整的技術細節可以在這裡找到,而本文的其餘部分將提供有關如何找到此錯誤的高級概述以及有關其解決方案的一些考慮因素。6月25 日發布的Avaya韌體映像解決了該問題,可在此處找到。作為用戶,您可以驗證您的Deskphone是否容易受到攻擊:首先確定您是否有其中一個受影響的型號(9600系列,J100系列或B189),然後您可以在“關於Avaya IP”中找到您的手機使用的韌體版本使用H.323固件(SIP版本不受影響)時,主菜單6.8.1及更早版本下的Deskphone“屏幕”容易受到攻擊。
研究人員在尋找什麼?在研究嵌入式和物聯網設備的安全性時,研究人員通常會考慮一些目標來幫助他們開展研究。在大多數情況下,兩個主要目標是恢復系統上的文件,以便研究設備如何運行,然後找到一種以特權方式直接與系統交互的方式(超出普通用戶應該能夠的範圍)做)。這兩者可以交織在一起,例如獲得對系統的特權訪問可以使研究人員能夠恢復存儲在其上的文件,而首先恢復文件可以顯示如何啟用特權訪問。 在這種情況下,恢復文件很簡單,但獲得特權訪問需要更多的耐心。 從手機恢復文件當我們說從手機恢復文件時,我們的意思是尋找操作系統及其上運行的各種軟體。用戶文件(例如聯繫人,設置和呼叫日誌)通常不是安全研究人員感興趣的,因此不在此處。要恢復文件,最簡單的方法是查找設備的韌體更新。如果我們幸運的話,他們將免費提供,而不是加密。在大多數情況下,加密韌體不會增加系統的安全性,反而會增加安全研究人員和攻擊者的進入門檻。在這種情況下,我們很幸運,Avaya的網站為其各種電話產品線提供韌體更新,任何人都可以下載它們。下載包含多個tar文件(一種存檔文件格式)。然後我們可以運行一個名為的工具binwalk上提取的文件。Binwalk是一個代表已知文件格式的大型模式詞典; 給定一個未知的韌體文件,它將查找任何已知的模式,並在找到可能的匹配後,將嘗試相應地處理它們。例如,如果它在韌體中找到類似.zip文件的內容,它將嘗試解壓縮它。面對未知的韌體文件時,運行此工具始終是一個很好的第一步,因為在大多數情況下,它會為您識別有用的項目。 在處理手機的韌體時,提取文件並在其上運行binwalk,為我們提供了手機在啟動時運行的程序(引導程序),手機使用的Linux內核,以及包含所有手機二進製文件和配置文件的JFFS文件系統。這是一個很好的開始,因為從那裡我們可以開始了解設備的內部工作並尋找錯誤。然而,在這個階段,我們僅限於執行靜態分析:我們可以查看文件並查看各種二進製文件的彙編指令,但是我們無法執行它們。為了讓生活更輕鬆,通常有兩種選擇。第一個是模擬整個手機,或者至少是一些感興趣的區域,而另一個是獲得對系統的特權訪問,檢查其上運行的內容以及運行調試工具。當您適當地混合和匹配所有這些選項時,會得到最佳結果。為簡單起見,我們將僅涵蓋後者,但兩者都以各種方式用於幫助我們進行研究。 獲得特權訪問權限在大多數情況下,當談到獲得對物聯網/嵌入式設備的特權訪問時,安全研究人員正在尋找一個稱為root shell的管理界面,讓他們以最高級別的權限執行他們想要的任何代碼。有時,一個可以隨時用於維護目的; 其他時候需要更多努力才能獲得訪問權限,假設首先存在一個。這是硬體駭客入侵的時候; 安全研究人員喜歡破解開放設備並使保修失效,尋找潛在的調試端口,廣受歡迎的特權訪問的守門人。 關閉電話的電路板。UART端口為紅色,EEPROM為藍色 在上圖中,我們可以看到兩個標記為UART0和UART1的調試端口。直接暴露銅的這種類型的測試點通常在製造過程中用於對器件進行編程或驗證一切正常工作。UART代表通用異步接收器 - 發送器,用於雙向通信。這是我們可以找到我們正在尋找的管理訪問權限的最有可能的地方。通過購買15美元的電纜將UART轉換為USB並將銲線轉換到測試焊盤上,我們可以看到手機啟動時屏幕上會打印出調試信息,但很快調試信息流就會消失。這是一個奇怪的行為 - 為什麼要停止調試消息? - 所以我們需要調查更多。通過使用反彙編程序將原始字節轉換為計算機指令,我們可以查看先前恢復的引導加載程序的代碼,並發現在引導過程中,手機從外部存儲器中獲取設置,以決定是否應啟用完整的調試功能集在串行控制台上。外部存儲器稱為EEPROM並且很容易在紙板上識別,首先是它的形狀,然後是印在它上面的標籤。電子元件上的標籤用於識別它們並檢索其相關的數據表,技術文檔描述瞭如何從電氣工程的角度使用芯片。在顯微鏡下將電線直接焊接到芯片上,並將其連接到編程器(一個30美元的Gizmo稱為buspirate),允許我們更改存儲在其上的配置並啟用電話的調試功能。 EEPROM可以重新編程 重新啟動手機為我們提供了更多的調試信息,最終,我們受到了我們所追求的root shell的歡迎。 確認我們有一個root shell。在我們調用“whoami”命令時,正在打印不相關的調試消息 替代道路上述方法相當冗長,僅對類似情況下的安全研究人員感興趣。更通用的技術是通過改變閃存存儲(電路板背面的NAND閃存)直接修改文件系統,就像我們之前的研究一樣,然後自動啟動SSH服務器或遠程shell。另一種常見技術是在文件系統加載到內存時篡改NAND閃存,以使引導加載程序處於異常狀態,然後允許研究人員修改Linux內核的引導參數。否則,要獲得遠程shell訪問權限,使用具有已知RCE漏洞的舊韌體可能是最容易考慮的方法; 它可以成為安全研究人員的一個良好起點,並且不會威脅到普通用戶,因為他們應該已經擁有最新的軟體。考慮到所有這些方法,這些方法對最終用戶來說不是風險,而且更像是安全研究人員進行研究的墊腳石。 尋找漏洞獲得對root shell的訪問權限以及對手機上的文件進行反向工程的能力之後,我們面臨著開放式任務,即尋找可能存在漏洞的軟件。當手機運行Linux時,人們可以隨時使用人們用來管理Linux系統的常用命令行實用程序。查看正在運行的進程列表,找到具有網路連接的進程列表等是很自然的。在探索時,很明顯其中一個實用程序dhclient非常感興趣。它已經在系統上運行並處理網路配置(所謂的DHCP請求來配置電話的IP地址)。如果我們在命令行中調用它,則打印以下內容: 顯示描述其預期參數的詳細幫助屏幕是正常行為,但2004-2007版權是一個大紅旗。快速搜索確認4.0.0版本已超過10年,更糟糕的是,漏洞利用定位它是公開的。Dhclient代碼是開源的,因此找到兩個連續版本之間的差異很簡單。研究漏洞利用代碼以及如何修補錯誤有助於我們縮小代碼的哪一部分可能容易受到攻擊。通過再次使用反彙編程序,我們確認手機的dhclient版本確實容易受到2009年報告的錯誤的影響。轉換原始漏洞以使其在手機上工作需要一兩天的工作,同時構建概念驗證證明在上面的視頻是一個小時的問題。實際上,所有用於將音頻從手機傳輸到單獨機器的工具已經存在於系統中,這大大減少了創建此演示的工作量。我們沒有進一步推動開發,而不是上面視頻中顯示的概念證明, 整治在發現缺陷後,我們立即通知Avaya有關如何重現錯誤和建議修復的詳細說明。他們能夠在大約兩個月內修復,測試和發布修補的固件映像。在發佈時,修復程序將超過30天,使IT管理員有足夠的時間部署新映像。在大型企業環境中,首先要有一個測試階段,將新映像部署到所選設備,以確保部署不會產生衝突,這是很常見的。這就解釋了為什麼從補丁發佈到部署到整個機隊的時間表可能需要比消費級軟件中的典型時間更長的時間。 結論物聯網和嵌入式設備往往融入我們的環境,在某些情況下不能保證再次考慮它們帶來的安全和隱私風險。在這種情況下,通過最少的硬體投資和免費軟體,我們能夠發現一個十多年來一直未見的關鍵錯誤。Avaya很快就解決了這個問題,而且這個bug造成的威脅現在得到了緩解,但重要的是要意識到這不是一個孤立的案例,而且多個行業的許多設備仍然運行遺留代碼超過十年。從系統管理的角度來看,將所有這些聯網設備視為運行非託管代碼的小型黑匣子計算機非常重要,這些計算機應該相應地進行隔離和監控。McAfee Network Security Platform(NSP)將此攻擊檢測為“DHCP:子網掩碼選項長度溢出“(簽名ID:0x42601100),確保我們的客戶受到保護。最後,對於閱讀此內容的技術愛好者來說,進入硬體駭客的障礙從來沒有這麼低,有大量的在線資源和廉價硬件可以入手。尋找此類漏洞是信息安全的重要切入點,有助於使嵌入式世界變得更安全。 資料來源: https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/avaya-deskphone-decade-old-vulnerability-found-in-phones-firmware/ |