




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
8.Android(安卓)系統(tǒng)取證技術(shù)目錄CONTENTS8.1Android智能手機(jī)取證概述8.1.1Android概況及發(fā)展歷程8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)8.1.3Android功能特點(diǎn)8.1.4Android取證準(zhǔn)備工作8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取8.2Android系統(tǒng)常見邏輯數(shù)據(jù)提取分析8.2.1短信息/彩信提取和分析8.2.2通話記錄提取和分析8.2.3聯(lián)系人信息提取和分析8.2.4瀏覽器歷史記錄提取和分析8.2.5郵件客戶端信息的提取和分析8.2.6微信數(shù)據(jù)的提取和分析8.3Android密碼繞過與物理取證8.3.1獲取root權(quán)限8.3.2繞過Android設(shè)備密碼8.3.3
Android物理鏡像的提取8.3.4
獲取Android外置存儲設(shè)備鏡像8.3.5Android物理鏡像的分析8.3.6Android數(shù)據(jù)恢復(fù)8.1Android智能手機(jī)取證概述8.1Android智能手機(jī)取證概述8.1.1Android概況及發(fā)展歷程
Android操作系統(tǒng)的歷史最早可以追溯至2003年10月,AndyRubin等人創(chuàng)立了AndroidInc.公司,該公司在成立僅22個(gè)月后在2005年8月17日被Google公司收購;在2007年,Google聯(lián)合其他軟硬件制造商與電信運(yùn)營商共同成立了“開放手持設(shè)備聯(lián)盟(OpenHandsetAlliance)”,基于開源的LinuxKernel2.6發(fā)布了首個(gè)免費(fèi)的移動終端操作系統(tǒng)Android;2008年,首個(gè)采用Android操作系統(tǒng)的智能手機(jī)“HTCDream”發(fā)布,在其后近十年間,Android操作系統(tǒng)發(fā)展速度驚人,截止2018年5月,Android操作系統(tǒng)已經(jīng)發(fā)展到Android9.0版本,并陸續(xù)針對電視、智能可穿戴設(shè)備和汽車等發(fā)布了AndroidTV、WearOS以及AndroidAuto等衍生操作系統(tǒng)。
Android操作系統(tǒng)的基本架構(gòu)如上圖所示,主要有Linux內(nèi)核、硬件抽象層、原生C/C++庫、Android運(yùn)行時(shí)庫(ART)、JavaAPI框架以及系統(tǒng)應(yīng)用組成,關(guān)于每部分的具體構(gòu)成和組件,可以在Android官方平臺介紹頁面詳細(xì)了解,由于篇幅所限,本章節(jié)不再贅述。經(jīng)歷了近十年的版本變遷,Android操作系統(tǒng)中一些功能與機(jī)制持續(xù)改進(jìn)與完善;比如,在早期版本中,Android使用了Dalvik虛擬機(jī)機(jī)制,由于Android應(yīng)用程序使用Java語言開發(fā),Java源代碼通過Dex轉(zhuǎn)換后可以直接運(yùn)行于Dalvik虛擬機(jī)(DVM)中,而在Android5.0版本之后,DVM機(jī)制被替換為Android運(yùn)行時(shí)庫(后文簡稱ART,AndroidRuntime),后者更為高效且省電。8.1.1Android概況及發(fā)展歷程
與之類似的和取證相關(guān)的Android系統(tǒng)版本發(fā)展變化還包括安全方面的改進(jìn),Android6.0系統(tǒng)中增加了全盤加密(后文簡稱FDE,F(xiàn)ullDiskEncryption),為Android設(shè)備的數(shù)據(jù)安全提供了更高的安全保障,其后的Android7.x版本更是將單密鑰加密的FDE方式升級為了與iOS系統(tǒng)數(shù)據(jù)加密類似的“基于文件加密”(FBE,F(xiàn)ile-basedEncryption),允許數(shù)據(jù)根據(jù)需要進(jìn)行解密,這使得多數(shù)基于離線芯片拆卸(Chip-off)方式的取證完全失效。8.1.1Android概況及發(fā)展歷程
上述兩個(gè)例子表明,作為目前占據(jù)市場份額最大的智能終端操作系統(tǒng),Android的版本更新與完善直接影響到針對其的取證方式和取證效果,所以,取證調(diào)查人員應(yīng)當(dāng)熟悉和了解不同版本Android操作系統(tǒng)的主要差異、尤其是在安全功能方面的變化,并持續(xù)關(guān)注與了解Android系統(tǒng)的發(fā)展趨勢和最新動態(tài),以便及時(shí)適應(yīng)和有針對性地更新取證方面的知識與方法。8.1.1Android概況及發(fā)展歷程
8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)由于Android的開放性特點(diǎn),眾多設(shè)備廠商甚至業(yè)余愛好者都可以在官方Android版本基礎(chǔ)上進(jìn)行再次開發(fā)和定制,增加額外的功能、提高系統(tǒng)效率;這之中較為常見的廠商定制優(yōu)化版本包括小米MIUI、華為EMUI、OPPOColorOS、vivoFuntouchOS、魅族Flyme等,較為著名的CyanogenMod(簡稱CM)也是第三方團(tuán)隊(duì)在官方Android版本基礎(chǔ)上修改而來。8.1Android智能手機(jī)取證概述從手機(jī)用戶角度看,不同廠商的定制系統(tǒng)通常會加入廠商自己的服務(wù)和應(yīng)用,包括應(yīng)用程序分發(fā)(應(yīng)用商店)、云存儲服務(wù)、個(gè)人信息管理以及多媒體管理工具等,這些定制和修改可以為用戶帶來更好更適合用戶個(gè)性化需求的體驗(yàn);而從取證角度來看,了解和熟悉不同廠商的Android定制版本,包括定制版本系統(tǒng)在數(shù)據(jù)提取與安全方面的限制,對于后續(xù)針對使用這些定制Android版本設(shè)備進(jìn)行取證來說是至關(guān)重要的,因?yàn)橥瑯邮腔贏ndroid進(jìn)行的修改與定制,不同廠商的系統(tǒng)在取證時(shí)采用的方法可能迥然不同。下面將選擇國內(nèi)常見的手機(jī)廠商所使用的定制Android系統(tǒng),側(cè)重系統(tǒng)安全功能與數(shù)據(jù)提取方式方面進(jìn)行簡要介紹。8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)
1.小米MIUIMIUI由小米公司開發(fā),于2010年發(fā)布首個(gè)內(nèi)測版本,早期的MIUI是基于國外第三方團(tuán)隊(duì)的CyanogenModROM進(jìn)行定制,適配于HTCNexusOne機(jī)型,結(jié)合國內(nèi)用戶需求進(jìn)行了功能定制與優(yōu)化,受到了大量用戶好評。截止2018年初已更新至MIUI9。主要適配機(jī)型:小米手機(jī)、紅米手機(jī)接口協(xié)議與數(shù)據(jù)備份方式:除Android官方adb外,部分版本集成mdb協(xié)議可進(jìn)行通訊;MIUI系統(tǒng)自帶備份功能,可進(jìn)行應(yīng)用程序數(shù)據(jù)備份。8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)
2.華為EMUIEMUI(EmotionUI)由華為公司開發(fā),于2012年發(fā)布首個(gè)版本EMUI1.0,基于當(dāng)時(shí)的Android4.0進(jìn)行開發(fā),隨著華為公司移動終端產(chǎn)品的不斷豐富,EMUI更新速度也同步加快,截止2018年初,EMUI已更新至EMUI8版本。主要適配機(jī)型:華為手機(jī)(P系列、Mate系列等)、華為榮耀系列手機(jī)接口協(xié)議與數(shù)據(jù)備份方式:可使用Android官方adb進(jìn)行連接;EMUI系統(tǒng)自帶備份功能,可進(jìn)行應(yīng)用程序數(shù)據(jù)備份。8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)
3.OPPOColorOSColorOS是OPPO公司基于Android系統(tǒng)深度定制的手機(jī)ROM,近年來越來越多國內(nèi)手機(jī)廠商從傳統(tǒng)非智能機(jī)轉(zhuǎn)型至Android智能手機(jī),OPPO便是一個(gè)較為典型的例子,通過在手機(jī)行業(yè)近十年的發(fā)展,目前OPPO品牌智能手機(jī)在國內(nèi)手機(jī)市場占據(jù)了相當(dāng)?shù)姆蓊~;截止2018年初,ColorOS最新版本為ColorOS5.0。主要適配機(jī)型:OPPO品牌手機(jī)接口協(xié)議與數(shù)據(jù)備份方式:使用Android官方adb進(jìn)行連接。8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)
4.vivoFuntouchOSFuntouchOS是vivo公司定制開發(fā)的Android操作系統(tǒng),最初發(fā)布于2013年10月,目前主要使用于vivo品牌手機(jī)中,最新版本為FuntouchOS4.主要適配機(jī)型:vivo品牌手機(jī)接口協(xié)議與數(shù)據(jù)備份方式:使用Android官方adb進(jìn)行連接,部分新版本無法使用adbbackup進(jìn)行備份。8.1.2常見Android手機(jī)廠商及系統(tǒng)特點(diǎn)
8.1.3Android功能特點(diǎn)在本章節(jié)的第一部分,我們就Android系統(tǒng)的基本架構(gòu)進(jìn)行了簡要介紹,由于Android版本更新迭代較快,不同版本間的功能特點(diǎn)與取證相關(guān)聯(lián)的特性也不盡相同,本節(jié)中,主要選擇針對Android操作系統(tǒng)的一些安全機(jī)制方面的功能特點(diǎn)進(jìn)行介紹。8.1Android智能手機(jī)取證概述10%20%30%40%1.應(yīng)用程序權(quán)限機(jī)制2.應(yīng)用程序沙盒機(jī)制4.文件級加密3.全盤加密8.1.3Android功能特點(diǎn)
1.應(yīng)用程序權(quán)限機(jī)制Android操作系統(tǒng)中,應(yīng)用程序?qū)τ诰唧w系統(tǒng)功能的使用都需要進(jìn)行對應(yīng)授權(quán),比如攝像頭、撥號、短信、地理位置、應(yīng)用程序列表和系統(tǒng)存儲等,這種權(quán)限控制可以在應(yīng)用程序安裝過程中進(jìn)行提示,也會在應(yīng)用程序首次運(yùn)行時(shí)進(jìn)行授權(quán)提示。在Android6.0以后的版本中,用戶可以針對應(yīng)用程序的特定權(quán)限進(jìn)行逐項(xiàng)限制,使得用戶可以根據(jù)自己的實(shí)際需要,授予或拒絕應(yīng)用程序的不同功能請求。8.1.3Android功能特點(diǎn)
應(yīng)用程序權(quán)限控制體現(xiàn)在對于取證的影響方面,主要在于,多數(shù)手機(jī)取證軟件通過推送apk的方式在手機(jī)上安裝客戶端,從而實(shí)現(xiàn)對未獲得root權(quán)限手機(jī)的邏輯數(shù)據(jù)提取,這個(gè)過程中,手機(jī)取證客戶端讀取短信、通話記錄、聯(lián)系人和系統(tǒng)信息時(shí),都會觸發(fā)Android系統(tǒng)的權(quán)限控制,此時(shí)取證人員必須逐一點(diǎn)擊允許客戶端進(jìn)行讀取,否則將無法獲得相應(yīng)的數(shù)據(jù)。8.1.3Android功能特點(diǎn)
2.應(yīng)用程序沙盒機(jī)制Android系統(tǒng)中使用了沙盒機(jī)制針對程序權(quán)限進(jìn)行控制,Android為每個(gè)應(yīng)用程序分配了一個(gè)獨(dú)立的UID(UniqueUserID),從而確保每個(gè)應(yīng)用程序僅能夠訪問自己所屬的存儲和指定的系統(tǒng)權(quán)限,在這一機(jī)制保護(hù)下,潛在的惡意程序與病毒程序無法讀取其他應(yīng)用程序存儲的數(shù)據(jù)和系統(tǒng)數(shù)據(jù),保護(hù)了用戶數(shù)據(jù)的安全。8.1.3Android功能特點(diǎn)
3.全盤加密Android4.4版本引入了全盤加密(FDE,F(xiàn)ullDiskEncryption)機(jī)制,在原生Android6.0版本設(shè)備中,默認(rèn)啟用全盤加密設(shè)置;全盤加密是使用密鑰(密鑰本身也經(jīng)過加密)對Android設(shè)備上的所有用戶數(shù)據(jù)進(jìn)行編碼的過程。設(shè)備經(jīng)過加密后,所有由用戶創(chuàng)建的數(shù)據(jù)在寫入磁盤之前都會自動加密,并且所有讀取操作都會在將數(shù)據(jù)返回給調(diào)用進(jìn)程之前自動解密數(shù)據(jù)。全盤加密默認(rèn)情況下采用AES-128算法,當(dāng)用戶設(shè)置了屏幕鎖定密碼(包括手勢密碼、數(shù)字密碼或字母混合密碼)后,用于加密的主密鑰會被再次加密存儲以保證安全。如果Android設(shè)備中開啟了全盤加密,那么,取證時(shí)采用拆卸芯片等方式提取的物理鏡像在進(jìn)行解密之前都無法直接解析,全部數(shù)據(jù)均為密文形式。8.1.3Android功能特點(diǎn)
4.文件級加密在Android7.0及更高版本中,增加了文件級加密(FBE,F(xiàn)ile-basedEncryption)。與FDE全盤加密采用一個(gè)主密鑰進(jìn)行加密不同,文件級加密支持針對不同的文件采用不同的密鑰進(jìn)行加密,并按需進(jìn)行解密。啟用文件級加密的Android設(shè)備可以保證設(shè)備在剛開啟但并未解鎖前,部分系統(tǒng)應(yīng)用數(shù)據(jù)可以提前解密(DE,設(shè)備機(jī)密),同時(shí)在用戶解鎖設(shè)備之前其他類型的個(gè)人數(shù)據(jù)始終處于加密狀態(tài)(CE,憑據(jù)加密),舉例來說,Android7.0設(shè)備開啟FBE加密后,手機(jī)開啟后停留在輸入密碼界面,此時(shí)系統(tǒng)允許將部分應(yīng)用數(shù)據(jù)解密,即便不輸入密碼,系統(tǒng)的鬧鐘和通知消息等應(yīng)用可以正常使用,而其他用戶數(shù)據(jù)仍處于加密保護(hù)之中。8.1.3Android功能特點(diǎn)
8.1.4Android取證準(zhǔn)備工作在了解Android系統(tǒng)的不同層次的取證方式前,首先需要了解有哪幾種方式可以提取Android系統(tǒng)數(shù)據(jù)、這些方式分別基于什么原理、可以提取到的數(shù)據(jù)范圍,本節(jié)還會介紹如何準(zhǔn)備和配置針對Android進(jìn)行取證的環(huán)境。8.1Android智能手機(jī)取證概述
1.AndroidSDK安裝AndroidSDK(SoftwareDevelopmentKit開發(fā)包)主要用于Android應(yīng)用程序的編寫測試與調(diào)試,其中包括了一系列的文檔和調(diào)試工具,包括Adroit手機(jī)取證中經(jīng)常使用到的adb以及AndroidVirtualDevice等均包含在內(nèi)。AndroidSDK安裝包可以在GoogleAndroid項(xiàng)目頁面下載:/studio/#downloads
8.1.4Android取證準(zhǔn)備工作
下載完成后運(yùn)行安裝包,如下列圖中步驟所示:在安裝過程中,根據(jù)需要,可以勾選“AndroidVirtualDevice”工具,該工具可以創(chuàng)建基于任意版本的Android虛擬機(jī),取證調(diào)查人員借助該工具可以研究和分析不同版本的Android系統(tǒng)而無需使用實(shí)際的手機(jī)終端。在全部安裝完成后AndroidStudio將會自動下載完成所需的組件,包括對應(yīng)的SDK工具包。8.1.4Android取證準(zhǔn)備工作
2.AndroiddebugbridgeAndroiddebugbridge(簡稱“adb”)是Android系統(tǒng)用于進(jìn)行數(shù)據(jù)傳輸?shù)腃/S客戶端協(xié)議,對于Android取證來說,adb是非常重要的一個(gè)概念,在絕大多數(shù)情況下的數(shù)據(jù)提取、備份都是基于adb進(jìn)行。使用adb進(jìn)行通信,除了在計(jì)算機(jī)端安裝AndroidSDK外,還需要在Android手機(jī)端開啟“USB調(diào)試模式”,在不同版本的Android系統(tǒng)中,調(diào)試模式的開啟方法也有所差異。8.1.4Android取證準(zhǔn)備工作8.1.4Android取證準(zhǔn)備工作圖8-1?Android手機(jī)端連接調(diào)試模式授權(quán)主要注意的是,在一些廠商定制的Android系統(tǒng)中,開啟USB調(diào)試模式的位置可能會與上表中所列的位置不同。8.1.4Android取證準(zhǔn)備工作
另外,出于安全考慮,Android4.2.2之后的版本在連接USB調(diào)試模式時(shí),需要在屏幕上點(diǎn)擊確認(rèn),如上圖所示,這意味著如果手機(jī)設(shè)置了屏幕鎖定密碼,需要首先解除手機(jī)密碼鎖定后才能夠進(jìn)行USB調(diào)試模式連接。3.通過adb連接Android手機(jī)當(dāng)在計(jì)算機(jī)端安裝AndroidSDK并在Android手機(jī)端打開調(diào)試模式后,便可以通過adb方式連接手機(jī)。將Android手機(jī)連接至計(jì)算機(jī)并允許進(jìn)行調(diào)試連接后,可以使用adbdevices命令查看連接的設(shè)備情況。8.1.4Android取證準(zhǔn)備工作圖8-2使用adbdevices命令查看已連接的設(shè)備情況8.1.4Android取證準(zhǔn)備工作
圖8-3?adb手機(jī)端未授權(quán)連接如設(shè)備顯示為“Unauthorized”,則需要先解除屏幕鎖定后允許進(jìn)行USB調(diào)試模式方可。此時(shí),即可以使用adb方式進(jìn)行數(shù)據(jù)提取和取證工作。8.1.4Android取證準(zhǔn)備工作
8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取在上一小節(jié)中我們曾提到,在Android取證工作中,adb是非常重要的一個(gè)概念,因?yàn)槎鄶?shù)針對Android的邏輯層面的取證都要依賴于adb的方式進(jìn)行,在展開介紹之前,首先需要了解一下不同方式手機(jī)取證方法的差異。8.1Android智能手機(jī)取證概述
圖8-4手機(jī)取證工具分級圖(SamBrothers)下圖所示是SamBrothers關(guān)于手機(jī)取證工具的分級圖,其中,除了最基本的手工提取分析與較為復(fù)雜的芯片拆卸方式外,多數(shù)手機(jī)取證工具都具備的是邏輯數(shù)據(jù)提取和物理提取功能。8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取
邏輯數(shù)據(jù)提取一般是在手機(jī)開機(jī)狀態(tài)下通過與操作系統(tǒng)進(jìn)行交互提取存儲中的現(xiàn)有數(shù)據(jù),通常意義上Android手機(jī)的邏輯數(shù)據(jù)包括系統(tǒng)信息、短信、通話記錄、聯(lián)系人、應(yīng)用程序數(shù)據(jù)以及現(xiàn)有的圖片、音視頻等多媒體文件。Android操作系統(tǒng)中的邏輯數(shù)據(jù)通常存儲在兩種文件中:8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取
1.SQLite數(shù)據(jù)庫文件通常以“*.db”為擴(kuò)展名,大部分?jǐn)?shù)據(jù)存儲于其中,多數(shù)SQLite數(shù)據(jù)庫文件采用不加密明文存儲,可以使用常用的數(shù)據(jù)庫查看器進(jìn)行查看和分析。2.XML配置文件XML文件用于保存應(yīng)用程序參數(shù)配置信息,可以直接使用文本查看器進(jìn)行查看。如下表所示,列出了Android中常用的邏輯數(shù)據(jù)的包名及數(shù)據(jù)包路徑。8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取通常情況下,如Android手機(jī)已解除屏幕鎖定并開啟USB調(diào)試模式,可以利用adb方式將文件從手機(jī)拷貝至計(jì)算機(jī)中,其命令格式為:Adbpull%源數(shù)據(jù)位置%%目標(biāo)位置%比如需要將Android手機(jī)中“download”目錄下的“info.xml”文件拷貝至計(jì)算機(jī)C盤根目錄,可以在命令行中執(zhí)行如下命令圖85adbpull命令8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取需要注意的是,由于Android系統(tǒng)中權(quán)限限制,adbpull命令在訪問包括應(yīng)用程序數(shù)據(jù)、系統(tǒng)數(shù)據(jù)時(shí),需要具備root權(quán)限,此時(shí)需要手機(jī)提前進(jìn)行root操作,或者選擇采用備份應(yīng)用程序數(shù)據(jù)包的方式進(jìn)行提取,關(guān)于root相關(guān)的介紹請參考本章8.3.1的介紹。從Android4.0開始,Android增加了通過adb方式進(jìn)行備份的功能,通過該功能可以將Android系統(tǒng)中原本需要root權(quán)限才能訪問的應(yīng)用程序數(shù)據(jù)使用打包備份的方式進(jìn)行提取,該命令的主要參數(shù)如下:adbbackup[-f備份文件名][-apk|-noapk][-shared|-noshared][-all][-system|nosystem][應(yīng)用包名]8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取
其中,參數(shù)“-f”用于指定備份文件的存儲位置,如不特殊指定,默認(rèn)為adb目錄;“-apk|-noapk”參數(shù)分別代表備份或不備份應(yīng)用程序安裝包apk;“-shared|-noshared”參數(shù)代表是否備份共享存儲或存儲卡存儲;“-all”參數(shù)表示備份所有可備份的應(yīng)用程序數(shù)據(jù);“-system|-nosystem”參數(shù)代表備份是否包含系統(tǒng)應(yīng)用程序,最后“應(yīng)用包名”可以單獨(dú)制定某個(gè)應(yīng)用包名,實(shí)現(xiàn)對于單個(gè)應(yīng)用的獨(dú)立備份。8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取圖8-6?adbbackup命令8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取
在計(jì)算機(jī)端執(zhí)行adbbackup后,Android手機(jī)端會彈出備份窗口,此時(shí)需要點(diǎn)擊界面右下方“備份我的數(shù)據(jù)”按鈕執(zhí)行備份。8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取圖8-7手機(jī)端adbbackup響應(yīng)8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取
備份完成后,在計(jì)算機(jī)端可以找到“backup.ab”文件(如adbbackup命令執(zhí)行時(shí)未另行指定文件名),對該備份數(shù)據(jù)包的解析需要將其轉(zhuǎn)換為可解壓格式,AndroidBackupExtractor可以將“ab”格式的備份包轉(zhuǎn)換為可解壓的“tar”包。針對adbbackup備份包轉(zhuǎn)換后所得到的tar包進(jìn)行解壓,即可獲得所備份的應(yīng)用程序數(shù)據(jù)。8.1.5Android系統(tǒng)邏輯數(shù)據(jù)提取8.2Android系統(tǒng)常見邏輯數(shù)據(jù)提取分析8.2Android操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析8.2.1短信息/彩信的提取和分析Android系統(tǒng)中短信息和彩信采用SQLite數(shù)據(jù)庫方式存儲,默認(rèn)的存儲位置為:/data/data/viders.telephony/databases/mmssms.dbSQLite數(shù)據(jù)庫的查看工具可選擇的較多,如SQLiteExpert、SQLiteBrowser以及SQLiteStudio等,本章節(jié)后續(xù)使用SQLiteExpert作為數(shù)據(jù)庫查看工具進(jìn)行介紹和演示。圖8-8?mmssms.db數(shù)據(jù)庫隨后,使用SQLiteExpert打開該目錄下的“mmssms.db”數(shù)據(jù)庫,可以看到該數(shù)據(jù)庫中包含多個(gè)數(shù)據(jù)表。8.2.1短信息/彩信的提取和分析
其中,表“sms”用于存儲短信息及彩信,主要字段如下表所示:8.2.1短信息/彩信的提取和分析
根據(jù)上述字段,可以對sms表中的短信記錄進(jìn)行逐項(xiàng)解釋,這其中多數(shù)字段采用整型數(shù)與文本格式存儲,其中,“person”字段編號與存儲聯(lián)系人信息的“contacts2.db”中的聯(lián)系人編號對應(yīng)(詳見本章8.2.3),而“date”與“date_sent”字段的時(shí)間采用Unix毫秒計(jì)數(shù),需要進(jìn)行轉(zhuǎn)換變?yōu)闃?biāo)準(zhǔn)日歷時(shí)間,轉(zhuǎn)換時(shí)可以使用ClockSmith等工具進(jìn)行,轉(zhuǎn)換后所得時(shí)間為UTC世界協(xié)調(diào)時(shí),還應(yīng)根據(jù)所在時(shí)區(qū)調(diào)整時(shí)差。8.2.1短信息/彩信的提取和分析圖8-9短信時(shí)間轉(zhuǎn)換8.2.1短信息/彩信的提取和分析
8.2.2通話記錄提取和分析Android系統(tǒng)中通話記錄與聯(lián)系人存儲于同一SQLite數(shù)據(jù)庫中,其路徑為:/data/data/viders.contacts/databases/contacts2.db使用SQLiteExpert打開該數(shù)據(jù)庫,其中“calls”數(shù)據(jù)表用于存儲通話記錄項(xiàng)目。8.2Android操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析
需要注意的是,在部分品牌手機(jī)定制的Android系統(tǒng)中,“contacts2.db”數(shù)據(jù)庫中并不直接使用“calls”數(shù)據(jù)表存儲通話記錄,而是將該數(shù)據(jù)單獨(dú)存儲為其他的數(shù)據(jù)庫,比如華為EMUI的“calls.db”數(shù)據(jù)庫用于存儲通話記錄,取證人員需要根據(jù)實(shí)際情況尋找對應(yīng)的數(shù)據(jù)來源。8.2.2通話記錄提取和分析
該數(shù)據(jù)表中記錄了通話記錄的相關(guān)信息,其主要字段如下表所示:8.2.2通話記錄提取和分析8.2.2通話記錄提取和分析在部分品牌手機(jī)定制的系統(tǒng)中,除了標(biāo)準(zhǔn)通話記錄的字段,還會增加諸如黃頁標(biāo)記、來電識別歸屬地等個(gè)性化功能,這些數(shù)據(jù)也會一并存儲在其對應(yīng)的數(shù)據(jù)庫中。圖8-10通話記錄的其他字段8.2.2通話記錄提取和分析8.2.3聯(lián)系人信息提取和分析聯(lián)系人信息與通話記錄信息一樣,存儲在“contacts2.db”數(shù)據(jù)庫中,其中與聯(lián)系人相關(guān)的幾個(gè)主要數(shù)據(jù)表包括:1.groups表:聯(lián)系人分組信息2.contacts表:聯(lián)系人信息3.raw_contacts表:存儲更多關(guān)于聯(lián)系人的字段數(shù)據(jù)4.mimetypes表:定義聯(lián)系人信息中的mime類型5.data表:按行存儲的聯(lián)系人詳細(xì)信息圖8-11?groups表下面逐一進(jìn)行分析:1.groups表groups表存儲了用戶針對聯(lián)系人進(jìn)行的分組信息,“title”字段是群組名稱,“note”字段是群組描述。8.2.3聯(lián)系人信息提取和分析
2.contacts表contacts表保存了聯(lián)系人的聯(lián)系次數(shù)和信息更新時(shí)間等信息,其表結(jié)構(gòu)如下:8.2.3聯(lián)系人信息提取和分析
3.raw_contacts表與上面的contacts表類似,raw_contacts表儲存了關(guān)于聯(lián)系人的更多屬性信息,比如聯(lián)系人的顯示名稱、個(gè)性化手機(jī)鈴聲等。8.2.3聯(lián)系人信息提取和分析
4.data表data表用于存儲聯(lián)系人詳細(xì)的信息,隨著Android手機(jī)版本不斷更新,所支持的聯(lián)系人字段較之以往非智能手機(jī)簡單的電話號碼、姓名、電子郵件等字段以外更為豐富,比如聯(lián)系人的即時(shí)通訊賬號、頭像照片以及個(gè)人網(wǎng)站等信息,這些信息通過data表與mimetypes表的關(guān)聯(lián)存儲在數(shù)據(jù)庫中:8.2.3聯(lián)系人信息提取和分析圖8-12?data表8.2.3聯(lián)系人信息提取和分析8.2.3聯(lián)系人信息提取和分析
通過上面的圖表可以看到,data表中保存的數(shù)據(jù)看起來并不規(guī)律,既有電子郵件,還有姓名或者電話號碼,其實(shí)這些信息與其他數(shù)據(jù)表均有關(guān)聯(lián)——其中,raw_contact_id代表聯(lián)系人唯一的id號碼,同一個(gè)id號碼的聯(lián)系人后方的data1至data15存儲的數(shù)據(jù)屬于同一聯(lián)系人,而mimetypes_id的數(shù)值決定了后續(xù)data1至data15為哪種數(shù)據(jù)提供存儲,mimetypes_id的詳細(xì)定義由mimetypes表存儲,我們繼續(xù)向下分析該表。8.2.3聯(lián)系人信息提取和分析
5.mimetypes表mimetypes表中按照其id分別指定了該類型存儲的數(shù)據(jù)項(xiàng)目,下圖是一個(gè)典型的mimetypes表,可以看到,字段“_id”為“1”的數(shù)據(jù)項(xiàng)代表“vnd.android.cursor.item/email_v2”,從字面即可判斷為電子郵件數(shù)據(jù);而“_id”為“5”代表為電話號碼,“7”為姓名。8.2.3聯(lián)系人信息提取和分析圖8-13?mimetypes表8.2.3聯(lián)系人信息提取和分析
根據(jù)這樣的定義,結(jié)合data表中的內(nèi)容來分析便清晰很多,如下圖中畫框部分,相同的“raw_contact_id”值“25”表示這些信息屬于同一聯(lián)系人,分別是他的電話號碼(mimetypes_id為5)、姓名(mimetypes_id為7)和他所屬的聯(lián)系人分組信息(mimetypes_id為12)。8.2.3聯(lián)系人信息提取和分析圖8-14同一聯(lián)系人的多項(xiàng)mimetypes記錄通過對上述數(shù)據(jù)表的分析,可以較為完整地提取Android系統(tǒng)中聯(lián)系人的相關(guān)數(shù)據(jù)。8.2.3聯(lián)系人信息提取和分析
8.2.4
瀏覽器歷史記錄提取和分析在針對Android手機(jī)的取證工作中,調(diào)查與瀏覽器相關(guān)的瀏覽記錄是一項(xiàng)較為主要的工作,與計(jì)算機(jī)瀏覽器類似,Android平臺也有多種不同類型的瀏覽器,常見的有GoogleChrome、FireFoxMobile、Opera以及國內(nèi)的UC瀏覽器、QQ瀏覽器和360瀏覽器等。本節(jié)主要以Android系統(tǒng)自帶瀏覽器為例,介紹如何分析瀏覽器的相關(guān)記錄。8.2Android操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析
Android自帶瀏覽器的數(shù)據(jù)包路徑位于:/data/data/com.android.browser/browser2.db通過adb方式或其他方式將該文件提取至分析計(jì)算機(jī),使用SQLite數(shù)據(jù)庫查看器打開該數(shù)據(jù)庫,與瀏覽器用戶痕跡相關(guān)的主要為該數(shù)據(jù)庫的兩個(gè)數(shù)據(jù)表。8.2.4瀏覽器歷史記錄提取和分析
圖8-15?history表1.history表數(shù)據(jù)庫中的history表保存了瀏覽器的所有瀏覽歷史記錄。8.2.4瀏覽器歷史記錄提取和分析
該表中,“title”字段為瀏覽網(wǎng)頁的標(biāo)題,“url”字段為網(wǎng)頁完整URL地址,“created”字段存儲的是防衛(wèi)該網(wǎng)頁的時(shí)間,需要注意的是,此處的時(shí)間與其他數(shù)據(jù)庫中的時(shí)間格式相同,均為Unix毫秒計(jì)時(shí)間,默認(rèn)為UTC時(shí)間,需要根據(jù)所在時(shí)區(qū)調(diào)整。8.2.4瀏覽器歷史記錄提取和分析
圖8-16?bookmarks表2.
bookmarks表數(shù)據(jù)庫的bookmarks表保存了瀏覽器中所有的書簽記錄。由于篇幅所限,其他第三方瀏覽器的數(shù)據(jù)分析本章不再贅述,讀者可根據(jù)實(shí)際情況選擇工具進(jìn)行手工提取和分析。8.2.4瀏覽器歷史記錄提取和分析
8.2.5
郵件客戶端信息的提取和分析Android系統(tǒng)中自帶的電子郵件客戶端允許用戶直接配置帳戶信息后進(jìn)行郵件的收發(fā),相對于iOS系統(tǒng)中郵件的高安全級別,分析Android平臺的電子郵件數(shù)據(jù)則較為簡單。Android系統(tǒng)自帶電子郵件客戶端數(shù)據(jù)包的路徑位于:/data/data/com.google.android.email/databases/EmailProvider.db8.2Android操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析
使用SQLite數(shù)據(jù)庫查看器打開該數(shù)據(jù)庫,發(fā)現(xiàn)其主要數(shù)據(jù)表結(jié)構(gòu)如下:Account表:記錄郵件賬戶信息Attachment表:記錄郵件附件信息HostAuth表:記錄電子郵件收發(fā)服務(wù)器地址及郵箱帳戶密碼信息Mailbox表:郵箱文件夾信息Message表:電子郵件摘要數(shù)據(jù)8.2.5郵件客戶端信息的提取和分析
此外,完整的電子郵件則保存在以下數(shù)據(jù)庫中:/data/data/com.google.android.email/databases/EmailProviderBody.db電子郵件客戶端的分析工作與前幾節(jié)中介紹的針對通話記錄和聯(lián)系人數(shù)據(jù)的分析類似,如需得到完整信息,需要將上述兩個(gè)數(shù)據(jù)庫中不同表的信息相互關(guān)聯(lián)起來。如下表所示,我們選擇一封郵件并節(jié)選其部分字段,用以解釋電子郵件在上述兩個(gè)數(shù)據(jù)庫中的存儲方式,展示其關(guān)聯(lián)關(guān)系:8.2.5郵件客戶端信息的提取和分析8.2.5郵件客戶端信息的提取和分析圖8-17EmailProviderBody數(shù)據(jù)庫中的完整內(nèi)容隨后根據(jù)其郵件id“32”,在EmailProviderBody.db數(shù)據(jù)庫中,可以找到該郵件的完整內(nèi)容。8.2.5郵件客戶端信息的提取和分析
由于采用SQLite數(shù)據(jù)庫方式存儲,Android系統(tǒng)的電子郵件數(shù)據(jù)除了可以采用上述方法進(jìn)行手工分析外,還可以借助專業(yè)的手機(jī)取證軟件對已刪除的電子郵件數(shù)據(jù)進(jìn)行恢復(fù)。8.2.5郵件客戶端信息的提取和分析
8.2.6
微信數(shù)據(jù)的提取和分析如前文所述,Android智能手機(jī)的邏輯數(shù)據(jù)提取包括了短信、通話記錄、聯(lián)系人這些系統(tǒng)數(shù)據(jù),還包括手機(jī)中安裝的各類App數(shù)據(jù),在當(dāng)前的手機(jī)取證工作中,針對App的提取和分析已經(jīng)成為手機(jī)取證的重要工作內(nèi)容,與此同時(shí),對于各類手機(jī)App的取證也為調(diào)查人員帶來了更多的挑戰(zhàn),例如:面對日益增加的應(yīng)用程序安全機(jī)制如何才能有效提取數(shù)據(jù)?手機(jī)App快速更新導(dǎo)致數(shù)據(jù)存儲方式變化該如何進(jìn)行分析?……8.2Android操作系統(tǒng)常見邏輯數(shù)據(jù)提取分析
作為在國內(nèi)目前最為主流的手機(jī)即時(shí)通訊應(yīng)用,微信擁有極為龐大的用戶群體,對微信App的取證也顯得更為重要,本節(jié)中,我們選擇微信這一具有代表性的Android應(yīng)用程序,來介紹一下如何提取和分析微信的數(shù)據(jù)。在Android系統(tǒng)中,微信官方版本的數(shù)據(jù)包存儲路徑為:/data/data/com.Tencent.mm/在該路徑下的MicroMsg目錄用于存儲微信聊天記錄。8.2.6微信數(shù)據(jù)的提取和分析
需要額外注意的是,由于Android微信App6.0以上版本不再允許采用用戶使用adbbackup方式備份自身數(shù)據(jù),提取微信數(shù)據(jù)一般需要在手機(jī)端取得root權(quán)限,或制作手機(jī)物理鏡像后方可進(jìn)行分析。8.2.6微信數(shù)據(jù)的提取和分析圖8-18com.Tencent.mm目錄8.2.6微信數(shù)據(jù)的提取和分析
在MicroMsg目錄下,根據(jù)所使用微信賬號數(shù)量的不同,存在一個(gè)或多個(gè)對應(yīng)的以MD5值命名的目錄,用于保存不同賬號所對應(yīng)的微信數(shù)據(jù),該MD5值為來源于md5(mm,UIN),代表不同微信賬號對應(yīng)的數(shù)據(jù)。8.2.6微信數(shù)據(jù)的提取和分析圖8-19多個(gè)微信賬號對應(yīng)的目錄8.2.6微信數(shù)據(jù)的提取和分析圖8-20?EnMicroMsg.db數(shù)據(jù)庫8.2.6微信數(shù)據(jù)的提取和分析
對應(yīng)微信賬號下的EnMicroMsg.db數(shù)據(jù)庫用于存儲微信聊天記錄,和前面介紹的多數(shù)系統(tǒng)信息采用SQLite數(shù)據(jù)庫不加密明文存儲不同,微信對于其數(shù)據(jù)庫進(jìn)行了加密,加密方式為SQLcipher,此時(shí)需要計(jì)算出對應(yīng)的密碼來進(jìn)行解密。計(jì)算數(shù)據(jù)庫密碼需要掌握兩個(gè)要素,首先,通過直接查看手機(jī)中的“關(guān)于”信息,或在撥號界面輸入“*#06#”獲取手機(jī)的IMEI/MEID信息;然后,在微信數(shù)據(jù)包路徑“com.tencent.mm\shared_prefs\auth_info_key_prefs.xml”中找到明文存儲的微信UIN值。8.2.6微信數(shù)據(jù)的提取和分析圖8-21?微信UIN值8.2.6微信數(shù)據(jù)的提取和分析隨后,將兩者按照下方形式組合計(jì)算MD5散列,并取其散列值前7位,即為對應(yīng)的“EnMicroMsg.db”的加密密碼:8.2.6微信數(shù)據(jù)的提取和分析圖8-22解密后的微信數(shù)據(jù)庫使用支持SQLCipher的數(shù)據(jù)庫查看器打開EnMicroMsg.db數(shù)據(jù)庫,使用上述7位密碼即可打開加密的微信數(shù)據(jù)庫。8.2.6微信數(shù)據(jù)的提取和分析
EnMicroMsg.db數(shù)據(jù)庫中主要包含以下數(shù)據(jù)表:8.2.6微信數(shù)據(jù)的提取和分析8.2.6微信數(shù)據(jù)的提取和分析對解密后的微信數(shù)據(jù)庫進(jìn)行分析,便可以較為完整的提取微信App中的各類數(shù)據(jù)。本節(jié)選擇微信App為例介紹了針對Android系統(tǒng)中App程序的手工分析方法,目的在于使讀者對于AndroidApp的數(shù)據(jù)存儲方式和分析思路形成系統(tǒng)性的理解,而在實(shí)際取證工作中,多數(shù)App程序的數(shù)據(jù)庫并未加密存儲,且通過手機(jī)取證軟件均可直接進(jìn)行提取和分析。8.3Android密碼繞過與物理取證8.3Android密碼繞過與物理取證8.3.1獲取root權(quán)限
在進(jìn)行Android手機(jī)取證工作時(shí),獲取Android手機(jī)的root權(quán)限是很多數(shù)據(jù)提取的先決條件,在本章開頭部分我們介紹到,Android是基于Linux內(nèi)核開發(fā)的移動設(shè)備操作系統(tǒng),而在類Unix操作系統(tǒng)中,root用戶據(jù)有最高級別權(quán)限,所以,基于安全方面的考慮,幾乎所有版本的Android手機(jī)在默認(rèn)狀態(tài)下都不提供root權(quán)限。因此,對于取證調(diào)查人員來說,熟悉和了解獲取root權(quán)限的原理,掌握常用的獲取手機(jī)root權(quán)限的方法,以及清楚理解root一部手機(jī)可能產(chǎn)生的影響與風(fēng)險(xiǎn),便顯得尤為重要。接下來的部分將概括介紹目前Android手機(jī)常用的獲取root權(quán)限的方法及相關(guān)的概念及應(yīng)用。
1.root的本質(zhì)root是對于系統(tǒng)的修改,通常情況下是利用了廠商在軟件或硬件上的安全缺陷或漏洞,將特定的程序(su)附加并執(zhí)行來進(jìn)行權(quán)限提升。由于這個(gè)過程是未經(jīng)廠商許可進(jìn)行的修改,所以存在導(dǎo)致手機(jī)軟件與硬件故障且無法還原的風(fēng)險(xiǎn),這將會直接導(dǎo)致電子證據(jù)的滅失!在任何情況下,取證人員都應(yīng)清楚意識到這一風(fēng)險(xiǎn),在具備條件的情況下首先進(jìn)行測試驗(yàn)證,并在取證過程中詳實(shí)記錄全部操作。8.3.1獲取root權(quán)限
2.通過第三方root工具獲得root權(quán)限互聯(lián)網(wǎng)上有許多第三方工具可以根據(jù)手機(jī)型號和系統(tǒng)版本,提供對應(yīng)的開機(jī)root權(quán)限獲取功能,常見的此類工具包括Kingroot、360一鍵root、root精靈等,一般情況下,Android系統(tǒng)版本較早的手機(jī)(一般為Android4.4及之前的版本)更容易獲取root權(quán)限,而Android版本較高、安全更新日期較新的手機(jī)使用此類工具獲取root權(quán)限成功率較低。3.通過刷入第三方Recovery獲取root權(quán)限Android系統(tǒng)的Recovery分區(qū)用于對系統(tǒng)更新和系統(tǒng)恢復(fù),在早期版本的Android中,常用的第三方Recovery程序包括CWM(ClockWorkMod)Recovery,而適用于較新版本Android的第三方Recovery主要包括TWRP(TeamWimRecoveryProject)等。8.3.1獲取root權(quán)限圖8-23?TWRPRecovery界面在Android手機(jī)中刷入修改后的第三方Recovery,重啟進(jìn)入Recovery模式,第三方Recovery將直接提供adb及root權(quán)限進(jìn)行數(shù)據(jù)獲取。8.3.1獲取root權(quán)限
部分廠商定制系統(tǒng)提供獲取root權(quán)限功能除了以上方式以外,一些品牌Android手機(jī)采用廠商定制ROM,提供或部分提供了臨時(shí)性的root權(quán)限,比如部分魅族品牌手機(jī),在登錄用戶賬號后可以臨時(shí)開啟root權(quán)限。目前主流的Android操作系統(tǒng)取證工作中,使用最多且適用范圍最廣的是采用“刷入第三方Recovery”的方式,下面我們進(jìn)一步介紹具體方法。8.3.1獲取root權(quán)限8.3.1獲取root權(quán)限
(1)解除Bootloader鎖:為了防止用戶通過刷寫分區(qū)修改系統(tǒng),近年來,Android手機(jī)廠商開始對刷機(jī)行為進(jìn)行限制,主要方式是增加Bootloader鎖定,Bootloader鎖定后將會在開機(jī)時(shí)自動檢查boot.img和recovery.img,如果簽名驗(yàn)證發(fā)現(xiàn)刷入了第三方的boot包與Recovery包,將拒絕繼續(xù)引導(dǎo)系統(tǒng)。所以,在刷入第三方Recovery之前,需要先解除這個(gè)鎖定。目前多數(shù)Android手機(jī)廠商均提供了官方渠道,用戶只需提交設(shè)備信息和賬號,即可申請解除Bootloader鎖,但官方解鎖不適用于所有品牌手機(jī),比如華為手機(jī)如通過官方渠道解除Bootloader鎖將有可能自動清除所有數(shù)據(jù)。8.3.1獲取root權(quán)限
(2)刷入第三方Recovery:解除Bootloader鎖后,便可開始刷入第三方Recovery分區(qū),針對不同品牌不同型號的手機(jī),刷入方式也不盡相同,常用的方式包括在Fastboot模式下刷入和使用專用刷機(jī)工具刷入。(3)進(jìn)入第三方Recovery:完成Recovery分區(qū)刷寫后,使用快捷鍵組合進(jìn)入Recovery模式,即可獲取root權(quán)限。8.3.1獲取root權(quán)限
8.3.2繞過Android設(shè)備密碼在很多實(shí)際取證操作中,Android手機(jī)設(shè)置了密碼或者由于調(diào)查對象特殊等原因,無法獲知設(shè)備密碼,在這種情況下,取證分析人員必須通過技術(shù)手段繞過或者恢復(fù)出手機(jī)密碼才可以開展進(jìn)一步的取證工作。8.3Android密碼繞過與物理取證
1. Android操作系統(tǒng)的密碼類型通常情況下,Android操作系統(tǒng)允許用戶設(shè)置三種類型的屏幕鎖定,分別是圖案密碼、數(shù)字密碼、混合密碼。隨著手機(jī)功能的不斷豐富,很多新款A(yù)ndroid手機(jī)也提供了基于生物特征的密碼功能,比如指紋密碼、人臉識別密碼、聲紋密碼以及虹膜密碼等,但是在使用這些生物特征作為解密憑據(jù)時(shí),必須依賴上述三種形式的密碼作為基礎(chǔ)密碼。8.3.2繞過Android設(shè)備密碼俗稱“九宮格”密碼,使用9點(diǎn)連線形成的組合圖形作為密碼。圖案密碼混合密碼也稱為文本密碼,允許用戶使用任意文本字符作為密碼(包括數(shù)字、大小寫字母和符號等)。數(shù)字密碼采用純數(shù)字形式的密碼,一般要求至少由4位數(shù)字組成。Android操作系統(tǒng)的密碼類型
2. 圖案密碼的加密原理(Android2.2至Android5.x)圖案密碼的加密方式主要分為“圖案輸入”、“明文轉(zhuǎn)換”、“計(jì)算散列”三個(gè)步驟,舉例來說:(1)用戶設(shè)置圖案密碼“Z”字母圖形,如8-24圖所示。(2)系統(tǒng)按照點(diǎn)位排列將上述圖案依序轉(zhuǎn)換為00-01-02-04-06-07-08;(3)對這個(gè)順序字符串00010204060708進(jìn)行SHA-1散列計(jì)算,得到散列值6a062b9b3452e366407181a1bf92ea73e9ed4c48;(4)將該散列值存儲為gesture.key文件。8.3.2繞過Android設(shè)備密碼
圖8-24設(shè)置圖案密碼8.3.2繞過Android設(shè)備密碼
3.數(shù)字密碼與混合密碼加密原理(Android2.2至Android5.x)(1)用戶輸入文字密碼“hello123”;(2)系統(tǒng)在字符串中混入Salt值;(3)將整合后的字符串分別計(jì)算SHA-1和MD5散列,并將散列值合并;(4)合并后的散列值存儲為password.key文件。8.3.2繞過Android設(shè)備密碼
在Android6.0以及之后的版本中,針對設(shè)備屏幕鎖密碼的安全機(jī)制做了進(jìn)一步加強(qiáng),在原有基礎(chǔ)上引入了Gatekeeper機(jī)制,用于校驗(yàn)和加密原來的設(shè)備密碼,用于存儲密碼的文件名稱也做了變更。8.3.2繞過Android設(shè)備密碼
4.清除key文件實(shí)現(xiàn)密碼繞過了解了三種密碼的加密原理,便可以通過刪除對應(yīng)加密方式的密碼文件,實(shí)現(xiàn)對于系統(tǒng)密碼的繞過操作,如果該設(shè)備已經(jīng)通過不同方式獲取了root權(quán)限,則可以直接使用adb命令對“gesture.key”、“password.key”等文件進(jìn)行重命名或刪除來實(shí)現(xiàn)清除設(shè)備鎖密碼。例如,使用如下命令刪除圖案密碼的key文件。adbshellcd/data/systemrmgesture.key刪除后可以直接繞過圖案密碼進(jìn)入系統(tǒng)。8.3.2繞過Android設(shè)備密碼
5.Android4.4.2版本adb密碼繞過據(jù)安全研究機(jī)構(gòu)的報(bào)告,Android4.4.2版本在屏幕密碼鎖定的情況下,可以通過重啟adb指令來實(shí)現(xiàn)無密碼授權(quán)adb連接,具體操作方式是:(1)將密碼鎖定的Android4.4.2手機(jī)連接計(jì)算機(jī);(2)將屏幕滑動至“緊急撥號”或“相機(jī)”界面;(3)執(zhí)行如下命令:adbkill-serveradbshell8.3.2繞過Android設(shè)備密碼
(4)此時(shí),授權(quán)USB調(diào)試連接的對話框?qū)⒅苯犹觯瑹o需輸入密碼即可點(diǎn)擊允許USB調(diào)試連接。對Android手機(jī)的密碼進(jìn)行繞過,目的主要是為了進(jìn)入用戶界面,從而可以與系統(tǒng)交互進(jìn)行多數(shù)邏輯取證工作,而如果Android手機(jī)版本較高、無有效獲取root權(quán)限的方式,則需要考慮選擇對設(shè)備制作物理鏡像的方式來提取所需數(shù)據(jù)。8.3.2繞過Android設(shè)備密碼
8.3.3Android物理鏡像的提取針對Android手機(jī)進(jìn)行物理提取通常可以采用以下幾種方法,下面分別進(jìn)行介紹與演示。1. 已root設(shè)備制作鏡像在以獲取root權(quán)限的情況下,可以直接使用dd命令對Android手機(jī)指定分區(qū)進(jìn)行物理鏡像。8.3Android密碼繞過與物理取證圖8-25?shell下枚舉分區(qū)連接手機(jī)并開啟調(diào)試模式,在命令行中輸入adbshell,su,使用“mount”枚舉手機(jī)中所有分區(qū)信息:8.3.3Android物理鏡像的提取
從輸出結(jié)果中可以看到,該手機(jī)對應(yīng)的分區(qū)掛載信息,包括system系統(tǒng)分區(qū),userdata用戶分區(qū)以及cache緩存分區(qū)等,其中用戶數(shù)據(jù)分區(qū)掛載點(diǎn)為:/dev/block/platform/msm_sdcc.1/by-name/userdata,使用dd命令,可以將userdata分區(qū)數(shù)據(jù)進(jìn)行物理鏡像操作。ddif=/dev/block/platform/msm_sdcc.1/by-name/userdataof=/sdcard/data.img通過執(zhí)行上述命令,userdata分區(qū)將會被轉(zhuǎn)出為鏡像文件,保存至手機(jī)SD存儲卡中。8.3.3Android物理鏡像的提取
2.聯(lián)發(fā)科MTK處理器手機(jī)提取物理鏡像聯(lián)發(fā)科技(MediaTek,簡稱MTK)是臺灣地區(qū)的芯片制造商,其芯片產(chǎn)品主要面向無線通信以及數(shù)字多媒體產(chǎn)品。在Android智能手機(jī)普及前,其中低端手機(jī)芯片解決方案占據(jù)了國內(nèi)市場份額的大半。目前,聯(lián)發(fā)科解決方案覆蓋了從高端到中低端Android手機(jī);通過聯(lián)發(fā)科的底層刷機(jī)工具“SPFlashTool”,可以針對采用指定聯(lián)發(fā)科處理器方案手機(jī)進(jìn)行分區(qū)鏡像下載。8.3.3Android物理鏡像的提取
我們以采用聯(lián)發(fā)科MT6797的某款國內(nèi)品牌手機(jī)為例,在取證計(jì)算機(jī)端安裝“SPFlashTool”工具并運(yùn)行,隨后,在其中選擇對應(yīng)的處理器型號,指定對應(yīng)的分散加載文件(scatterfile),分散加載文件用于描述該型號處理器的存儲中各個(gè)block的范圍,取證人員可以在其他同樣使用MT6797處理器的手機(jī)中導(dǎo)出。8.3.3Android物理鏡像的提取圖8-26使用MTKSPFlashTool下載MTK手機(jī)分區(qū)鏡像8.3.3Android物理鏡像的提取8.3.3Android物理鏡像的提取加載完畢后,下方列表展示了該手機(jī)存儲中對應(yīng)的分區(qū)信息,選擇用于保存用戶數(shù)據(jù)的“userdata”分區(qū),隨后點(diǎn)擊“Download”按鈕,將需要制作鏡像的手機(jī)關(guān)機(jī)后使用數(shù)據(jù)線連接,即可開始鏡像下載。
3. 高通處理器手機(jī)提取物理鏡像高通(Qualcomm)公司是全球移動通信行業(yè)的領(lǐng)軍企業(yè),其面向移動終端的“驍龍(SnapDragon)”系列處理器被廣泛用于中高端Android智能手機(jī);與聯(lián)發(fā)科類似,針對部分型號的高通手機(jī),也可以使用廠商的底層刷機(jī)工具提取手機(jī)的物理鏡像。高通面向手機(jī)維修與售后人員提供了QualcommProductSupportTool(QPST)支持工具包,其中所包含的QualcommFlashImageLoader(QFIL)工具可以直接下載采用高通處理器手機(jī)的物理鏡像。8.3.3Android物理鏡像的提取
使用高通鏡像下載工具下載鏡像,需要手機(jī)進(jìn)入高通9008模式,根據(jù)手機(jī)的不同,可分別采用“adbrebootedl”方式、Fastboot方式或使用專門的“9008數(shù)據(jù)線”進(jìn)入該模式。手機(jī)進(jìn)入9008模式后,可以在設(shè)備管理器中識別到該設(shè)備名稱“QualcommHS-USBQDLoader9008”。8.3.3Android物理鏡像的提取圖8-27高通9008模式設(shè)備識別8.3.3Android物理鏡像的提取圖8-28
高通QPST中的QFIL工具8.3.3Android物理鏡像的提取隨后打開QFIL鏡像下載工具,使用該工具下載鏡像還需要選擇手機(jī)對應(yīng)的“*.mbn”文件和,通過下載該手機(jī)官方提供的線刷刷機(jī)包,可以直接提取出對應(yīng)的文件。圖8?29QFIL工具查看手機(jī)分區(qū)8.3.3Android物理鏡像的提取如提供的“*.mbn”無誤,接下來直接使用QFIL中的分區(qū)查看器瀏覽手機(jī)存儲中的分區(qū)情況。圖8-30?QFIL下載userdata分區(qū)向下拖動,找到主要用于保存用戶數(shù)據(jù)的userdata分區(qū),選擇讀取該分區(qū)數(shù)據(jù)。待下載結(jié)束后,即可獲取完整的userdata分區(qū)物理鏡像。8.3.3Android物理鏡像的提取
8.3.4獲取Android外置存儲設(shè)備鏡像在部分Android手機(jī)上,除了使用內(nèi)置的存儲外,還允許用戶插入額外的擴(kuò)展存儲卡來存儲數(shù)據(jù),目前較為常用的是MicroSD存儲卡(也稱TF存儲卡),用戶不僅可以將Android手機(jī)拍攝的圖片視頻等多媒體文件存儲在擴(kuò)展存儲卡中,App也可以將自身數(shù)據(jù)存儲在擴(kuò)展存儲卡中;在進(jìn)行Android手機(jī)取證時(shí),如手機(jī)使用了外置擴(kuò)展存儲卡,也應(yīng)對存儲卡制作物理鏡像,便于后續(xù)進(jìn)行刪除恢復(fù)和數(shù)據(jù)分析工作,同時(shí)避免遺漏數(shù)據(jù)。Android系統(tǒng)中的外置擴(kuò)展存儲卡一般采用FAT32/exFAT文件系統(tǒng),這樣有助于數(shù)據(jù)在手機(jī)與計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)傳輸共享,所以,對外置存儲卡制作鏡像的方法可以使用Winhex/FTKimage等進(jìn)行鏡像。8.3Android密碼繞過與物理取證
8.3.5Android物理鏡像的分析通過前面兩節(jié)中演示的方式,當(dāng)完成了Android手機(jī)物理鏡像的提取后,取證人員可以不受限制地對鏡像文件進(jìn)行分析,以主要保存用戶數(shù)據(jù)的userdata分區(qū)為例,該分區(qū)使用了Linux系統(tǒng)中常見的ext4文件系統(tǒng),這就意味著,使用絕大多數(shù)計(jì)算機(jī)取證軟件、手機(jī)取證軟件甚至使用普通磁盤工具都可以對其進(jìn)行分析。本節(jié)中,我們分別使用磁盤編輯工具、開源取證工具、計(jì)算機(jī)取證軟件、手機(jī)取證軟件介紹如何解析Android物理鏡像文件。8.3Android密碼繞過與物理取證
1.使用磁盤編輯工具Winhex分析Android物理鏡像Winhex是電子數(shù)據(jù)取證與數(shù)據(jù)恢復(fù)工作中常用的一款磁盤編輯工具,支持多種常見的文件系統(tǒng)解析,利用Winhex的鏡像文件轉(zhuǎn)換功能,取證人員可以在轉(zhuǎn)換后的文件結(jié)構(gòu)中提取需要分析的文件。8.3.5Android物理鏡像的分析圖8-31使用WinHex將鏡像文件轉(zhuǎn)換為磁盤8.3.5Android物理鏡像的分析
在Winhex中打開Android手機(jī)物理鏡像,此處我們使用上一節(jié)中通過高通9008模式下載的userdata鏡像為例,打開后,使用Winhex菜單中“Specialist”→“InterpretImageFileAsDisk”功能將鏡像文件轉(zhuǎn)換為磁盤。8.3.5Android物理鏡像的分析圖8-32?WinHex解析后的磁盤結(jié)構(gòu)8.3.5Android物理鏡像的分析
解析完成后即可根據(jù)需要在相應(yīng)的路徑進(jìn)行數(shù)據(jù)導(dǎo)出操作,提取文件進(jìn)行進(jìn)一步分析,如應(yīng)用程序數(shù)據(jù)包、系統(tǒng)邏輯數(shù)據(jù)等。2.使用開源取證工具Autopsy解析Android物理鏡像Autopsy是一款開源的免費(fèi)圖形界面取證工具,其具備了案例管理、證據(jù)解析和分析等一系列完整的取證功能,該軟件最新版本可以從/
下載。完成Autopsy后打開,并建立案例,8.3.5Android物理鏡像的分析圖8-33在Autopsy中新建案例8.3.5Android物理鏡像的分析圖8-34添加鏡像文件隨后,添加提取過的Android物理鏡像文件。8.3.5Android物理鏡像的分析圖8-35選擇分析模塊8.3.5Android物理鏡像的分析
Autopsy處理完成后,展開軟件左側(cè)樹形視圖可以展示出該Android物理鏡像的存儲結(jié)構(gòu),可以進(jìn)一步選擇導(dǎo)出文件進(jìn)行分析,也可以利用Autopsy自帶的搜索功能,搜索指定的關(guān)鍵詞或手機(jī)號碼、郵箱地址等信息。8.3.5Android物理鏡像的分析圖8-36?Autopsy解析結(jié)果8.3.5Android物理鏡像的分析
3. 使用計(jì)算機(jī)取證軟件分析Android物理鏡像無論是Android操作系統(tǒng)還是iOS操作系統(tǒng),移動終端操作系統(tǒng)與桌面操作系統(tǒng)具有諸多相似之處,尤其在于文件系統(tǒng)方面,Android操作系統(tǒng)所使用的文件系統(tǒng)主要包括Linux文件系統(tǒng)ext以及Windows文件系統(tǒng)格式FAT32,這就意味著即便是并非來源于計(jì)算機(jī)硬盤,Android物理鏡像也一樣可以使用計(jì)算機(jī)取證軟件進(jìn)行解析和分析。值得一提的是,近年來隨著移動終端的普及,主流的計(jì)算機(jī)取證軟件也逐漸增加了對于手機(jī)等智能移動終端的數(shù)據(jù)分析功能;本節(jié)我們選用EnCase為例,演示使用計(jì)算機(jī)取證軟件分析Android物理鏡像。首先在EnCase中新建案例,在添加Android物理鏡像時(shí)需要注意,EnCase7及以后的版本中,添加包括DD、Bin、Img等擴(kuò)展名在內(nèi)的各類非E01證據(jù)鏡像,需要使用“AddRawImage(添加原始鏡像)”功能加載。8.3.5Android物理鏡像的分析圖8-37?在EnCase中加載Android物理鏡像加載完畢后,便可利用EnCase進(jìn)行文件分析、關(guān)鍵詞搜索、數(shù)據(jù)恢復(fù)、全文索引等分析工作。8.3.5Android物理鏡像的分析
4.使用手機(jī)取證軟件分析Android物理鏡像工欲善其事必先利其器,除了使用通用型的工具輔助對Android物理鏡像進(jìn)行解析和分析之外,我們還可以直接使用專用的手機(jī)取證軟件對Android物理鏡像進(jìn)行分析。目前市面上主流的商業(yè)版手機(jī)取證產(chǎn)品幾乎都具備從邏輯提取到物理提取、鏡像分析在內(nèi)的所有功能,并可以直接進(jìn)行手機(jī)App應(yīng)用解析及刪除恢復(fù)。本例我們選擇使用美亞柏科“DC-4501手機(jī)取證系統(tǒng)”演示如何使用專業(yè)的手機(jī)取證工具解析提取的物理鏡像。8.3.5Android物理鏡像的分析圖8-38?DC-4501手機(jī)取證系統(tǒng)添加Android物理鏡像8.3.5Android物理鏡像的分析圖8-38?DC-4501手機(jī)取證系統(tǒng)添加Android物理鏡像8.3.5Android物理鏡像的分析打開DC-4501手機(jī)取證系統(tǒng)(后文簡稱“手機(jī)取證系統(tǒng)”),新建案例,并
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東廣州市中山大學(xué)孫逸仙紀(jì)念醫(yī)院腫瘤科放療專科科研助理招聘1人考前自測高頻考點(diǎn)模擬試題及答案詳解(全優(yōu))
- 2025河北唐山市灤州市森林草原消防專業(yè)隊(duì)員招聘7人考前自測高頻考點(diǎn)模擬試題及答案詳解(奪冠系列)
- 2025年河南省中醫(yī)院(河南中醫(yī)藥大學(xué)第二附屬醫(yī)院)招聘博士研究生64人考前自測高頻考點(diǎn)模擬試題附答案詳解(模擬題)
- 2025年荊州市荊州區(qū)校園招聘49名中小學(xué)教師考前自測高頻考點(diǎn)模擬試題完整參考答案詳解
- 2025江蘇泰興市人民醫(yī)院招聘高層次人才(第1批)12人考前自測高頻考點(diǎn)模擬試題及一套答案詳解
- 簡單安全協(xié)議書6篇
- 2025年棗莊市口腔醫(yī)院公開招聘備案制工作人員(6人)考前自測高頻考點(diǎn)模擬試題及一套答案詳解
- 2025廣西-東盟經(jīng)濟(jì)技術(shù)開發(fā)區(qū)社會福利院擬聘人員模擬試卷及完整答案詳解一套
- 2025貴州黔東南州三穗縣第七批城鎮(zhèn)公益性崗位招聘15人考前自測高頻考點(diǎn)模擬試題及答案詳解1套
- 2025江蘇中科能源動力研究中心招聘編制內(nèi)高層次專業(yè)技術(shù)人才1人(連云港市)考前自測高頻考點(diǎn)模擬試題完整答案詳解
- 簡單離婚協(xié)議書模板
- 生豬定點(diǎn)屠宰場申請書
- 康復(fù)醫(yī)學(xué)概論課件
- 2025年《公共基礎(chǔ)知識》試題庫(附答案)
- 高二《復(fù)活》課文解讀
- 大圓滿前行考試題及答案
- 2025年國家消防設(shè)施操作員(初級)證書理論知識職業(yè)技能考試試題(含答案)
- 2025年領(lǐng)導(dǎo)力測試題及答案
- 普通話發(fā)音訓(xùn)練素材及練習(xí)方案
- 【衢州】2025年浙江衢州市柯城區(qū)屬事業(yè)單位招聘工作人員17人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 破解“五性”困境以優(yōu)化國企外部董事制度
評論
0/150
提交評論