海康威視是一個(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òu)買了一個(gè)比較便宜的,由海康威視代工生產(chǎn)的Elisa Live 720p HD IP Camera。當(dāng)我在破解Elisa攝像機(jī)嘗試獲取密碼信息的過程中,卻偶然發(fā)現(xiàn)了海康威視遠(yuǎn)程系統(tǒng)的一個(gè)XML外部實(shí)體注入漏洞(XXE)。 XXE Injection即XMLExternal Entity Injection,也就是XML外部實(shí)體注入攻擊,漏洞是在對(duì)非安全的外部實(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)識(shí)符可訪問本地或遠(yuǎn)程內(nèi)容。如果在這個(gè)過程中引入了”惡意”源,在對(duì)XML文檔處理后則可能導(dǎo)致信息泄漏等安全問題。 1 研究開始 通常來(lái)說,大多網(wǎng)絡(luò)攝像機(jī)數(shù)據(jù)要被上傳到其后臺(tái)系統(tǒng)中,也就是說,只有利用網(wǎng)頁(yè)或者app通過其云服務(wù)平臺(tái)才能訪問攝像機(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è)未加密的請(qǐng)求調(diào)用:
(2)向網(wǎng)站www.hik-online.com發(fā)起POST請(qǐng)求的base64加密數(shù)據(jù)包(后作分析) (3)從Amazon S3存儲(chǔ)中下載更新的Get請(qǐng)求:
2 嘗試破解網(wǎng)絡(luò)攝像機(jī) 利用Nmap掃描攝像機(jī),發(fā)現(xiàn)了一些開放端口服務(wù),其中包括一個(gè)登錄頁(yè)面,經(jīng)嘗試,一些海康威視常用的默認(rèn)用戶名和密碼組合無(wú)法正確登錄。后來(lái)發(fā)現(xiàn),密碼驗(yàn)證的控制器受http摘要認(rèn)證機(jī)制保護(hù),這是該固件獨(dú)有的特點(diǎn)。利用binwalk和 hiktools對(duì)固件進(jìn)行分析后,雖然沒發(fā)現(xiàn)任何摘要認(rèn)證信息,卻提取到了一些有意思的東西,如/etc/passwd文件和其中的root密碼hiklinux: root:ToCOv8qxP13qs:0:0:root:/root/:/bin/sh
對(duì)固件進(jìn)行升級(jí)之后,攝像機(jī)的SSH端口就變?yōu)殛P(guān)閉狀態(tài)了,所以我沒法利用這個(gè)點(diǎn),只能嘗試其它途徑。 3 發(fā)現(xiàn)XXE漏洞 回到向www.hik-online.com發(fā)起請(qǐng)求的數(shù)據(jù)包,它是一個(gè)Base64編碼的POST字符串,解碼之后是一堆亂碼,當(dāng)然,攝像機(jī)用來(lái)驗(yàn)證服務(wù)器的密碼可能就在固件中,只是需要時(shí)間去分析發(fā)現(xiàn)。然而,我從海康威視網(wǎng)站上無(wú)意發(fā)現(xiàn)了這個(gè): 如果發(fā)現(xiàn)任何漏洞,請(qǐng)聯(lián)系HSRC@hikvision.com,請(qǐng)勿對(duì)外公開漏洞細(xì)節(jié)。 這是一個(gè)漏洞懸賞項(xiàng)目,好吧,讓我們來(lái)研究研究它的POST請(qǐng)求。由于這是一個(gè)XML POST請(qǐng)求,我首先嘗試用SYSTEM entity方法來(lái)讓遠(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è)好用的自動(dòng)化工具XXEinjector來(lái)完成:
OK,我可以遠(yuǎn)程讀取網(wǎng)站上的任意文件,包括etc/shadow文件,當(dāng)然也就獲取了這臺(tái)服務(wù)器的root權(quán)限。而且,海康威視分布在全球的其它API服務(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無(wú)回應(yīng),之后我又發(fā)送了一封郵件 2016年9月6日,重新給海康威視市場(chǎng)和公關(guān)部門發(fā)了一封郵件 2016年9月7日,HSRC確認(rèn)接收并要求發(fā)送更多信息 2016年9月8日,海康威視修復(fù)了漏洞并要求我重新測(cè)試 2016年9月25日,作為獎(jiǎng)勵(lì),收到了海康威視一個(gè)價(jià)值69美元的網(wǎng)絡(luò)攝像機(jī) |
免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信