海康威視是一個致力于不斷提升視頻處理技術和視頻分析技術,面向全球提供領先的監控產品、技術解決方案與專業優質服務, 物聯網發展和安全威脅總是如影隨形。兩個月前,我想研究一下網絡攝像機,然后就在亞馬遜上購買了一個比較便宜的,由海康威視代工生產的Elisa Live 720p HD IP Camera。當我在破解Elisa攝像機嘗試獲取密碼信息的過程中,卻偶然發現了海康威視遠程系統的一個XML外部實體注入漏洞(XXE)。 XXE Injection即XMLExternal Entity Injection,也就是XML外部實體注入攻擊,漏洞是在對非安全的外部實體數據進行處理時引發的安全問題。在XML1.0標準里,XML文檔結構定義了實體(entity)這個概念。實體可以通過預定義在文檔中調用,實體的標識符可訪問本地或遠程內容。如果在這個過程中引入了”惡意”源,在對XML文檔處理后則可能導致信息泄漏等安全問題。 1 研究開始 通常來說,大多網絡攝像機數據要被上傳到其后臺系統中,也就是說,只有利用網頁或者app通過其云服務平臺才能訪問攝像機。我通過攝像機以太網接口把其連接到實驗室環境,進行網絡流量監聽。因為一些設備內置了老舊或不安全的固件,所以如果想做物聯網設備相關的實驗,強烈建議不要急于把設備接上互聯網。 從Wireshark抓包流量中發現了幾個有意思的數據包: (1)兩個未加密的請求調用:
(2)向網站www.hik-online.com發起POST請求的base64加密數據包(后作分析) (3)從Amazon S3存儲中下載更新的Get請求:
2 嘗試破解網絡攝像機 利用Nmap掃描攝像機,發現了一些開放端口服務,其中包括一個登錄頁面,經嘗試,一些海康威視常用的默認用戶名和密碼組合無法正確登錄。后來發現,密碼驗證的控制器受http摘要認證機制保護,這是該固件獨有的特點。利用binwalk和 hiktools對固件進行分析后,雖然沒發現任何摘要認證信息,卻提取到了一些有意思的東西,如/etc/passwd文件和其中的root密碼hiklinux: root:ToCOv8qxP13qs:0:0:root:/root/:/bin/sh
對固件進行升級之后,攝像機的SSH端口就變為關閉狀態了,所以我沒法利用這個點,只能嘗試其它途徑。 3 發現XXE漏洞 回到向www.hik-online.com發起請求的數據包,它是一個Base64編碼的POST字符串,解碼之后是一堆亂碼,當然,攝像機用來驗證服務器的密碼可能就在固件中,只是需要時間去分析發現。然而,我從海康威視網站上無意發現了這個: 如果發現任何漏洞,請聯系[email protected],請勿對外公開漏洞細節。 這是一個漏洞懸賞項目,好吧,讓我們來研究研究它的POST請求。由于這是一個XML POST請求,我首先嘗試用SYSTEM entity方法來讓遠程網站引用本地實體文件,如: ]> c>&b;c> 但該方法并不奏效,于是,我利用VPS遠程傳入引用實體,成功了! ]> c>&b;c>
圖:載入外部實體成功 !這就有意思了,既然我們可以使用SYSTEM entity方式加載引用外部實體,就可以通過惡意dtd文件調用回傳其它網站文件,如/etc/hosts文件等。所有這些過程都可以通過一個好用的自動化工具XXEinjector來完成:
OK,我可以遠程讀取網站上的任意文件,包括etc/shadow文件,當然也就獲取了這臺服務器的root權限。而且,海康威視分布在全球的其它API服務器同樣存在該XXE漏洞,最終,如果獲得了這些遠程服務器權限,甚至連shodan上可搜索的大量網絡攝像機都面臨安全風險。 漏洞報告提交流程: 2016年8月6日,發送第一封郵件到海康威視安全響應中心(HSRC) 2016年8月16日,HSRC無回應,之后我又發送了一封郵件 2016年9月6日,重新給海康威視市場和公關部門發了一封郵件 2016年9月7日,HSRC確認接收并要求發送更多信息 2016年9月8日,海康威視修復了漏洞并要求我重新測試 2016年9月25日,作為獎勵,收到了海康威視一個價值69美元的網絡攝像機 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信