浅析iPhone iOS镜像iTunes备份文件手动取证

admin 2023年12月26日10:45:50评论28 views字数 2223阅读7分24秒阅读模式

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

  我们打开 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 备份包下文件夹的名称了。我们到里面一层再看看有什么?

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

2)包含了app的部分信息

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

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

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

浅析iPhone iOS镜像iTunes备份文件手动取证

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

浅析iPhone iOS镜像iTunes备份文件手动取证

浅析iPhone iOS镜像iTunes备份文件手动取证

4、iTunes备份的备份密码

iTunes备份密码简介

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

加密方式

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

密码派生和生成过程

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

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

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

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

浅析iPhone iOS镜像iTunes备份文件手动取证

破解方式:

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

2、Passware自带爆破。

总结:

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


原文始发于微信公众号(网络安全与取证研究):浅析iPhone iOS镜像iTunes备份文件手动取证

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月26日10:45:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅析iPhone iOS镜像iTunes备份文件手动取证https://cn-sec.com/archives/2334800.html

发表评论

匿名网友 填写信息