查看原文
其他

【技术视界】第14期:手机取证——关于iPhone手机数据提取方式的探讨

效率源 2017-01-30
编者按

     在《技术视界》前13期中,数据恢复四川省重点实验室科研人员讲解了手机音频文件提取、SQLite数据库文件恢复、手机APP取证脚本编写以及防御手机APP窃密等主题,本期重点介绍iPhone手机(越狱和未越狱)数据提取的多种方式,可以有效提取各类应用数据,包括文字、图片、声音、视频等各种多媒体信息。

      随着移动通信技术的不断发展,手机也逐渐成为人与人之间不可或缺的联系工具,几乎人人都会携带一部甚至多部手机。手机中各种APP会记录下大量信息,包括聊天、位置等,这些信息很可能成为警方破案有效的辅助证据,所以对手机数据的提取很有必要。


       目前Android始终是手机行业的老大,各个手机数据提取商对Android的支持也是首当其冲。来自ZDC(互联网消费调研中心)手机品牌关注度的数据显示(如图1),2015年三星毫无疑问位居第一,但我们也同时发现,iPhone手机紧随华为位居第三,所以对iPhone手机数据提取的支持刻不容缓。下面将和大家一起来探讨iPhone手机数据的提取方式。


【图1:苹果手机品牌关注位居第三】


        同Android手机一样,iPhone手机数据的提取也分两种情况越狱和未越狱。


一、未越狱手机数据的提取

       未越狱手机主要通过备份和沙盒提取方式。目前8.3以上的系统不再支持沙盒提取,而且也比较简单,故不再拿出来讨论。下面只针对备份方式进行简要说明。


1、数据备份

       备份可通过两种方式实现:


(1)通过iTunes直接备份。备份路径为XP:C:\Documents and Settings\用户名\Application Data\Apple Computer\MobileSync\Backup;WIN7及以上:C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup。


(2)AppleMobileBackup.exe命令。如:AppleMobileBackup.exe -b --target befd8222746f2d52b9f2f40e862444208b3d423f(设备id可在itools里查看) -q  "c:\temp\2016-05-18-15-37-42"


【图2 AppleMobileBackup.exe命令】


       图2中是所有命令,我们只需要用到-b(备份)、-t(设备id)、-q(备份路径)就好了(如红色框所示),其他没有用到的命令暂不做介绍。


2、数据分析


【图3 备份目录(红色框为明文文件)】


        如图3所示,打开备份目录可以看到一大堆40位16进制数组成文件名的文件,这些文件就是APP的数据文件。面对这些符号复杂的文件,怎么才能知道这些文件是哪个APP产生的数据呢?不急,图片下面有几个明文的文件,我们可以在这几个文件中找到想要的一些信息。


(1)Info.plist

        这是一个plist格式文件,可用plist editor打开查看,其中包括用户信息、设备信息、备份信息等等(如图4所示)。


【图4 :Info.plist文件内容】


(2)Manifest.plist

        这个文件主要记录一些安装的应用程序信息,也记录了用户信息,如应用程序包名、版本号、安装路径等。


【图5:Manifest.plist文件内容】


(3)Status.plist

        这个文件主要记录一些安装的应用程序信息,也记录了用户信息,如应用程序包名、版本号、安装路径等。 


【图6:Status.plist文件内容】


(4)Manifest.mbdb

        这个是最重要也是最复杂的文件,记录了所有的备份文件信息,在这里可以找到文件与app的对应关系及文件路径。


       在介绍这个文件之前,必须先了解一个名词“域名”。域名是用来定位一个文件在手机上的全路径,比如AppDomain-com.meitu.myxj 代表手机路径/var/mobile/Applications/。


        我们用NotePad++打开文件可看到一大堆域名与路径(如图7)。


【图7:Manifest.mbdb文件内容】


        从图7的红色框区域,可以获取到域名(AppDomain-com.meitu.myxj)和路径(Library/com-facebook-sdk-AppEventsTimeSpent.json)。在获取到“一个域名+文件路径”的基本信息后,可通过SHA1加密得到一个40位16进制字符串,而这个字符串就恰恰对应了上面的一个文件名,通过这种方法就得到了文件与路径的对应关系。


      比如:AppDomain-com.meitu.myxj-Library/com-facebook-sdk-AppEventsTimeSpent.json的SHA1值5ee0c32e727e1a89605ee018aa9b6fd173001b57,这个值也就是该路径所对应的文件名。


       如果想要还原所有备份文件,用上面的方法显然不行的,文件可读性差,分析耗时耗力。但是,如果我们知道了文件的结构,就可以通过代码来实现对该文件的解析,减少人工成本。下面将介绍Manifest.mbdb的具体结构。


       用WinHex打开可看到他的十六进制结构(如图8所示)。

【图8:Manifest.mbdb的十六进制结构】


文件头

       根据图8中红色框数据,前6个数据就是文件头。


②内容:

       包含多条记录,每个记录是大小可变的,每个记录包含有关文件的各种详细信息。


        根据上表显示的文件结构可以依次还原所有备份文件。当然,如果只需要解析指定文件,并且知道文件路径与所在域(比如短信,域名、路径都是固定的),那么就可以直接根据SHA1值找到备份文件并提取数据。如果是解析未知文件,如路径不固定、域名未知等,要提取数据,就必须解析Manifest.mbdb文件。


二、越狱手机数据的提取

       手机越狱后相当于获取到了系统的最高权限,可以直接访问系统中的应用数据。下面简单列举几个常用目录:


1、系统应用目录

        ①/private /var/ mobile/Media /DCIM/        照片目录

        ②/private/var/ mobile /Library/SMS/   短信目录

        ③/private /var/root/Media/EBooks/       电子书目录


2、用户应用目录

        用户安装应用数据存放在/private/var/mobile/Containers/Data/Application/下。


       下面,以某金融类APP数据为例,详细讲解。该APP的路径为:/private/var/mobile/Containers/Data/Application/3ADDACBE-7FDB-4726-AC47-4F1EFD0702B5/。


        我们怎么知道这是哪个应用的数据呢?可以通过以下方法寻找线索。


        打开该目录,我们会看到一个名叫“.com.apple.mobile_container_manager.metadata.plist”的文件。从文件名可看出这是一个管理文件,打开文件即可看到图9的内容。


【图9:.com.apple.mobile_container_manager.metadata.plist文件内容】


       如图9中红色框所示,第二个框“MCMMetadataUUID”对应的值及为目录中的那段哈希值。第一个框“MCMMetadataIdentifier”对应的值则为应用程序包名。知道这些信息后,我们就可以对指定应用进行解析,提取需要的数据。


总结:

       通过备份方式虽然能提取未越狱手机中的数据,但毕竟是没有拿到最高权限的,所以还是有部分数据不能提取出来。而且,这个过程必须先全部备份再解析相应文件,增加了数据提取的时间。而越狱手机拿到了最高权限,直接读取需要的文件,减少了备份这个步骤,更加快速的实现数据的提取。

       目前,市面上有一部分取证设备采用了这些方法,效率源的MTF手机可视化行踪取证系统就是一个很好的例子,他将这些方式有效结合,能更加快速完成“越狱”和“非越狱”手机数据的采集和判断,包括聊天、行踪、购物、账号等各类应用信息以及已删除的动作行为信息。


   备注:转载文章请注明出处并保持原图文不变

【技术视界】系列推荐

1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究

2、【技术视界】第2期:精确读取  提高缺陷硬盘数据恢复成功率

3、【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?

4、【技术视界】第4期: 电子取证-WD硬盘固件损坏的文件恢复提取技术研究

5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?

6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究

7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究

8、【技术视界】第8期:视频侦查-监控主机自动识别技术研究

9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨

10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究

11、【技术视界】第11期:教你怎么编写智能手机APP的取证脚本

12、【技术视界】第12期:电子取证反向思维 防御手机APP偷窃破案机密的2个高招

13、【技术视界】第13期:希捷硬盘修复P表实现数据恢复的电子取证方法研究



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存