如何透過 checkra1n JB 並提取 iOS 檔案系統

2020-06-10 by 高田鑑識
三版

上一篇摘錄了checkm8開發者的訪談,Bootrom層級的漏洞對於整個鑑識領域開拓了另外一條新的取證道路。本篇會示範如何藉由checkra1n工具來JB iOS裝置,並透過ssh over USB方式直接採TAR格式提取iOS檔案系統(File System),並匯入PA進行分析。

為什麼要JB?

正常來講,4PC或PA提供的Advanced Logical Acquisition已提供很完整的資料提取,幾乎所有APP用戶資料皆可透過這個方式取出;雖然與iTunes備份出來的資料差異不大,但至少它是一個簡易、穩定並快速的取證模式。但其實Apple在裝置上紀錄的資訊遠遠多於iTunes備份,有很多重要的系統檔案與資料庫必須JB後透過檔案系統(File System)才有辦法取出。

checkra1n的優點

由於Apple導入Secure Enclave並採用FBE(File Based Encryption)機制後,物理取證已不再可行,對一般取證人員僅剩下JB裝置後的檔案系統提取。但在checkm8漏洞還沒被公佈前,近年來JB的發佈速度皆遠遠落後iOS版本好幾個世代,大部分的情況只能針對較舊版本的iOS證物進行JB取證,但偵查的案件若是當下的iOS版本,幾乎不可能藉由JB取出重要資訊加以分析。

而新的checkra1n JB工具除可支援廣泛的iOS裝置與版本外,它也是近年來唯一一個可以讓鑑識人員直接針對裝置,在沒有螢幕鎖的情況之下,提取部分資料的JB工具。上一個有這樣功能的JB工具limera1n,需回朔到2010年,當時的iPhone 4保護機制尚在FDE年代,而JB過後的iOS裝置就可以進行物理提取。

使用checkra1n越獄

現有checkra1n除了Mac版本外,另提供Windows與Linux版本,但穩定性還是Mac版本勝出。若鑑識同仁尚未有Mac電腦,建議針對iOS裝置提取,可以投資採購一台Mac,來進行JB與取證作業;尤其checkm8支援的裝置眾多,檔案系統提取也相對簡單,對案件的調查會有極大的幫助。

JB流程說明

以下採Mac示範越獄過程,若想要使用GUI介面,操作過程可參考MrMad的說明。

雖然過程沒有GUI介面,但操作相對簡單。開始前請先在Mac上安裝好checkra1n工具,並將裝置進入DFU狀態,網路上有詳細的說明如何進入DFU模式,如下:

裝置進到DFU狀態後,請在Mac上開啟Terminal並輸入以下指令即可完成JB:

步驟一
複製

指令一、執行checkra1n

結果一、checkra1n成功JB連接的裝置

SSH over USB 「Mac」

一般情況,若是傳輸資料量不大,SSH可直些透過無線網路與裝置連線,但因為接下來要提取完整iOS裝置上的檔案系統,資料量可能皆超過10GB以上。透過USB連線除速度較快外,也比無線連線方式穩定。以下介紹的是使用Mac上的一個小工具,iproxy,透過該工具可藉由usbmuxd功能並透過USB直接與iOS裝置連接。iproxy是libimobiledevice套件下的工具,快速安裝可直接使用brew,請在terminal畫面下執行以下指令:

步驟二
複製

指令二、安裝libimobiledevice

結果二、成功安裝libimobiledevice

安裝好libimobiledevice後,請先將iOS裝置與Mac透過USB連接。iproxy啟用時會監測SSH連線,待本機(127.0.0.1)有SSH連線(port 44)需求時,iproxy會將封包轉發至usbmuxd(USB)並傳輸至iOS裝置。 iproxy用法如下:

iproxy LOCAL_TCP_PORT DEVICE_TCP_PORT [UDID]
步驟三
複製

指令三、iproxy指令

可先試試SSH over USB連線是否成功,請再另開起一個Terminal,並輸入以下指令(iOS預設密碼是: alpine):

步驟四
複製

指令四、SSH over USB至iOS裝置

結果三、根目錄下列出檔案與資料夾

結果四、查看Partitions

SSH over USB 「Windows」

若採用 Windows 系統,需下載 itunnel_mux 即可採 SSH over USB 方式連接。

  1. 下載 itunnel_mux_rev71.zip
  2. 將壓縮檔解開至任一資料夾,如 C:\usb\
  3. 在該資料夾下執行以下指令
Copy to Clipboard

指令五、執行 itunnel_mux 指令

如果成功,可以看到以下資訊,包含已透過 USB 連接至 Windows 電腦上的 UDID。

圖一、Windows 版 SSH over USB

使用TAR指令匯出User Partition

JB後裝置上有兩個分區(Partition)可取得控制權,即「System」與「Data」分區。

  • 「System」分區包含作業系統,正常情況下,該分區為唯讀狀態,如”/etc/fstab”顯示的結果(ro)。 但越獄後,寫入的權限可被修改,可依需求寫入該分區。該分區位於/dev/disk0s1s1上,並掛載(mounted)在” /”根目錄上。
  • 「Data」或「User」分區包含用戶資料、檔案,設定和參數檔等。 從鑑識角度來看,這分區是重要的資料寶庫。該分區位於 /dev/disk0s1s2 上,並掛載在”/private/var”上。

以下示範使用TAR指令來打包整個「private/var」分區:

步驟五
Copy to Clipboard

指令六、Mac 上 SSH over USB 執行 TAR 指令

Copy to Clipboard

指令七、Windows 上 SSH over USB 執行 TAR 指令

完成後會產生iPhoneJB.TAR檔案,請依下面步驟匯入PA就可以進行分析!

圖二、分析、TAR檔案匯入PA流程

編輯說明:

  • 2019-12-10 二版、checkra1n 內建 SSH,預設 port 為 44。

  • 2020-06-10 三版、新增 Windows 版本 SSH over USB 說明。