歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

什么針孔攝像頭什么偷怕,在被破解的智能家居面前都弱爆了!

來源:本站整理 作者:佚名 時間:2019-07-03 TAG: 我要投稿


本文,我們以波蘭的法比奧(Fibaro)智能家居為例,來介紹一下如何攻擊一位同事家中的智能家居。在對法比奧智能家居進行分析時,我們發現Fibaro Home Center 2和Fibaro Home Center Lite版本4.540中存在的漏洞。另外,我們還在在線API中發現了漏洞。
Fibaro于2010年開始運營,當時物聯網設備尚未普及。不過今天,情況有所不同。根據IDC的數據,在短短幾年內,物聯網設備的數量將達到近10億。 Fibaro在波蘭的工廠每年生產約100萬種不同的設備,從智能插座、燈具、運動傳感器和洪水傳感器,到直接或間接影響安裝這些設備的家庭安全的設備。此外,2018年在俄羅斯的Fibaro設備的銷售額比2017年增長了近10倍。該公司顯然在物聯網設備市場中占據了一大塊份額,因此對Fibaro智能家居安全的研究確實非常及時,也非常有必要。
正好,最近我的同事安裝了一套Fibaro智慧家居,他也是一個技術達人,所以我們就向他提出請求,看能否破解他們家中的設備。沒想到,他竟然同意了。
潛在的攻擊向量
首先,我們將介紹我們對Fibaro智能家居攻擊面的分析,并考慮每個攻擊向量。
就像真正的黑客一樣,我們一開始也是從開放的資源中收集了Fibaro的一些設備情況和相關信息。
雖然智能家居設備相當昂貴,但由于Fibaro已經在線發布其設備的大量細節,因此無需擁有特定設備即可獲得所需的設備信息。另外,登錄公司官網的常見問題解答板塊,還能發現一些用戶在實踐中所碰到的具體使用問題。例如,Home Center可以直接從home.fibaro.com管理,甚至可以通過短信管理。很明顯,當網絡訪問可用時,系統就會連接到云,并且可以通過云進行控制。
另外,從該板塊,我們還可以發現Home Center使用Z-Wave協議管理Fibaro設備。該協議通常用于自動化家庭進程,因為它具有比藍牙更大的范圍,但功耗卻比Wi-Fi更低。
另一個有趣地發現是,如果網絡中接入了某種不屬于Fibaro的智能設備(例如,IP攝像頭),Fibaro提供了各種插件來將設備集成到一個復雜的設備中,并通過Home Center進行管理。
后來,我們的同事通過wLibraryhich提供了其智能家居的靜態IP地址,這大大簡化了我們的攻擊任務,這樣,我們可以訪問管理面板登錄表單。

管理面板登錄表單
掃描顯示,這個IP地址只打開了一個可以從外部訪問的端口,并將其轉發到路由器上的Fibaro Home Center管理面板。所有其他端口都被阻止,開放端口的存在違反了Fibaro的安全建議。但是,如果我們的同事使用VPN訪問Home Center,那么我們的分析就無從下手。
來自開源的信息(更準確地說,來自Fibaro的官方網站)足以拼湊出幾個可用于對付我們同事家的攻擊載體。
通過Z-Wave攻擊
這種攻擊可以在設備附近發起攻擊,攻擊者需要對Z-Wave通信模塊的代碼進行反向工程,且需要在Z-Wave協議上運行的設備的范圍內運行這些經過反向的代碼。不過,我們沒有這么做。
通過管理面板Web界面進行攻擊
眾所周知,智能家居系統具有用于設備管理的管理面板。這意味著有問題的設備上存在某種后端和數據存儲。大多數情況下,由于嵌入式和物聯網設備中缺少RAM和持久性內存,服務器角色由PHP或CGI(與輕量級Web服務器一起運行)執行,而文件系統或文件數據庫(例如,SQLite)充當存儲。有時,服務器端邏輯完全由Web服務器處理,Web服務器采用已編譯的二進制ELF文件的形式。在本文的示例中,軟件棧由PHP,Lua,nginx,C ++服務器和lighttpd組成,而數據存儲在SQLite數據庫和文件系統的特殊部分。 管理面板通過PHP編寫的API進行操作,這一事實促使我們繼續進行調查。要在此階段使用白盒測試來調查管理面板的漏洞,我們必須獲取管理面板源代碼和智能家居本身的固件。這將更清楚地了解其體系結構及其內部邏輯進程的結構,例如掃描和下載/安裝更新。
通過云攻擊
這種類型的攻擊可以通過兩種方式進行:
1.通過嘗試通過已經訪問過類似Fibaro設備的云來訪問設備;
2.通過嘗試訪問云,無需訪問任何Fibaro設備;
此向量意味著測試軟件邏輯,該軟件邏輯通常位于供應商的服務器上。正如我們在偵察階段發現的那樣,Home Center可以通過home.fibaro.com、移動應用程序或短信進行管理。即使你沒有靜態IP地址,也可以通過網絡訪問你的設備。這意味著設備連接到服務器(很可能是供應商的服務器),從而允許攻擊者通過供應商的公共網絡訪問另一個智能家居。
Web API
Web服務器具有完整記錄的API,用于描述方法、參數名稱以及它們在請求中可以采用的值。但是,事實證明,要獲取這些重要信息,必須登錄管理面板。
唯一可以在未經授權的情況下獲得的信息是設備序列號:

通過Web界面訪問具有完整記錄的API
此外,可以在nginx web服務器配置文件中看到,有些請求被代理到用c++編寫的本地服務器,有些請求被代理到lighttpd,后者使用mod_cgi在PHP中執行代碼。這些PHP請求處理程序被稱為“services”。

[1] [2] [3]  下一頁

【聲明】:黑吧安全網(http://www.zjtpzs.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        神秘东方电子游艺