压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

揭秘:充電寶是如何盜取你的個人隱私的?

  中午吃完飯,看到一個微博中別人轉的央視新聞《別被改裝充電寶盜取隱私》覺得又是啥高大上的東西上了央視,看完后才知道是數字公司的某研究員做的偽裝充電寶盜取隱私的玩意。

  心里豁然開朗,原來這玩意也可以上央視啊!那么問題來了: 這玩意都應用到了哪些技術,并且那個防護神器又是怎么實現的?我們這些天天寫腳本的能玩不?還是需要那些玩二進制的牛人幫忙才能完成呢?

  那么下面我給大家介紹一種方法,揭秘攻擊者是如何低成本快速打造一個偽造的充電寶的,以及我們該如何防御。主要是IOS系統,至于Android的方法我想滿大街都是吧這里就不說了,以后說不定會在博客中寫下。至于用途嗎不關你是進行物理社工還是什么的就自由發揮,本文所提技術并不局限于“充電寶” ,不費話了進入正題。

  原理分析

  首先,我們來分析下在不了解已有技術情況下假設要從零開始做起,我們是怎么分析和設計這個東西?我估計大多數人第一個想到的應該是iTunes , 蘋果手機管理的配套軟件,因為在它里面有個功能是備份數據用的,即使刷機后,只要恢復下數據那么所有的通訊錄,短信,甚至上網信息等等都會被恢復回去,二進制牛如果看到了應該會說逆下iTunes分析下它通訊協議不就完事了。

  嗯,確實可以實現奈何我們腳本小子操起IDA跟看天書的應該差不多,不過這里有一點說的對,那就是通訊協議。如果我們能夠模擬iTunes協議,告訴iPhone我需要給你備份數據,那么按照它的接受協議把數據copy到存儲單元不就ok了。至于它怎么去打包那些數據,根據它打包的方式解包不就還原所有數據了。上面我們分析的是如何把數據從手機拿到存儲單元,那么和充電寶又有什么關系? 看過那個視頻的應該注意到,手機查到充電寶上面會提示 “是否信任此電腦” 。回想下,我們自己充電的時候是否會提示?那么在什么情況下會提示?

  是的,在手機數據線插到別人電腦上面的時候會提示!這里我們在分析下,在正常充電寶上和電腦上面為什同為USB,一個提示一個卻不提示,為后面的防御做個鋪墊。

  我們先看下下圖:

  圖是網上找來的, 其中黃色部分為四個usb里面的觸點, 其中1,4 從圖中可以看到是正負極(雖然只有+,-號),2,3 是 “D+ 和D-” 是什么呢?其實就是data+ 和 data- 數據信號的輸入和輸出。其實從這張圖上也能猜到為什么正常充電寶不會提示,而插到陌生電腦上會提示。因為在陌生電腦上面data+和data-上面產生了數據信號,所以導致iPhone會進行詢問是否應該信任此設備以進行數據交互,下面看看如何快速實現。

  設計實現

  上面原理分析了那么多,還是沒有進入核心部分 “ 如何快速制造” 估計罵街的已經開始了….

  所需材料:

  1. 樹莓派 (raspberry pi) 一枚

  2. 大號鋰電池(至于多大,看你想要多大容量的充電寶)

  3. 充電器(為啥要這個?充電寶要充電唄)

  4. 小燈 led小燈 3-4 枚 (充電寶充電閃爍效果)

  上面這些東西怎么組合?  樹莓派USB 對外供電, 鋰電池給樹莓派供電,充電器拆了(里面的東西)給鋰電池充電,至于led小燈,接樹莓派GPIO口。讓樹莓派閃爍小燈的教程網上應該也是一大把了,這里就不詳述了請自行查詢。

  其實樹莓派就是一個ARM平臺上面可以跑跑Linux, 大家最關心的應該都是在ARM平臺上面的Linux怎么模擬數據讓iPhone把備份數據給存儲到樹莓派上面的存儲器。看到上面的分析估計很多人心里不自在了,都說了腳本小子為什么又扯到上面的分析,難道又要讓我們逆向iTunes了。當然不是了,既然我們能想到模擬數據難道就沒有人做過?是的,你又一次猜對了,由開源實現

  libimobiledevice , 這就是我們今天的主角,看看它介紹(官方介紹):

  libimobiledevice is a cross-platform software library that talks the protocols to support iPhone?, iPod Touch?, iPad? and Apple TV? devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard? icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. The library is in development since August 2007 with the goal to bring support for these devices to the Linux Desktop.

  上面啰嗦了那么多E文其實就是說它不依賴于第三方庫,跨平臺的實現了iPhone,iPod Touch, Ipad等蘋果設備的通訊協議。

  在樹莓派上面怎么編譯可以看這里所需依賴

  https://github.com/libimobiledevice/libimobiledevice

  編譯后有它的動態庫,可以根據它的文檔自己實現想要的功能,不過對于僅僅只是需要“竊取”隱私數據,其實自帶的tools目錄中的工具就已經夠用了,在看編譯完后的工具都長什么樣(圖片演示均為筆記本上面的libimobile):

  可以看到編譯后tools目錄自帶的這些小工具,比較顯眼的幾個:

  idevice_id                  獲取已連接設備ID, idevice_id -l

  idevicebackup               ios較低版本用來備份數據的工具

  idevicebackup2              ios新版本備份數據工具

  idevicesscreenshot          從名字就能看出來是屏幕截圖

  idevicesyslog               實時顯示log信息的,跟adb logcat 一樣

  ideviceinfo                 設備信息

  ….                        其他的看名字基本就知道大概了

  好了,我們直接上主角吧,idevicesbackup2。在當前目錄建立文件夾bak,當然你愿意放在那里都行只是用來存儲備份數據的。usb連接電腦和手機(不是說好的充電寶么,好吧…沒啥差吧^_^)

  輸入命令:

  idevicebackup2 backup ./bak

  如果沒有配置環境變量就給idevicebackup2 指定當前目錄./

  運行過程如下圖所示:

  運行結束后在bak目錄下會生成一個由字符串組成的目錄,打開我們可以看到一堆不太能夠容易理解的文件,其實這些就是備份經過處理的數據,如果所示:

  那么拿到這些數據有毛用…   別捉急,既然能拿到肯定有辦法解包還原數據

  輸入命令:

  ideivcesbackup2  unpack ./bak

  命令執行完后我們就可以看到bak目錄下多了一個_unpack_目錄,看看里面有些什么吧。

  由于層級太多只顯示了3級目錄,不過我們先找找數字公司演示的照片是在什么地方存儲的可以在var/mobile/Media/DCIM 目錄中看到這里存儲的都是個人相機拍的照片和視頻(沒拍攝過所以里面木偶有顯示~)如下圖:

  僅僅只能拿到相片么?  其實細心的讀者肯定都看到了Keychains 就應該知道這玩意是啥了。好了再看看能獲取到其他信息不? 比如safari或者其他APP的本地遺留數據,例如cookie 、 聊天記錄? 看看var/mobile/library下面的sms和cookie信息:

  我不會告訴你 var/mobile/Applications  全部是應用的備份文檔信息里面包含的賬戶密碼,聊天信息等。這里就不看了,太尼瑪冷了,得進被窩了…

  防御措施

  這會再看結合USB的那個圖你應該知道兩種防御方法了吧?

  1. 提示信任信息的時候如果是充電寶,堅決選NO

  2. 也就是數字公司的“防御神器”切掉USB的data數據(猜測數字公司這么干的)

  哎,好久沒寫文章了有點手生,寫了快一個小時就到此打住了,寫著文章沒有任何惡意,只是想分享一些東西,認識我的人都知道我很樂意分享所掌握的知識并且是無條件的。你會問為啥從始至終都沒有看到你的“充電寶”,額沒錢買唄,哈哈…

 

上一篇:智能無懼挑戰 山石網科轟動RSA2015

下一篇:美國流行打車APP Uber被曝收集用戶隱私