浅析iPhone iOS镜像iTunes备份文件手动取证
2023-12-26 08:2:39 Author: 网络安全与取证研究(查看原文) 阅读量:26 收藏

iTunes 备份包(本篇主要介绍)

   我们先看一下备份包解压下来有什么内容:

  这些00”、“cf”、“ff”的文件夹名称看起来像是自动按顺序生成的,但是“0f”后面不应该是“0g”吗?怎么变成了“01”,这就有点让人摸不清头脑了。

  当然上面说的只是一句玩笑话,所有的文件夹名称都保存在根目录下的 Manifest.db ” 这个数据库中,我们使用Sqlite工具打开它(AndroidiOS绝大数都采用的sqlite数据库):

  我们打开 Files 表,这里有一个 fileID 字段,那么文件夹名称就是取字段前两位来进行命名的。那 fileID 字段的值是随意生成的Hash吗?并不是。

      fileID = SHA1(domain-relativePath)

  我们拿 RecNo 2 的(第二行数据)来举个例子:

     domain 字段的值为 AppDomainPlugin-com.tencent.xin.siriextensionuirelativePath 字段的值为 Library,那么我们将两者的值进行合并就变成了:

     AppDomainPlugin-com.tencent.xin.siriextensionui-Library

  注意!别忘了中间还有一个“ – ”减号,少了计算的 Hash 可是错误的。我们拿上面合并好的值做 SHA1 加密,再取前两位就是 iTunes 备份包下文件夹的名称了。我们到里面一层再看看有什么?

   这些文件都是00开头的,其实大家也能猜到了,苹果只是做了一个分类。这些文件并不是通过记事本或者notepad工具就能查看的,将文件拖入 Winhex 来猜一下,下图的文件是什么?

        89 50 4E 47 png文件的文件头,那么我们基本判断这个文件是一个 png 图片了。用任意看图软件就能打开查看。

  接下来还剩根目录的 plist 文件没有介绍了,iTunes 备份包解压后一共会出现 3 plist 文件,分别为:InfoManifestStatus,那么依次来简单介绍一下。

1.1Info.plist / 主要是保存了设备的基础信息

1)包含了设备的基本信息

2)包含了app的部分信息

  我这边仅留了 <key>PlaceholderIcon</key> 的数据做个例子,这里保存的是appicon图标,下面的 data 数据采用的 base64加密,我们解码来测试一下到底是不是。

  将 data 里面的数据全部复制到 https://the-x.cn/base64/ 进行解码:

大家可以看到,解码后就是一个png的图片。

1.2Manifest.plist / 主要是保存了设备上安装的应用信息

1.3Status.plist / 保存了备份的状态

接下来就是总结几个简易手动解析的小问题

1、iOS在数据库中保存的时间格式

我们先用sqlite将根目录下的Manifest.db文件打开,导出成 plist 格式的文件;

  我们定位到 <key>Birth</key> 或其他的都可以,下面的值为 151015143110位数字标准的Unix时间戳格式,我们可以去时间戳转换网站或者工具进行解析。

也可以用 SQL语句 select from_unixtime(数值) 来转换查询。

2iOS自带浏览器的历史记录文件格式

首先iOS自带的浏览器是Safari,我们在 Manifest.db 数据库里筛选一下:

出现了一个 ../Logs/xxx.log,那么说明他以文本格式进行保存。咱们继续查找:

出现了 ../xxx.db ../xxx.plist,那么说明又以 sqlite②plist③ 格式进行保存。

3、查找备份包中JPEG图片的总数量

JPEG图片不仅仅只是包含后缀为 .JPEG 的文件,Winhex有一个文件头汇总的文档(可以自行百度搜索)

JPEG 文件头为 \xFF\xD8\xFF,我们利用 Winhex 工具自带的文件签名批量检索功能进行查找

注意!一定要是tar包,如果你拖进去的是 zip7z 等进行过压缩的包,可能检索不出来。如果是压缩过的数据,先解压再重新打tar包,在用 WinHex 工具解析。

我们最终发现 JPEG图片 全部被 WinHex 统计出来。 

4、iTunes备份的备份密码

iTunes备份密码简介

        iTunes备份密码是一种用于保护iOS设备备份数据安全的密码。当您启用iTunes备份密码时,备份文件中的数据将被加密,以提供额外的安全层,确保仅有授权的用户能够访问敏感信息。

加密方式

        iTunes备份密码使用AES-256(高级加密标准,256位密钥长度)进行加密。这是一种广泛应用且安全性高的对称加密算法。在设置密码时,密码通过密钥派生函数(如PBKDF2)生成一个密钥,该密钥用于生成加密和解密密钥。备份文件中的实际数据使用生成的加密密钥进行AES-256加密,确保数据在存储和传输过程中的保密性。

密码派生和生成过程

1、用户设置iTunes备份密码。

2、密码通过密钥派生函数生成一个密钥。

3、派生的密钥用于生成加密和解密密钥。

4、实际数据通过AES-256加密,生成加密后的备份文件。

破解方式:

1、盘古石手机取证软件工具集自带爆破;

2、Passware自带爆破。

总结:

   好了,本文iTunes备份结构基础介绍就到这边,后续会带来更多的取证、溯源相关内容,希望各位读者关注关注!


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3NTU3NTY0Nw==&mid=2247488401&idx=1&sn=714c18027f422d8a57589e406bc782a2&chksm=ce80ca5cb0d000dde7acffd170bc8caf0d94c64729bd96761c541832512c4fec7c6a58ddd90d&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh