原標題:網絡攝像頭登錄繞過及多個RCE漏洞及數據分析報告
1. 事件概述
深圳市麗歐電子有限公司(NEO Coolcam,以下簡稱酷視)[1],是一家集網絡數碼產品研發、生產、營銷于一體的高新技術企業,是國內最早進入網絡攝像頭領域的專業廠商之一。2004年成立國內攝像頭研發中心,并取得多項國家專利,產品通過了國家質量檢測部門的認證和CE、FCC等國際標準認證。
早在2017年08月02日,Bitdefender公司的安全研究人員就指出酷視旗下的高清網絡攝像頭NIP-22和Wi-Fi門鈴iDoorbell等設備存在多個緩沖區溢出漏洞,十幾萬暴漏在公網上的相關設備受到潛在的安全威脅,并提供了相關研究報告[2]。2017年9月左右,我們觀察到酷視的英文版官網上發布了最新的固件[3],修復了溢出漏洞。
2018年07月10日,在后續的對網絡空間上易受漏洞影響的物聯網設備的風險評估中,我們通過ZoomEye網絡空間搜索引擎對相關漏洞設備進行搜索,共發現了65萬的IP歷史記錄,其中在中國含該漏洞的設備數量最多,約為16.7萬。此外,我們還有以下發現:
從酷視官方發布更新版固件到本文發布約一年的時間里,大部分設備依然沒有安裝更新版固件。原因有以下幾點:
1、目標設備本身不具有自動升級機制;
2、普通用戶不會意識到存在漏洞并手動更新固件;
3、更新版固件只發布在英文版官網中;
4、其他OEM廠商生產的設備也存在該漏洞。
在目標設備的固件審計過程中,我們發現了登錄繞過漏洞,相關細節將在下面的章節中呈現。
這意味著還有很大數量的目標設備處于風險之中。知道創宇404實驗室對酷視NIP-22FX這款攝像頭的系列緩沖區溢出漏洞進行了深入研究,并成功從緩沖區溢出到遠程代碼執行,證實了該漏洞有被黑產利用的潛在風險。同時審計過程中發現了登錄繞過漏洞,對用戶隱私也是個嚴重的威脅。
2. 漏洞分析 2.1 目標設備的相關信息
設備版本:NeoCoolcam IPCam NIP-22FX
漏洞二進制文件:MD5 (ipc_server) = 312d924344364620d85099ed279a5f03
固件版本:V7.7.4.1.1-20160701
提供Web服務和RTSP服務的主程序為 ipc_server文件,目標系統為ARM、32位小端架構。
緩沖區溢出緩解措施為全部關閉狀態。
2.2 登錄繞過漏洞
攝像頭 Web 服務基于 HTTP 基本認證,存在三組默認憑證,三組憑證對應不同的權限等級,安裝時 APP 只會提醒修改 admin 賬戶的默認密碼。三組默認憑證及對用的操作如下:
admin:admin,
user:user;
guest:guest;
值得一提的是,user 賬戶和 guest 賬戶也可以查看視頻流,大部分用戶不會修改這些賬戶的默認密碼,導致隱私泄漏。

2.3 Web 服務基于緩沖區溢出的遠程代碼執行漏洞(無需認證)
2.3.1 漏洞細節分析
該溢出點位于地址 0x0007DE80 附近,該函數的處理邏輯是調用libs_parsedata函數解析URL中的usr和pwd,并將其分別存儲到本函數棧幀的兩塊緩沖區中。

libs_parsedata函數的原型為:
int libs_parsedata(int a1,int a2,char *needle,int a4,int a5,int a6){}
接受6個參數,從左往右依次為a1:原字符串,a2:原串的長度,needle:匹配待截取字符串的開頭,a4:用來截取字符串的分隔符,a6:存儲截取后字符串的目標緩沖區。
該函數的處理邏輯為:使用needle字符串和分隔符a4截取原字符串a1,截取后通過strncpy()函數將截取后的串寫入a6所指的緩沖區中,寫入的長度為截取字符串的長度,最后寫入一個字節’\x00’。由于GET參數長度可控,當攻擊者輸入超出緩沖區長度的usr或pwd值時,會使緩沖區溢出。

2.3.2 漏洞利用分析
二進制文件ipc_server的緩沖區溢出措施皆為關閉狀態,利用該緩沖區溢出漏洞的難度很低。利用過程中需要考慮到規避空白符、&、\x00等壞字符,空白符可用 ${IFS}替代。
在ipc_server的0x0004E4D8地址處含有如下代碼:
攻擊者只需讓返回地址指向地址0x0004E4D8,返回地址之后緊跟待執行的命令,即可成功從緩沖區溢出到遠程代碼執行。由于libs_parsedata函數會在字符串末尾寫入一個\x00,可以同時利用兩個溢出漏洞分別寫入返回地址和待執行命令。
目標系統不含curl、nc、wget等命令,可將命令執行結果重定向之Web目錄,之后訪問HTTP接口即可獲取執行結果。如果攻擊者和攝像頭在同一個網絡環境,攻擊者也可能開啟目標系統的telnetd服務,實現對漏洞設備的完全控制。因為目標設備的文件系統以讀寫方式掛載,有被攻擊者惡意篡改的風險。
在NIP-22FX上的復現結果如下:

2.3.3 補丁分析
在最新版的固件(V7.7.4.1.1-20170828)中,libs_parsedata函數加入了第七個參數,用以控制寫入目標緩沖區的長度。

2.4 RTSP 服務基于緩沖區溢出的遠程代碼執行漏洞(無需認證)
2.4.1 漏洞細節分析
該溢出點位于地址0x006C6D4處,利用 sscanf 函數匹配 RTSP Header 中 Authorization:Digest key=”value” 中的key和value兩部分內容并將之存到本函數堆棧,沒有檢查這兩部分的長度,導致堆棧溢出。

2.4.2 漏洞利用分析
該漏洞的利用和2.3.2節中Web服務的緩沖區溢出漏洞利用方法一致,攻擊者可利用兩個溢出漏洞分別寫入待執行的命令和返回地址,很容易的從緩沖區溢出提升到遠程代碼執行。
在NIP-22FX的復現結果如下,成功利用RTSP服務的緩沖區溢出開啟了目標系統的telnetd服務。

2.4.3 補丁分析
在最新版的固件(V7.7.4.1.1-20170828)中,sscanf 的正則匹配表達式中加入了長度限制,最長為255字節,而緩沖區距離棧底為296字節,無法覆蓋返回地址。

3. 漏洞影響范圍
我們通過提取酷視NIP-22高清攝像頭設備相關的“關鍵詞”,在ZoomEye網絡空間搜索引擎[4]上共發現了651,780個 IP歷史數據。

我們通過對 ZoomEye 網絡空間搜索引擎 “Error:username or password error,please input again.” 這個關鍵詞得到的651,780條IP歷史記錄進行確認,發現其中58,413臺設備仍然存活。
存活設備國家分布如下,可以看出這些漏洞設備主要分布在韓國、美國、中國等國家。由于中國的網絡IP變化快,在中國的相關存活設備數量實際上不止5,878臺。

存活設備在中國的省份分布如下,主要分布在香港,其次是臺灣,ZoomEye網絡空間搜索引擎上中國大陸地區的歷史IP數據基本都已失效。

對以上存活的設備進行進一步統計分析,發現大部分設備均至少存在一種默認憑證。由此可見酷視高清攝像頭設備普遍存在默認憑證,攻擊者可使用默認憑證訪問攝像頭的視頻流,有較大的隱私泄漏風險。值得一提的是,存活的設備中也有很多存在 admin:admin 默認憑證,攻擊者可獲得管理員身份,并可能通過上傳精心制作的設備固件完全接管目標設備。
在對受漏洞影響的設備進行數據分析的過程中,我們發現存在大量設備是貼牌銷售,設備固件存在極大的同源性,有的兩個不同廠商之間的設備僅僅是換了個LOGO。
通過設備頁面 ”/web/mainpage.html” 內容的md5值對不同OEM廠商進行區分,統計結果如下:



除了默認憑證問題,酷視高清攝像頭NIP-22還存在無需認證的Web服務及RTSP服務緩沖區溢出漏洞,該溢出漏洞的利用難度很低,攻擊者可基于此溢出漏洞遠程執行任意命令。溢出發生后,watchdog進程會重啟整個系統,攻擊者也可利用這點使攝像頭拒絕服務。由于固件的同源性,這兩個溢出漏洞也有很大可能存在于其他OEM廠商生產的設備中。
4. 漏洞修復建議 4.1 對用戶的修復建議
為避免隱私泄漏,建議用戶盡快修復系列漏洞。
首先,用戶可登錄攝像頭Web管理系統,在以下頁面中修改三組默認憑證的用戶名和密碼。
其次,如果是酷視的設備,建議從酷視官網下載對應設備的最新版固件[3],并手動更新,以修復兩個溢出漏洞。如果是其他OEM廠商的設備,可以嘗試和廠商聯系獲取更新固件,并將設備同公網隔離。

4.2 對廠商的修復建議
由于這系列漏洞影響國內外幾十個OEM廠商,請上表中可能存在漏洞的廠商自查,及時發布補丁固件并通知用戶更新設備固件。
5. 總結
1. 存活設備中大部分以上都存在默認憑證,對于用戶的隱私是個極大的威脅,用戶應及時修改默認密碼。
2. 這系列漏洞還可能影響國內外幾十個OEM廠商。嵌入式設備固件開發過程中一般都會使用第三方的開源工具或通用軟件,這些通用軟件又通常由某一特定廠商研發,這就導致很多設備固件存在同源性,不同品牌的設備可能運行相同或者類似的固件以及包含相同的第三方庫。漏洞曝出后,由于影響廠商眾多,而并不是所有廠商都會發布漏洞補丁,這就導致網絡空間上大量漏洞設備無法修復漏洞。
3. 近年來,路由器、攝像頭、攝像機、NAS、智能穿戴設備等 IOT 設備的安全漏洞層出不窮,伴隨著越來越多的嵌入式設備連入網絡,總體安全形勢日益突出,用戶的個人隱私受到嚴重的威脅。一方面,廠商及開發者應不斷提高自主研發設備的安全性。另一方面,漏洞是不可避免的。對于用戶,應該努力提高自己的安全意識,盡量避免將此類設備直接暴露在網絡空間上。對于各 IOT 廠商,針對目前安全漏洞曝出越來越頻繁,及時修復漏洞,對產品提供自動升級機制是行之有效的方法。
6. 相關鏈接
[1] NEO Coolcam 官網
http://www.szneo.com/
[2] Bitdefender漏洞公告
https://www.bitdefender.com/box/blog/ip-cameras-vulnerabilities/neo-coolcams-not-cool-buffer-overflow/
[3] 官方更新固件下載地址
http://szneo.com/en/service/index.php
[4] ZoomEye網絡空間探測引擎
https://www.zoomeye.org/searchResult?q=%22Error%3A%20username%20or%20password%20error%2Cplease%20input%20again.%22
*本文作者:Knowsec知道創宇,轉載請注明來自 FreeBuf.COM返回搜狐,查看更多
責任編輯: