Cellebrite 4PC – Android
檔案系統提取簡介

2019-6-26 高田數位鑑識

檔案系統提取 – File System Extraction

Cellebrite 4PC支援以下三種檔案系統提取方式,但須符合以下使用條件:

  • 1. 手機須為解鎖狀態。如何繞過密碼鎖可以參考前一篇LockPick繞鎖功能介紹。

  • 2. 需啟動USB Debugging模式。(需要進入開發者模式)

方式 Android版本 備註
Android Backup 4.1及以上 可提取的資料較少,大多數APP皆無法提取
APK Downgrade 4.1及以上 無法物理提取後的最後選項
ADB 皆可 為Android內建開發者工具

表一、檔案系統提取方式

若從現有Cellebrite支援的8,696支手機清單(UFED_Supported_Phone_List_7.18)上來分析,其中5,244支為Android作業系統,支援最多的提取模式為Android Backup,有4,369支手機可以使用該提取方式,再來是APK Downgrade,有4,341支,最後的是ADB,共有2,670支。

各檔案系統提取方式支援的裝置數量

表二、提取方式數量

Android Backup檔案系統提取

Android Backup採adb模式備份連接的Android裝置。Adb 全名是 Android Debug Bridge,是開發或使用 Android 時很常用到的工具,當手機把USB Debugging Mode打開時,手機會執行adb daemon背景程式,而連接的電腦會透過一般用戶等級權限,送出adb backup指令,過程鑑識人員需與手機介面互動,允許後備份才會開始。但不同品牌與型號,能提取的資料也不盡相同。該功能支援Android 4.1以上的版本。

圖一、Android Backup要求備份畫面

要注意的是,該方式能提取的資料在檔案系統裡是最少的,由其APP開發廠商對於用戶個人資料的保護越趨嚴謹,大多數都會將adb backup的權限關閉。如果可以還是以其它提取方式為優先,若沒支援,才考量使用本功能。

Android Backup提取過程相對單純,這邊就不概述,以下為提取完之後的資料,可以看到很多APP皆無法透過這個方式取得。

以下為提取成功後的資訊,4PC會告知可以Extracted, Not Extracted與Unrecognized的APP有哪一些。

可提取之APP/Extracted APPs

從上面資料來看,可以提取的資料與邏輯提取的內容程度差不多。

不可提取之APP/Not Extracted APPs

4PC也會列出可辨識的,但無法藉由Android Backup方式提取的APP。在備註欄,4PC也會建議其他的提取模式,針對WeChat與Line,4PC建議可使用APK Downgrade方式提取內容,下一段也會介紹APK Downgrade提取方式。

無法辨識的APP/Unrecognized APPs

最後是透過Android Backup方式提取,但無法辨識的APP清單,這個情況4PC大多建議採用Physical方式提取。

APK應用程式套件降板提取 – APK Downgrade Extraction

該提取支援4.1以上的Android版本,提取的過程會使用adb指令執行,與Android Backup比較會多了一道程序,所選的APP會降到較早的版本(adb指令可以uninstall & reinstall APK),主要因為舊版的APP安全性較低,adb backup指令權限沒被關閉,因此可提取APP與相關用戶資料。原裝置上安裝的版本,會在提取過程結束後重新安裝回來。注意此方式在降級和恢復原有APP版本時可能會有風險。

  • 早期版本的APP並沒有封鎖adb backup權限,新版APP考量資料安全性,皆無法透過adb backup備份用戶資料。

  • 在其他提取方法皆不可行的情況下(包括JTAG和Chip-off),最後最後(很重要所以寫兩次)才採APK降版方式提取。

開始提取之前,要先至Cellebrite個人入口,下載APK Downgrade Pack,並安裝於4PC上才可啟用該功能。在UFED 4PC介面上選擇Settings > Version > File,既可安裝。

圖二、Cellebrite個人入口下載頁面

Downgrade過程4PC會詢問要提取的APP,這時候只要針對有需要的APP打勾即可。這邊選擇了兩個聊天APP,WeChat與LINE。

圖三、選擇降級的APP

圖四、成功提取

這次示範手機是Android 9.0版本,APK Downgrade可成功提取WeChat與Line資料。

以下為adb指令範例,透過adb指令也可以完成APK Downgrade並提取資料,過程當然沒有4PC + PA方便。譬如WeChat提取出的資料庫為加密型態,需要自行找出加密邏輯,才有辦法嘗試打開資料庫(WeChat加密密碼邏輯為: IMEI搭配WeChat UIN,合併計算出MD5值後,取前7碼便是它的key)。若使用PA(Physical Analyzer),可全自動幫你將加秘的資料庫解開並完成分析,最重要的是,PA提供了一個好閱讀的介面供鑑識人員閱讀提取出的內容。

  • 移除APP:adb shell pm uninstall –k com.tencent.mm

  • 安裝舊版:adb install wechat-old-version.apk

  • 備份資料:adb backup -f wechat.ab com.tencent.mm

ADB提取 – ADB Extraction

ADB提取是三個提取方式中手機支援數量最少的,但可提取的資料量卻是最多也最完整的。該提取支援有內建adb功能的裝置,提取前如果裝置尚未rooted,4PC會嘗試取得臨時的超級使用者權限。提取過程有機會完整取得裝置上所有檔案(包含各APP的用戶資料、系統、隱藏與最高權限檔案等),甚至有機會成功執行物理提取。

以下為取得超級使用者權限後,透過adb shell讀取裝置檔案結構的範例。可看到第9行,WeChat資料夾可被讀取(/data/data一般權限無法讀取),若使用Android Backup,僅能提取/sdcard資料夾下的檔案。

Copy to Clipboard

提取過程只要依照4PC提示就可完成,這邊就不概述。下一篇會針對物理提取方式做介紹,敬請期待。