Files
reverse-skills-max/vendor-new/rev-skills/.claude/skills/re-mobile-forensics/references/decision-tree.md

3.5 KiB
Raw Blame History

移动取证决策树与证据分级

取证路径由「设备状态 × 可用访问级别」决定,不是先上工具。本文档与 SKILL.md 步骤 1-3 配套使用。

设备 × 访问级别决策树

移动设备取证
├─ Android
│  ├─ 已解锁 + 应用可备份 → adb backup(targetSDK<31 或 debuggable)
│  ├─ root 可用 → 分区镜像/dd + 直接读 /data
│  ├─ 仅锁屏/无 USB 调试授权 → 标注不可提取(授权流程外不绕过)
│  └─ 加密备份 → 有备份密码才可解析,否则标注
├─ iOS
│  ├─ 已解锁 + 信任本机 → idevicebackup2 备份(加密/非加密)
│  ├─ 已有本地备份(MobileSync/Backup)→ 解析 Manifest.db(文件索引)+ Manifest.plist(元数据/加密状态)
│  └─ 未越狱且无备份 → 仅可提取有限信息,标注边界
└─ 其他(功能机/定制系统)→ 按厂商工具与接口评估,无通用流程

目标数据类型分支

目标数据
├─ 应用数据库 → 定位 db 文件 → sqlite3 查询 → 删除记录走 freelist/WAL 页([[re-disk-forensics]])
├─ 聊天/媒体文件 → 应用沙箱路径枚举 → 直接提取;已删除 → foremost 雕刻
├─ 偏好/配置 → plist/SharedPreferences 解析
├─ Keychain/凭据 → iOS 需备份密码;Android Keystore 硬件绑定不可导出(标注)
└─ 时间线 → 文件时间戳 + 数据库时间戳合并 → 归一 UTC

提取方法分级表(证据可靠性)

级别 方法 说明
强 设备镜像/分区镜像 原始比特级副本,最适合删除恢复与完整性校验
中 官方备份(ab / iTunes 备份) 应用数据全量导出,但经过打包/可能含加密层
中 应用沙箱直读(run-as/root pull) 单应用数据,路径级提取
弱 已删除数据雕刻(foremost) 碎片化,完整性差,只能佐证
标注 云同步/服务端数据 本技能范围外,需另行授权与流程

删除恢复分支

删除恢复请求
├─ SQLite 数据库 → freelist 页 + WAL 残留 → 页级提取(unallocated 页扫描)
├─ 普通文件 → 文件系统未分配空间 → foremost/等价雕刻(按签名)
└─ 无未分配空间(TRIM/覆写已执行)→ 标注不可恢复(见 [[gotchas]])

时间线证据分级

级别 来源 说明
强 数据库记录时间(内容自带) 应用内部记录,与用户动作直接相关
中 文件时间戳(ctime/mtime/atime) 可被改写,注意时间戳伪造
中 备份记录时间(备份本身时间线) 佐证提取时点,不是用户活动时间
弱 删除/碎片恢复数据的时间 通常只能给区间,不能给精确点

实现教训(内化)

  • 先隔离再取证:飞行模式/断网是第一动作,远端擦除不可逆
  • 提取路径选择以「证据可靠性 × 可用性」为准:镜像 > 官方备份 > 直读 > 雕刻
  • 每次提取记录设备状态(解锁/加密/网络)与产物 sha256,链条完整才可复核
  • 拿不到的数据明说「不可提取」,不绕过授权边界

使用注意

  • 仅授权设备;授权范围(设备/数据类别/时间窗)先确认
  • 产物与结论按 re-analyze/analysis-contract 交付;删除恢复结论带「部分恢复」限定
  • 司法场景注意证据链(保管链)要求,本技能产出按取证流程存档