作者:
liwenhaosuper
·
2014/08/21 16:48
0x00 背景
之前一直看的是傳統的系統安全問題,最近了解了下嵌入式裝置的安全,頗有意思。
首先要從下面一個圖說起:
這是由一位匿名的駭客透過埠探測等方式得到的2012年全球可攻擊利用的嵌入式裝置熱點分佈圖,被叫做“Internet Census of 2012”,具體更詳盡資訊可見其網站:Internet Census of 2012。
這些裝置完全就是在網際網路上裸跑,不管是管理員還是駭客都可以隨意控制它們。
跟傳統的現代處理器保護機制不一樣,這些嵌入式裝置處理器很多都沒有我們習以為常的如虛擬記憶體、特權級等的概念,如何保護他們的安全目前是研究界的一大熱點,USENIX Security 2013有篇論文是專門針對這些問題討論的,叫Sancus: Low-cost trustworthy extensible networked devices with a zero-software Trusted Computing Base。
既然嵌入式裝置都在裸跑,那麼研究下它們裡面的東西,作進一步分析是非常有必要的。
0x01 細節
接下來要考慮的是研究哪種嵌入式裝置,選擇路由器?好像樂趣不多;前幾天看了部電影《風暴》,我對裡面警察透過監控攝像頭查詢證據的場景印象深刻,當時浮現的想法是:如果匪徒也能控制這些監控攝像頭,反過來透過它們監控警察的行蹤,或者在他們作案前或作案後將監控攝像頭的資料刪除掉,那麼警匪的力量就不會這麼懸殊,劇情會不會更有意思?
在現實生活中,如果我作為駭客能夠控制所有的攝像頭,如室內的家庭安防,那是多麼可怕的場景:
攝像頭的本意的用於防護別人保護自己安全,而一旦被人利用了就可能反過來自己遭受監控!由此目標就鎖定在安防攝像頭上了。
首先面臨的問題是如何找到目標裝置?最直接的方法是透過它們暴露的介面:它們必須與客戶端連線!
那麼就找個客戶端:vMEyeSuper,google一下看到這個部落格http://www.petsdreampark.com/blog/archives/2726提供的裝置地址:pdp.ns01.biz,然後就是找機會入侵啦:埠掃描,暴力破解。
透過工具發現裝置的telnet是可登入的,然後就是暴力破解,使用者名稱密碼一下子就出來了(user name: root, password就不貼了)。試了下,成功登入進去,root許可權哦!
登陸進去後它列印顯示“welcome to monitor tech”,“嗯,不客氣,反正我都來了”。先檢視系統資訊吧:
可看到系統用的是ucLinux,核心是3.0.8,處理器是ARM926EJ-S,晶片是海思的Hi3518,google一些這方面的資訊,海思的hi3XXX都是有名的安防解決方案,海思的SDK可在這裡下載。
找了一番發現系統就是一個ucLinux核心加一個busybox組成的,核心IPC韌體在/usr/bin下,ps一下看到程式主要是Sofia和dvrbox,而關鍵是Sofia。:
重啟Sofia可以看到一系列log資訊,其中它開了一個web server,目錄在/mnt/web下。
我想做的一個事情是將所有有用的檔案複製下來分析,因為看到裡面有使用者名稱、密碼資訊等,但是由於busybox提供的工具太少了,關鍵是ssh,scp, wget, ftp等這些都沒有,沒辦法上傳下載,真是無奈:沒有現有的工具,有root許可權能幹的事情也很有侷限性呀!
想到它開有web server,於是打算將檔案放到/mnt/web下再從瀏覽器下載下來。可惜不成功:目錄只讀!
想到一個辦法:雖然/mnt/web下是隻讀的cramfs檔案系統,可透過mount mtd到/mnt/web下覆蓋原有目錄做到:
mount -t jffs2 /dev/mtdblock5 /mnt/web
總算順利將所有檔案都拖下來了!
分析發現searchIp、Sofia執行檔案都用了upx進行壓縮的,需要先進行解壓。然後就用IDA Pro進行反彙編分析了。
分析發現searchIp是作為一個server用於被客戶端掃描發現並主動連線到Sofia的工具。
基於此,只要寫個掃描工具就能夠發現並登入同廠商大量的裸露安防攝像頭裝置了!
接下來有空的話要做的事情就是嘗試掃描網路發現這些裝置並利用google map組成一個攝像頭監控網路。
目前尚未解決的問題:由於無法物理接觸到這些裝置,系統busybox裡面又沒有可用的工具,尚不能上傳檔案到裝置上。
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!