Cellebrite Capture the Flag (CTF) – Felix iPhone 手機

2024.04.24 競賽活動

競賽軟體 Inseyets UFED、Inseyets PA

iPhone 裝置取證: Felix 手機

我們要感謝所有參加奪旗活動的人,感謝所有支持 Cellebrite 並參與本活動的用戶!

我們在此提供答題說明。某些情況下,我們導出答案的方法可能與您的方法不同,但這就是取證的美妙之處,下面的螢幕截圖來自 PA Ultra。

背景故事:

回顧一下,恐怖攻擊計劃於 2023 年 6 月發生在 Southport, NC (北卡羅來納州)。Russell 和 Sharon 的關係可以追溯到很久以前,而他似乎是將阿貝與拉塞爾聯繫在一起的關鍵人物。 那麼,Abe 是誰?他和 Felix 有什麼關係?Felix 為什麼要向美國人提供有關核電廠和武器的資訊?我們打算讓您自由思考這項問題。

Felix iPhone:

Felix 01 – Voicemail (語音信箱) – Level 1 (10 分)

Felix 收到一封來自 +14-416-435-5684 的語音訊息,這則訊息的時間長度幾秒?

答案: 27

答案在 PA 裡 Analyzed Data > Calls > Voicemail

Felix 02 – Picture (照片) – Level 1 (10 分)

請查看圖片名稱 IMG_0026.HEIC,你在這個裝置中 (包含縮圖) 看到幾次這張圖片?

答案: 5

使用左上角的搜尋功能搜尋 IMG_0026.HEIC,顯示 5 個結果。

Felix 03 – Confirmation (確認) – Level 1 (10 分)

Felix 說他收到 “everything”, 請問他是用哪個帳號傳送訊息?

答案: [email protected]

Felix 向 Abe 傳送電子郵件,內容顯示 “I received everything.”,和前面的問題一樣,使用 PA 搜尋功能,搜尋 “everything” 這個關鍵字,可以查到 5 個結果,其中兩項顯示 Felix 的電子郵件內容。

Felix 04 – Photo (相片) – Level 1 (10 分)

Private Photo Vault 應用程式已經安裝在手機上了,該應用程式的密碼是什麼?

答案: 2510

答案在 PA 裡 Analyzed Data > User Accounts & Details > Passwords

Felix 05 – Location (位置) – Level 1 (10 分)

Felix 對於美國一直很有興趣,他使用哪個應用程式搜尋 New Jersey USA 的地址?

答案: Apple Maps

Felix 搜尋了 49 Colgate St in New Jersey,並把它新增到 Favorite (最愛內容),前往 Analyzed Data > Locations 放大 New Jersey 的位置,只有兩個位置結果,都來自 Apple Maps。

Felix 06a – Size (檔案大小) – Level 1 (10 分)

ChatStorage.sqlite-wal 這個檔案的 bytes 大小是多少? 以數字回答。

答案: 0

Felix 06b – Time (時間) – Level 2 (30 分)

Felix 06a 裡的 -WAL 檔案提交到主資料庫的日期和時間是什麼?

答案: 2023-07-01 05:49:55

06a 和 06b 這兩個題目是相關的,可以一併解答,ChatsStorage.sqlite 這個檔案和 -WAL 檔案有關,可在此路徑發現: /private/var/mobile/Containers/Shared/AppGroup/5F021CDF-1E49-45A3-A3EF-02BE149681AC/。第一個答案很簡單,檢查 ChatStorage.sqlite-wal 即可發現檔案大小是 0。

現在請看 ChatStorage.sqlite 最後修改時間及相關的 -WAL 檔案,兩個檔案的最後修改時間一致,都是 2023-07-01  05:49:55,表示資料提交到 ChatStorage.sqlite

Felix 07 – Size (檔案大小) – Level 2 (30 points)

Felix 手機 最後更新的 SIM 卡資訊為何? (未轉換的原始資料)

答案: 709888384.063589

此資訊不易取得,請透過 CellularUsage.db 進行查找,資料庫路徑位於 /private/var/wireless/Library/Databases,在欄位 subscriber_info 之中查找 last_update_time 內的值,便可取得答案。

Felix 08 – Missing (遺失) – Level 2 (30 分)

WhatsApp 聊天資料庫遺失了一些聊天訊息,假定最大數字代表最後訊息,請問遺失的訊息有多少?

答案: 19

這個答案請查看 Felix 06a 和 06b 的 ChatStorage.sqlite 檔案,可在 ZWAMESSAGE 欄位中找到答案。

Z_PK 欄位提供必要的資訊。這個問題暗示我們假設最大的數字是最後一則訊息。在這裡,該數字是 29。檢查此列之後可發現:

  • 有 5 個遺失訊息 (Z_PK 4 和 Z_PK 10 之間),時間位於 2022-12-01 18:06:00 和 2023-03-31 10:03:42 之間
  • 有 7 個遺失訊息 (Z_PK 12 和 Z_PK 20 之間),時間位於 2023-05-19 14:18:08 和 2023-06-03 13:37:43 之間
  • 有 7 個遺失訊息 (Z_PK 21 和 Z_PK 29 之間),時間位於 2023-06-03 13:37:43 和 2023-07-01 05:41:04

以上遺失訊息總共 19 則。

Felix 09 – Wiped (清除) – Level 2 (30 分)

Felix 手機最後清除時間?

答案: 2022-12-01 17:16:55

Heather 和 Ian 發布了一篇 DFIR Review 的文章探討 artifacts related to iOS device wipes,其中一則數位痕跡便是此題的解答。可以在路徑 /private/var/root/ 之中找到檔案 .obliterated,並根據最後修改時間進行作答。

Felix 10 – Cruise (郵輪) – Level 2 (30 分)

Felix 研究 / 監視一艘可能成為目標的船隻,並下載了它的照片,請問郵輪名稱是?

答案: Crystal Serenity

Felix 的手機上至少有這艘船兩個版本的照片,但其中一個版本已模糊不清且不可能辨認出名字。透過瀏覽器活動可發現有該船隻的圖片下載紀錄。在 iOS 上,下載的檔案登錄 iCloud 的情況並不少見,這目前發生的情況。檢查目錄 /private/var/mobile/Library/Mobile Documents/,從其中的資料夾 com~apple~CloudDocs 可發現子目錄 Downloads,其中包含一個 pexels-helena… 開頭的檔案名稱,顯示一艘名叫 Crystal Serenity 的郵輪。

Felix 11 – Data (資料) – Level 3 (50 分)

Felix 手機使用最多基地台訊號傳輸的程序是? (裝置接收的網路流量)

答案: CumulativeUsageTracker

DataUsage.sqlite 檔案位於路徑 /private/var/wireless/Library/Databases/,可從中找出答案開啟資料庫並查看欄位 ZLIVEUSAGE,在條目 ZWWANIN 之中根據數值大小進行排序,取得最大值為 479085390。

ZHASPROCESS 對應的數字是 37,接著查看條目 ZPROCESS 並找到 Z_PK 的第 37 列。

答案就在這則 ZPROCESS 的條目裡: CumulaltiveUsageTracker,代表程序的名稱。

Felix 12 – H is mean – Level 3 (100 分)

Felix 收到有關 pension reform (推休金改革) 的資訊,與該數位痕跡有關的 SID 是?

答案: c5141308-e98c-11ed-8f70-ea4e37ab9147

這是最困難的題目之一,主要必須先搞清楚要從何開始,有一個微妙的線索 “reform”。Ian Whiffin 對此嘗試了幾次,想要透過一些創新的方法進行解答。最後,他嘗試將單字 “reform” 轉換為 base64 並嘗試變體 (空格 / 完整單字),最後他在二進位檔案中搜尋字串 “yZWZvcm”,在 PA 中進行此操作僅出現兩次命中,代表引用了相同的檔案。

該檔案 (條目) 位於路徑 root/private/var/mobile/Library/News/com.apple.news.public-com.apple.news.private-production/referralItems/com.apple.news.widget/today–systemSmall-35F237A0-BD2B-4841-813A-789C26E52EAB/。開啟之後可見其包括  JSON 資料,其中有一大塊 base64 編碼資料,CyberChef 可用於解碼 Base64,結果出現二進位屬性 (bplist) 檔案。

儲存 bplist 並進一步進行檢查,可見其中有其他 base64 的編碼的區塊,對它進行解碼可見 sid。