近期,火眼公司Mandiant Red Team團(tuán)隊(duì)發(fā)現(xiàn),羅技智能物聯(lián)網(wǎng)家居管理系統(tǒng)Logitech Harmony Hub存在多個(gè)可利用漏洞,攻擊者可利用這些漏洞,繞過系統(tǒng)限制,通過SSH方式獲取到設(shè)備系統(tǒng)的管理權(quán)限。Logitech Harmony Hub是一款集成了軟硬件的智能家居管理連接系統(tǒng),攻擊者可以通過漏洞控制Logitech Harmony Hub,對(duì)本地網(wǎng)絡(luò)內(nèi)的智能家居系統(tǒng)形成攻擊威脅。由于Harmony Hub支持的設(shè)備包括對(duì)智能鎖、智能恒溫器以及其他智能家庭設(shè)備,使用該產(chǎn)品的用戶會(huì)面臨嚴(yán)重安全風(fēng)險(xiǎn)。
涉及漏洞
不當(dāng)?shù)淖C書驗(yàn)證方式
不安全的更新過程
開發(fā)者遺留在固件鏡像中的調(diào)試信息
空密碼的root用戶
影響產(chǎn)品
Harmony Elite, Harmony Pro, Harmony Home Hub, Harmony Ultimate Hub, Harmony Hub, Harmony Home Control, Harmony Smart Control, Harmony Companion, Harmony Smart Keyboard, Harmony Ultimate and Ultimate Home。
漏洞分析
Mandiant團(tuán)隊(duì)使用漏洞利用組合方式最終root掉了Logitech Harmony Hub,這篇文章分享了漏洞發(fā)現(xiàn)的測(cè)試和分析過程,也從側(cè)面反映出,在與人們生活起居息息相關(guān)的智能家居時(shí)代,非常有必要對(duì)此類產(chǎn)品進(jìn)行嚴(yán)格的安全性測(cè)試。
前期準(zhǔn)備
一些公開的研究表明,在Logitech Harmony Hub上的某些硬件測(cè)試點(diǎn)上存在一個(gè)通用異步收發(fā)傳輸器 (UART),我們把跳線焊接到測(cè)試點(diǎn)(Test pad)上,這樣我們就能夠使用USB串行電纜的TTL方式連接到Logitech Harmony Hub上。啟動(dòng)過程的初始分析顯示,Harmony Hub利用U-Boot 1.1.4啟動(dòng),并運(yùn)行為一個(gè)Linux內(nèi)核:

在對(duì)該測(cè)試點(diǎn)的啟動(dòng)引導(dǎo)過后,由于內(nèi)核未配置有其它控制接口,控制端沒有過多輸出返回信息顯示,之后,我們?cè)赨-Boot中配置了內(nèi)核啟動(dòng)參數(shù)來觀察整個(gè)啟動(dòng)引導(dǎo)過程,但是也沒發(fā)現(xiàn)任何有用信息。此外,UART接口配置僅為傳輸,通過其也不能實(shí)現(xiàn)其它與Harmony Hub的交互。為此,我們把研究重點(diǎn)轉(zhuǎn)向Harmony Hub內(nèi)置的Linux操作系統(tǒng)和相關(guān)運(yùn)行軟件上。
固件恢復(fù)和數(shù)據(jù)提取
在初始配置階段,Harmony Hub上的內(nèi)置APP應(yīng)用可通過藍(lán)牙用Android或iOS應(yīng)用程序與其配對(duì)控制。由此,我們利用hostapd工具創(chuàng)建了一個(gè)模擬的無(wú)線AP接入環(huán)境,并在測(cè)試用的Android設(shè)備上安裝了Burp Suite Pro證書,用以監(jiān)聽Harmony應(yīng)用程序與Harmony Hub和外網(wǎng)的網(wǎng)絡(luò)通信。一旦初始的藍(lán)牙配對(duì)成功,Harmony APP應(yīng)用就會(huì)搜索網(wǎng)絡(luò)內(nèi)的Harmony Hub設(shè)備,并通過基于API的http方式與設(shè)備通信。

另外,Harmony Hub會(huì)向一個(gè)遠(yuǎn)端互聯(lián)網(wǎng)的羅技服務(wù)器發(fā)送當(dāng)前的固件版本信息,以檢測(cè)是否存在可用的固件更新。如果有,遠(yuǎn)端的羅技服務(wù)器會(huì)通過返回一個(gè)包含最新固件版本的URL信息進(jìn)行響應(yīng)。
盡管我們使用了自簽名證書來攔截監(jiān)聽Harmony Hub發(fā)送的HTTPS流量,但我們還是能夠觀察到整個(gè)網(wǎng)絡(luò)請(qǐng)求響應(yīng)過程,由此也表明Harmony Hub未對(duì)證書的有效性進(jìn)行過驗(yàn)證。


我們獲取了固件并對(duì)其進(jìn)行了分析,經(jīng)過對(duì)其中幾層目錄的提取后發(fā)現(xiàn),主要固件文件存儲(chǔ)在鏡像的squashfs文件夾中,從中可發(fā)現(xiàn),整個(gè)鏡像為開源的且為lzma壓縮的SquashFS文件系統(tǒng),這種系統(tǒng)多應(yīng)用于嵌入式設(shè)備中。但是,供應(yīng)商通常會(huì)使用與最新的squashfstools版本不兼容的squashfstools舊版本。之后,我們使用 firmware-mod-kit 工具包中的unsqashfs_all.sh腳本來獲取unsquashfs版本信息,并進(jìn)行后續(xù)的鏡像信息提取。

通過提取的鏡像文件發(fā)現(xiàn),其中存在一些Harmony Hub操作系統(tǒng)的詳細(xì)配置信息,另外,在鏡像中還遺留了各種調(diào)試信息,如未strip清除的內(nèi)核模塊等。

在對(duì) /etc/passwd 檢查后發(fā)現(xiàn),竟然root用戶根本就沒設(shè)置密碼,是空密碼。也就是說,如果能實(shí)現(xiàn)dropbear SSH server的啟用,那么就能輕松獲取Harmony Hub的root訪問權(quán)限。

Dropbear是一個(gè)開源的,輕量化SSH服務(wù)器和客戶端程序,它運(yùn)行在一個(gè)基于POSIX的各種平臺(tái),尤其是一些嵌入式的Linux設(shè)備系統(tǒng)中。
我們發(fā)現(xiàn),如果文件系統(tǒng)中存在file/etc/tdenetable,則在初始化期間將會(huì)啟用一個(gè)dropbear SSH server實(shí)例。

固件更新劫持
在初始化過程中,Harmony Hub會(huì)請(qǐng)求一個(gè)羅技API上的 GetJson2Uris 終端,來獲取一個(gè)后續(xù)能用到的URL列表,這些URL可用于固件的更新檢測(cè)或其它軟件包獲取。

我們攔截并修改了服務(wù)器響應(yīng)中的JSON對(duì)象,將GetUpdates屬性指向我們自己的IP地址。

與固件更新過程類似,Harmony Hub向由GetUpdates指定的終端發(fā)送了一個(gè)POST請(qǐng)求,其中包含了當(dāng)前內(nèi)部軟件包的各種信息。以下為一個(gè)對(duì)HEOS包的請(qǐng)求示例:

如果POST請(qǐng)求中的sysBuild參數(shù)與當(dāng)前遠(yuǎn)端羅技服務(wù)器中的版本不匹配,則遠(yuǎn)端羅技服務(wù)器會(huì)返回一個(gè)包含新版軟件包的初始響應(yīng),由于某個(gè)未知原因,Harmony Hub忽略了這個(gè)響應(yīng),并接著再次發(fā)送了第二個(gè)請(qǐng)求,遠(yuǎn)端羅技服務(wù)器在對(duì)這個(gè)請(qǐng)求的響應(yīng)中,就包含了指向固件更新的URL。

通過該URL,我們下載分析了其中為ZIP格式的 .pkg 文件,其中包含了一個(gè)簡(jiǎn)單的文件結(jié)構(gòu)。

其中的manifest.json文件里有一些Harmony Hub更新過程中如何處理壓縮包的信息。

update.sh就是壓縮包中Harmony Hub的固件更新腳本,按照前面的分析,我們更改了該腳本,創(chuàng)建了/etc/tdeenable文件,使得在啟動(dòng)引導(dǎo)過程中能開啟SSH接口來進(jìn)行連接。

之后,我們?cè)诒镜刈约嚎刂频腤eb服務(wù)器上托管了一個(gè).pkg格式的惡意壓縮包,當(dāng)Harmony Hub檢查固件更新,并向GetJson2URIs發(fā)起請(qǐng)求更新時(shí),由于我們?cè)陧憫?yīng)中進(jìn)行了一些改動(dòng),在其URL響應(yīng)時(shí),我們會(huì)把設(shè)置的惡意更新包替換成原始更新包,這樣一來,Harmony Hub最終更新的將是我們事先構(gòu)造的惡意更新包。只要設(shè)備一重啟,SSH接口就會(huì)自動(dòng)開啟,我們也能順利地以空密碼的root賬戶連接到設(shè)備系統(tǒng)中去。

總結(jié)
隨著嵌入式智能技術(shù)在生活中的廣泛應(yīng)用,很多像Logitech Harmony Hub的IoT物聯(lián)網(wǎng)設(shè)備都使用了通用的處理器和系統(tǒng)架構(gòu),攻擊者可以利用這些架構(gòu)漏洞,添加置換進(jìn)入一些惡意軟件包,對(duì)目標(biāo)設(shè)備系統(tǒng)形成安全威脅。好在我們及時(shí)把漏洞上報(bào)給了羅技官方,他們非常重視,并迅速發(fā)布了 版本為4.15.96的修復(fù)固件,在此,希望羅技相關(guān)用戶請(qǐng)及時(shí)參照更新指南盡快更新
|