iOS取证
ios系统目录结构
ios 系统目录
| 目录 | 说明 |
|---|---|
| Applications/ | 系统自带应用程序的安装目录,不包括从 App Store 下载的应用程序,例如 AppStore (AppStore.app)、相机 (Camera.app) 等。 |
| Developer/ | 开发者调试使用的目录。 |
| Library/ | 存放系统文件,例如壁纸 (Wallpaper)、铃声 (Ringtones) 等。 |
| System/ | 包含系统组件,存在于 /System/Library 目录下。 |
| private/ | 存放系统配置、应用程序数据文件,包含 /private/var、/private/etc 两个子目录。 |
| etc/ | 系统脚本及配置文件,链接至 /private/etc 目录。 |
| var/ | 存放经常变更的文件,例如应用程序数据、日志、临时文件等,链接至 /private/var 目录。 |
| User/ | 应用程序数据,链接至 /var/mobile/,即 /private/var/mobile/。 |
| tmp/ | 临时目录,链接至 /private/var/tmp/。 |
取证时主要关注应用数据相关目录
系统配置
/private/var:
Keychains:秘钥信息
wireless:手机网络连接、SIM卡信息等
mobile:用户应用数据
containers:系统应用数据
/private/var/mobile/Library 系统应用数据:
| 路径 | 说明 |
|---|---|
| /private/var/mobile/Library/Mail | 自带邮箱信息 |
| /private/var/mobile/Library/Maps | 自带地图信息 |
| /private/var/mobile/Library/AddressBook | 通讯录联系人信息 |
| /private/var/mobile/Library/Calendar | 日历、提醒信息 |
| /private/var/mobile/Library/CallHistoryDB | 通讯记录信息 |
| /private/var/mobile/Library/Safari | Safari浏览器信息 |
| /private/var/mobile/Library/Notes | 备忘录信息 |
| /private/var/mobile/Library/SMS | 短信和彩信信息 |
| /private/var/mobile/Library/Accounts | 账号信息 |
/private/var/mobile/Media 媒体文件:
| 路径 | 说明 |
|---|---|
| /private/var/mobile/Media/DCLM | 相册图片、视频 |
| /private/var/mobile/Media/PhotoData | 相册信息、缩略图 |
| /private/var/mobile/Media/iTune_Control | iTunes同步的音乐和视频 |
| /private/var/mobile/Media/Books | iBooks同步的书籍、PDF |
| /private/var/mobile/Media/Recording | 语音备忘录 |
| /private/var/mobile/Media/iTune_Control | iTunes同步数据 |
| /private/var/mobile/Media/PhotoSt | 照片流 |
应用安装目录
- 用户应用安装目录:/private/var/containers/Bundle/Application 目录
- 系统应用安装目录:/Applications 目录
应用数据存储位置
用户应用数据:/private/var/mobile/Container 目录
主要关注 Data 和 Shared 目录:
Data/Application:应用数据目录
Shared/AppGroup:共享目录数据
系统应用数据:/private/var/Container 目录
主要关注 Data 和 Shared 目录:
Data/System:应用数据目录
Shared/SystemGroup:共享目录数据
沙盒机制
ios 系统通过沙盒机制限制应用只能访问自己沙盒中的数据,来确保应用数据的安全性。
应用目录结构
MyApp.app
- 应用资源
- 不会被 iTunes 同步
Documents
- 应用数据
- 会被 iTunes 同步
Library
- 应用配置文件、缓存文件
- 部分被 iTunes 同步
tmp
- 临时文件,系统空间不足时会被清理
- 不会被 iTunes 同步
ios软件包名
社交通讯类
| 应用软件 | 应用包名 | 应用软件 | 应用包名 |
|---|---|---|---|
| com.whatsapp | com.twitter.twitter | ||
| com.facebook.Facebook | Messenger | com.facebook.Messenger | |
| com.burbn.instagram | Telegram | org.telegram.messenger | |
| com.tencent.xin |
浏览器类
| 应用软件 | 应用包名 | 应用软件 | 应用包名 |
|---|---|---|---|
| Safari | com.apple.mobilesafari | Chrome | com.google.chrome.browser |
| Firefox | org.mozilla.firefox |
办公类
| 应用软件 | 应用包名 | 应用软件 | 应用包名 |
|---|---|---|---|
| Microsoft Word | com.microsoft.Word | Microsoft Excel | com.microsoft.Excel |
| Microsoft PowerPoint | com.microsoft.PowerPoint | Google Docs | com.google.docs |
| Google Sheets | com.google.sheets |
其他
| 应用软件 | 应用包名 | 应用软件 | 应用包名 |
|---|---|---|---|
| Apple Music | com.apple.Music | Apple Maps | com.apple.Maps |
| Apple Photos | com.apple.mobilesafari | YouTube | com.google.youtube |
备份文件
iOS 取证最常见的切入点就是 iTunes/Finder 备份:不需要越狱,一台连过该手机的电脑上往往就有完整备份。
备份位置
- Windows:
%APPDATA%\Apple Computer\MobileSync\Backup\ - macOS:
~/Library/Application Support/MobileSync/Backup/
每台设备一个以 UDID 命名的目录。目录下成千上万个无扩展名文件 + 几个 plist/db 元数据文件。
配置文件

关键元数据文件(都在 UDID 目录根部):
| 文件 | 内容 |
|---|---|
Manifest.plist | 备份清单:是否加密(IsEncrypted)、备份日期、iOS 版本、设备名、序列号;加密时还存密钥派生参数 |
Info.plist | 设备信息:设备名、手机号(Phone Number)、IMEI、ICCID、序列号、iOS 版本、iTunes 版本、最后备份时间 |
Status.plist | 备份状态(是否完整、快照状态) |
Manifest.db | SQLite 文件索引,见下 |
Manifest.db 与文件存储结构
备份里的数据文件不保留原始文件名,规则:
Manifest.db的Files表记录每个文件的domain(域)、relativePath(原始路径)、fileIDfileID = SHA1(domain + "-" + relativePath)- 备份文件落在 UDID 目录下以 fileID 前两位命名的子目录中,文件名即 fileID
常见 domain 与对应的库内文件:
| 数据 | domain / relativePath |
|---|---|
| 短信/iMessage | HomeDomain → Library/SMS/sms.db |
| 通讯录 | HomeDomain → Library/AddressBook/AddressBook.sqlitedb |
| 通话记录 | HomeDomain → Library/CallHistoryDB/CallHistory.storedata(旧版 call_history.db) |
| Safari 历史 | HomeDomain → Library/Safari/History.db |
| 微信 | AppDomain-com.tencent.xin → Documents/<32位哈希>/DB/MM.sqlite(消息内容加密,密钥在 keychain) |
| 相册 | CameraRollDomain → Media/DCIM/... |
加密备份
Manifest.plist中IsEncrypted = true时,备份内所有文件用 AES-256 加密,密钥由备份密码经 PBKDF2 派生- 用
itunes_backup2hashcat(或2hashcat工具链)从Manifest.plist提取哈希后爆破:- hashcat
-m 14700:iOS < 10.2 - hashcat
-m 14800:iOS ≥ 10.2(迭代 10,000,000 次,极慢,纯靠字典质量)
- hashcat
- 关键性质:加密备份反而包含更多数据(Wi-Fi 密码、健康数据、钥匙串等敏感项只进加密备份)
解析工具
- iLEAPP:开源,直接解析整个备份目录输出 HTML 报告(比赛首选)
- iBackup Viewer / 爱思助手:图形化快速浏览
- 手动:按上表用
Manifest.db反查 fileID,拷出后改回原名直接用 SQLite 工具打开
iCloud 备份
设备不开本地备份时可能在云端:设置 → Apple ID → iCloud → 管理储存空间。提取需账号凭据/令牌(Elcomsoft Phone Breaker 等),注意会触发 Apple 的登录提醒邮件。