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