海思芯片存在后門風險通告

發布時間 2020-02-06

漏洞編號和級別


CVE編號:暫無,危險級別:高危,CVSS分值:官方未評定


影響版本


https://github.com/tothi/pwn-hisilicon-dvr#summary


漏洞概述


海思是一家總部位于深圳的中國半導體公司,隸屬于華為,也是中國最大的集成電路設計公司,其芯片被全球數以百萬計的物聯網設備所使用,包括安全攝像頭、DVR和NVR。


近期,俄羅斯安全專家Vladislav Yarmak公布了在海思芯片中發現的后門的利用詳情,利用后門可以讓攻擊者獲得目標設備中root權限的shell,完全控制住設備。


最新的固件版本雖然默認禁用了Telnet訪問和調試端口(9527/tcp),但打開了9530/tcp端口,可以通過向包含海思芯片設備的9530端口發送一系列特殊命令來利用后門。這些命令可讓攻擊者在目標設備上啟用Telnet服務,接著就可以使用以下六個默認Telnet憑據之一進行登錄,獲得一個root權限的shell。



后門激活流程如下:


1.客戶端連接目標設備的9530端口,發送字符串OpenTelnet:OpenOnce,該字符串前面要加上指示消息長度的字節。該步驟對于以前版本的后門利用是最后一步。如果此步驟后沒有響應,則telneted服務可能已經運行。


2.服務端(指設備)會回復randNum:XXXXXXXX,其中XXXXXXXX是8位隨機數字。


3.客戶端使用預共享密鑰作為加密密鑰,配合隨機數進行以下步驟。


4.客戶端利用加密密鑰加密隨機數字,附加在randNum:之后,再在頭部添加總長度的字節,然后發送給服務端。


5.服務端從/mnt/custom/TelnetOEMPasswd加載預共享密鑰,或直接使用默認密鑰2wj9fsa2。


6.服務端對隨機數進行加密,并驗證結果是否與客戶端發送過來是否一樣。驗證成功回復verify:OK,否則回復verify:ERROR。


7.客戶端加密字符串Telnet:OpenOnce,前面帶上總長度字節,CMD:字符串,然后發送給服務端。


8.服務端解密出接受到的命令。如果得到的結果等于字符串Telnet:OpenOnce,就會回復Open:OK,開啟調試端口9527,啟動telnet服務。


漏洞驗證


PoC:https://github.com/Snawoot/hisilicon-dvr-telnet。


用法:./hs-dvr-telnet HOST PSK


其中PSK默認是2wj9fsa2


示例用法


修復建議


目前廠商還未修復漏洞,可采取臨時防御措施:用戶可以根據需要限制對受影響設備的網絡訪問,只允許受信任的用戶進行訪問。


參考鏈接


https://habr.com/en/post/486856/