手機取證——關(guān)于iPhone手機數(shù)據(jù)提取方式的探討
手機取證——關(guān)于iPhone 手機數(shù)據(jù)提取方式的探討編者按在《技術(shù)視界》前13期中,數(shù)據(jù)恢復(fù)四川省重點實驗室科研人員講解了手機音頻文件提取、SQLite 數(shù)據(jù)庫文件恢復(fù)、手機APP 取證腳本編寫以及防
手機取證——關(guān)于iPhone 手機數(shù)據(jù)提取方式的探討
編者按
在《技術(shù)視界》前13期中,數(shù)據(jù)恢復(fù)四川省重點實驗室科研人員講解了手機音頻文件提取、SQLite 數(shù)據(jù)庫文件恢復(fù)、手機APP 取證腳本編寫以及防御手機APP 竊密等主題,本期重點介紹iPhone 手機(越獄和未越獄)數(shù)據(jù)提取的多種方式,可以有效提取各類應(yīng)用數(shù)據(jù),包括文字、圖片、聲音、視頻等各種多媒體信息。
隨著移動通信技術(shù)的不斷發(fā)展,手機也逐漸成為人與人之間不可或缺的聯(lián)系工具,幾乎人人都會攜帶一部甚至多部手機。手機中各種APP 會記錄下大量信息,包括聊天、位置等,這些信息很可能成為警方破案有效的輔助證據(jù),所以對手機數(shù)據(jù)的提取很有必要。
目前Android 始終是手機行業(yè)的老大,各個手機數(shù)據(jù)提取商對Android 的支持也是首當(dāng)其沖。來自ZDC(互聯(lián)網(wǎng)消費調(diào)研中心) 手機品牌關(guān)注度的數(shù)據(jù)顯示(如圖1),2015年三星毫無疑問位居第一,但我們也同時發(fā)現(xiàn),iPhone 手機緊隨華為位居第三,所以對iPhone 手機數(shù)據(jù)提取的支持刻不容緩。下面將和大家一起來探討iPhone 手機數(shù)據(jù)的提取方式。
圖1:蘋果手機品牌關(guān)注位居第三
同Android 手機一樣,iPhone 手機數(shù)據(jù)的提取也分兩種情況越獄和未越獄。

一、未越獄手機數(shù)據(jù)的提取
未越獄手機主要通過備份和沙盒提取方式。目前8.3以上的系統(tǒng)不再支持沙盒提取,而且也比較簡單,故不再拿出來討論。下面只針對備份方式進行簡要說明。
1、數(shù)據(jù)備份
1 / 6
,備份可通過兩種方式實現(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備份目錄(紅色框為明文文件)
如圖3所示,打開備份目錄可以看到一大堆40位16進制數(shù)組成文件名的文件,這些文件就是APP 的數(shù)據(jù)文件。面對這些符號復(fù)雜的文件,怎么才能知道這些文件是哪個APP 產(chǎn)生的數(shù)據(jù)呢?不急,圖片下面有幾個明文的文件,我們可以在這幾個文件中找到想要的一些信息。
(1) Info.plist
這是一個plist 格式文件,可用plist editor打開查看,其中包括用戶信息、設(shè)備信息、備份信息等等(如圖4所示)。
2 / 6
,
圖4 :

Info.plist 文件內(nèi)容

(2) Manifest.plist
這個文件主要記錄一些安裝的應(yīng)用程序信息,也記錄了用戶信息,如應(yīng)用程序包名、版本號、安裝路徑等。
圖5:Manifest.plist 文件內(nèi)容
(3) Status.plist
這個文件記錄了備份狀態(tài),包括備份時間、是否全備份、備份的UUID 等信息,如圖6所示。
圖6:Status.plist 文件內(nèi)容
(4) Manifest.mbdb
這個是最重要也是最復(fù)雜的文件,記錄了所有的備份文件信息,在這里可以找到文件與app 的對應(yīng)關(guān)系及文件路徑。
在介紹這個文件之前,必須先了解一個名詞“域名”。域名是用來定位一個文件在手機
3 / 6
,上的全路徑,比如AppDomain-com.meitu.myxj 代表手機路徑/var/mobile/Applications/。 我們用NotePad 打開文件可看到一大堆域名與路徑(如圖7)。
圖7:Manifest.mbdb 文件內(nèi)容
從圖7的紅色框區(qū)域,可以獲取到域名(AppDomain-com.meitu.myxj )和路徑(Library/com-facebook-sdk-AppEventsTimeSpent.json)。在獲取到“一個域名 文件路徑”的基本信息后,可通過SHA1加密得到一個40位16進制字符串,而這個字符串就恰恰對應(yīng)了上面的一個文件名,通過這種方法就得到了文件與路徑的對應(yīng)關(guān)系。
比如:
AppDomain-com.meitu.myxj-Library/com-facebook-sdk-AppEventsTimeSpent.json的SHA1值5ee0c32e727e1a89605ee018aa9b6fd173001b57,這個值也就是該路徑所對應(yīng)的文件名。
如果想要還原所有備份文件,用上面的方法顯然不行的,文件可讀性差,分析耗時耗力。但是,如果我們知道了文件的結(jié)構(gòu),就可以通過代碼來實現(xiàn)對該文件的解析,減少人工成本。下面將介紹Manifest.mbdb 的具體結(jié)構(gòu)。
用WinHex 打開可看到他的十六進制結(jié)構(gòu)(如圖8所示)。
圖8

:Manifest.mbdb 的十六進制結(jié)構(gòu)


① 文件頭
4 / 6
,二、越獄手機數(shù)據(jù)的提取
手機越獄后相當(dāng)于獲取到了系統(tǒng)的最高權(quán)限,可以直接訪問系統(tǒng)中的應(yīng)用數(shù)據(jù)。下面簡單列舉幾個常用目錄:
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ù)為例,詳細講解。該APP 的路徑為:
/private/var/mobile/Containers/Data/Application/3ADDACBE-7FDB-4726-AC47-4F1EFD0702B5/。
我們怎么知道這是哪個應(yīng)用的數(shù)據(jù)呢?可以通過以下方法尋找線索。
打開該目錄,我們會看到一個名叫
“.com.apple.mobile_container_manager.metadata.plist”的文件。
從文件名可看出這是一個管理文件,打開文件即可看到圖9的內(nèi)容。
圖9:.com.apple.mobile_container_manager.metadata.plist文件內(nèi)容
如圖9中紅色框所示,第二個框“MCMMetadataUUID ”對應(yīng)的值及為目錄中的那段哈希值。第一個框“MCMMetadataIdentifier ”對應(yīng)的值則為應(yīng)用程序包名。知道這些信息后,我們就可以對指定應(yīng)用進行解析,提取需要的數(shù)據(jù)。
三、總結(jié) 通過備份方式雖然能提取未越獄手機中的數(shù)據(jù),但畢竟是沒有拿到最高權(quán)限的,

所以還是有部分數(shù)據(jù)不能提取出來。而且,這個過程必須先全部備份再解析相應(yīng)文件,增加了數(shù)據(jù)提取的時間。而越獄手機拿到了最高權(quán)限,直接讀取需要的文件,減少了備份這個步驟,更加快速的實現(xiàn)數(shù)據(jù)的提取。
目前,市面上有一部分取證設(shè)備采用了這些方法,效率源的MTF 手機可視化行蹤取證系統(tǒng)就是一個很好的例子,他將這些方式有效結(jié)合,能更加快速完成“越獄”和“非越獄”手機數(shù)據(jù)的采集和判斷,包括聊天、行蹤、購物、賬號等各類應(yīng)用信息以及已刪除的動作行為信息。
6 / 6