手機(jī)取證——關(guān)于iPhone手機(jī)數(shù)據(jù)提取方式的探討
手機(jī)取證——關(guān)于iPhone 手機(jī)數(shù)據(jù)提取方式的探討編者按在《技術(shù)視界》前13期中,數(shù)據(jù)恢復(fù)四川省重點(diǎn)實(shí)驗(yàn)室科研人員講解了手機(jī)音頻文件提取、SQLite 數(shù)據(jù)庫文件恢復(fù)、手機(jī)APP 取證腳本編寫以及防
手機(jī)取證——關(guān)于iPhone 手機(jī)數(shù)據(jù)提取方式的探討
編者按
在《技術(shù)視界》前13期中,數(shù)據(jù)恢復(fù)四川省重點(diǎn)實(shí)驗(yàn)室科研人員講解了手機(jī)音頻文件提取、SQLite 數(shù)據(jù)庫文件恢復(fù)、手機(jī)APP 取證腳本編寫以及防御手機(jī)APP 竊密等主題,本期重點(diǎn)介紹iPhone 手機(jī)(越獄和未越獄)數(shù)據(jù)提取的多種方式,可以有效提取各類應(yīng)用數(shù)據(jù),包括文字、圖片、聲音、視頻等各種多媒體信息。
隨著移動通信技術(shù)的不斷發(fā)展,手機(jī)也逐漸成為人與人之間不可或缺的聯(lián)系工具,幾乎人人都會攜帶一部甚至多部手機(jī)。手機(jī)中各種APP 會記錄下大量信息,包括聊天、位置等,這些信息很可能成為警方破案有效的輔助證據(jù),所以對手機(jī)數(shù)據(jù)的提取很有必要。
目前Android 始終是手機(jī)行業(yè)的老大,各個(gè)手機(jī)數(shù)據(jù)提取商對Android 的支持也是首當(dāng)其沖。來自ZDC(互聯(lián)網(wǎng)消費(fèi)調(diào)研中心) 手機(jī)品牌關(guān)注度的數(shù)據(jù)顯示(如圖1),2015年三星毫無疑問位居第一,但我們也同時(shí)發(fā)現(xiàn),iPhone 手機(jī)緊隨華為位居第三,所以對iPhone 手機(jī)數(shù)據(jù)提取的支持刻不容緩。下面將和大家一起來探討iPhone 手機(jī)數(shù)據(jù)的提取方式。
圖1:蘋果手機(jī)品牌關(guān)注位居第三
同Android 手機(jī)一樣,iPhone 手機(jī)數(shù)據(jù)的提取也分兩種情況越獄和未越獄。
一、未越獄手機(jī)數(shù)據(jù)的提取
未越獄手機(jī)主要通過備份和沙盒提取方式。目前8.3以上的系統(tǒng)不再支持沙盒提取,而且也比較簡單,故不再拿出來討論。下面只針對備份方式進(jìn)行簡要說明。
1、數(shù)據(jù)備份
1 / 6
,備份可通過兩種方式實(shí)現(xiàn): (1) 通過iTunes 直接備份。備份路徑為XP :C:Documents and Settings用戶名
Application DataApple ComputerMobileSync?ckup;WIN7及以上:C:Users
用戶名AppDataRoamingApple ComputerMobileSync?ckup。
(2) AppleMobileBackup.exe 命令。如:AppleMobileBackup.exe -b --target
befd8222746f2d52b9f2f40e862444208b3d423f (設(shè)備id 可在itools 里查看) -q "c:temp 16-05-18-15-37-42"
圖2 AppleMobileBackup.exe命令
圖2中是所有命令,我們只需要用到-b (備份)、-t (設(shè)備id )、-q (備份路徑)就好了(如紅色框所示) ,其他沒有用到的命令暫不做介紹。
2、數(shù)據(jù)分析
圖3備份目錄(紅色框?yàn)槊魑奈募?/p>
如圖3所示,打開備份目錄可以看到一大堆40位16進(jìn)制數(shù)組成文件名的文件,這些文件就是APP 的數(shù)據(jù)文件。面對這些符號復(fù)雜的文件,怎么才能知道這些文件是哪個(gè)APP 產(chǎn)生的數(shù)據(jù)呢?不急,圖片下面有幾個(gè)明文的文件,我們可以在這幾個(gè)文件中找到想要的一些信息。
(1) Info.plist
這是一個(gè)plist 格式文件,可用plist editor打開查看,其中包括用戶信息、設(shè)備信息、備份信息等等(如圖4所示)。
2 / 6
,圖4 :
Info.plist 文件內(nèi)容
(2) Manifest.plist
這個(gè)文件主要記錄一些安裝的應(yīng)用程序信息,也記錄了用戶信息,如應(yīng)用程序包名、版本號、安裝路徑等。
圖5:Manifest.plist 文件內(nèi)容
(3) Status.plist
這個(gè)文件記錄了備份狀態(tài),包括備份時(shí)間、是否全備份、備份的UUID 等信息,如圖6所示。
圖6:Status.plist 文件內(nèi)容
(4) Manifest.mbdb
這個(gè)是最重要也是最復(fù)雜的文件,記錄了所有的備份文件信息,在這里可以找到文件與app 的對應(yīng)關(guān)系及文件路徑。
在介紹這個(gè)文件之前,必須先了解一個(gè)名詞“域名”。域名是用來定位一個(gè)文件在手機(jī)
3 / 6
,上的全路徑,比如AppDomain-com.meitu.myxj 代表手機(jī)路徑/var/mobile/Applications/。 我們用NotePad 打開文件可看到一大堆域名與路徑(如圖7)。
圖7:Manifest.mbdb 文件內(nèi)容
從圖7的紅色框區(qū)域,可以獲取到域名(AppDomain-com.meitu.myxj )和路徑(Library/com-facebook-sdk-AppEventsTimeSpent.json)。在獲取到“一個(gè)域名 文件路徑”的基本信息后,可通過SHA1加密得到一個(gè)40位16進(jìn)制字符串,而這個(gè)字符串就恰恰對應(yīng)了上面的一個(gè)文件名,通過這種方法就得到了文件與路徑的對應(yīng)關(guān)系。
比如:
AppDomain-com.meitu.myxj-Library/com-facebook-sdk-AppEventsTimeSpent.json的SHA1值5ee0c32e727e1a89605ee018aa9b6fd173001b57,這個(gè)值也就是該路徑所對應(yīng)的文件名。
如果想要還原所有備份文件,用上面的方法顯然不行的,文件可讀性差,分析耗時(shí)耗力。但是,如果我們知道了文件的結(jié)構(gòu),就可以通過代碼來實(shí)現(xiàn)對該文件的解析,減少人工成本。下面將介紹Manifest.mbdb 的具體結(jié)構(gòu)。
用WinHex 打開可看到他的十六進(jìn)制結(jié)構(gòu)(如圖8所示)。
圖8
:Manifest.mbdb 的十六進(jìn)制結(jié)構(gòu)
① 文件頭
4 / 6
,二、越獄手機(jī)數(shù)據(jù)的提取
手機(jī)越獄后相當(dāng)于獲取到了系統(tǒng)的最高權(quán)限,可以直接訪問系統(tǒng)中的應(yīng)用數(shù)據(jù)。下面簡單列舉幾個(gè)常用目錄:
1、系統(tǒng)應(yīng)用目錄
①/private /var/ mobile/Media /DCIM/ 照片目錄
②/private/var/ mobile /Library/SMS/ 短信目錄
③/private /var/root/Media/EBooks/ 電子書目錄
2、用戶應(yīng)用目錄
用戶安裝應(yīng)用數(shù)據(jù)存放在
/private/var/mobile/Containers/Data/Application/下。
5 / 6
下面,以某金融類APP 數(shù)據(jù)為例,詳細(xì)講解。該APP 的路徑為:
/private/var/mobile/Containers/Data/Application/3ADDACBE-7FDB-4726-AC47-4F1EFD0702B5/。
我們怎么知道這是哪個(gè)應(yīng)用的數(shù)據(jù)呢?可以通過以下方法尋找線索。
打開該目錄,我們會看到一個(gè)名叫
“.com.apple.mobile_container_manager.metadata.plist”的文件。
從文件名可看出這是一個(gè)管理文件,打開文件即可看到圖9的內(nèi)容。
圖9:.com.apple.mobile_container_manager.metadata.plist文件內(nèi)容
如圖9中紅色框所示,第二個(gè)框“MCMMetadataUUID ”對應(yīng)的值及為目錄中的那段哈希值。第一個(gè)框“MCMMetadataIdentifier ”對應(yīng)的值則為應(yīng)用程序包名。知道這些信息后,我們就可以對指定應(yīng)用進(jìn)行解析,提取需要的數(shù)據(jù)。
三、總結(jié) 通過備份方式雖然能提取未越獄手機(jī)中的數(shù)據(jù),但畢竟是沒有拿到最高權(quán)限的,
所以還是有部分?jǐn)?shù)據(jù)不能提取出來。而且,這個(gè)過程必須先全部備份再解析相應(yīng)文件,增加了數(shù)據(jù)提取的時(shí)間。而越獄手機(jī)拿到了最高權(quán)限,直接讀取需要的文件,減少了備份這個(gè)步驟,更加快速的實(shí)現(xiàn)數(shù)據(jù)的提取。
目前,市面上有一部分取證設(shè)備采用了這些方法,效率源的MTF 手機(jī)可視化行蹤取證系統(tǒng)就是一個(gè)很好的例子,他將這些方式有效結(jié)合,能更加快速完成“越獄”和“非越獄”手機(jī)數(shù)據(jù)的采集和判斷,包括聊天、行蹤、購物、賬號等各類應(yīng)用信息以及已刪除的動作行為信息。
6 / 6