




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.
iOS操作系统取证技术目录CONTENTS7.1iOS操作系统取证概述7.1.1iPhone手机的发展7.1.2iOS系统介绍7.1.3备份文件取证7.1.4逻辑取证7.1.5物理取证7.2iOS系统常见逻辑数据提取分析7.2.1短消息提取和分析7.2.2通话记录提取和分析7.2.3联系人信息提取和分析7.2.4浏览器历史记录提取和分析7.2.5邮件客户端信息的提取和分析7.2.6位置信息的提取和分析7.2.7其他信息源分析7.3iPhone备份文件的取证7.3.1备份文件的结构与分析7.3.2备份文件数据的破解和提取分析7.1iOS操作系统取证概述7.1iOS操作系统取证概述7.1.1iPhone手机的发展
iPhone是美国苹果公司研发的智能手机系列,在一段时期内,iPhone手机几乎占据了手机市场的半壁江山,成为时尚的代名词,其中缘由和iPhone手机的靓丽外观、惊艳操作、流畅系统密不可分。由于iPhone是使用iOS最多的设备,因此在本章后续内容中,有些地方会混用iOS和iPhone这两个名词。2004年苹果公司成立了iPhone研发团队,使iPhone手机发展迈出了第一步。从第一代手机推出后,苹果公司以平均每年发布1~2款手机的频率更新着iPhone系列。iPhone的内部版本号和系列型号对应关系如表7-1所示。7.1.1iPhone手机的发展7.1.1iPhone手机的发展
7.1.2iOS操作系统简介iPhone手机从2007年第一代开始,就搭载了苹果公司研发的iOS操作系统。该系统是一个封闭的操作系统,仅支持在iPhone、iPodtouch、iPad等苹果设备上运行,这也是苹果系列硬件设备的核心竞争力所在。
在最高层级,iOS扮演着底层硬件和用户创建的App之间的中介角色。App不会直接与底层硬件通信,而是通过一套定义明确的系统接口与硬件进行通信。这些接口让同一应用能够运行在不同性能的硬件设备上,iOS的技术实现可以被看作多个抽象的层级,如图7-1所示。7.1iOS操作系统取证概述图7-1iOS操作系统层级7.1.2iOS操作系统简介用户界面(CocoaTouch)层包含了构建iOS应用中与用户交互有关的关键运行库。这些库定义了应用的展现,提供应用的基本操作空间和关键技术,包括多任务、以接触为基础的输入、消息推送和许多高级的系统服务。
媒体(Media)层提供图像、音像和视频技术。
核心服务(CoreService)层包含了App用到的基础系统服务,其中最关键的服务是核心基础(CoreFoundation)和基础(Foundation)框架,它定义了所有App都会用到的基础类型。这层也包含了一些特别的技术,如位置、iCloud、社交媒体和网络。7.1.2iOS操作系统简介
核心系统(CoreOS)层包含了大部分为系统提供服务的底层功能。即使App中没有直接使用这些技术,它们也很有可能已经在其他框架中被间接使用。当用户有明确的安全需要或与外部硬件配件通信时,可以使用核心系统中的框架。在启动一台iOS设备时,系统首先会从只读的ROM中读取初始化指令,也就是系统的引导程序(事实上所有的操作系统启动时都要经过这一步,只是过程略有不同)。这个引导ROM包含苹果官方权威认证的公钥,它会验证底层启动加载器(LLB)的签名,一旦通过验证就启动系统。7.1.2iOS操作系统简介LLB会所一些基础工作,然后验证第二级引导程序iBoot。iBoot启动后,设备就可以进入恢复模式或正常内核启动。在iBoot验证完内核签名的合法性之后,整个启动程序开始步入正轨:加载驱动程序、检测设备、启动系统守护进程。这个信任链会确保所有的系统组件都由苹果官方写入、签名、分发,不能来自第三方机构,特别是那些恶意攻击者或者是给设备越狱的黑客。应用程序启动时也会用信任链去审查签名。所有的应用都必须直接或间接地由苹果签名,这就是为什么要申请开发者账号,生成开发和发布证书以及申请AppID的原因。很多开发者也经历过安装测试APP时提示你信任开发者证书,这些都是验证组件的功劳。7.1.2iOS操作系统简介
越狱的工作原理正是攻击这一信任链。所有的越狱工具的作者都需要找到这一信任链上的漏洞,从而禁止信任链中负责验证的组件,破解引导ROM通常是最有效的办法,因为该组件不会因为苹果今后的软件更新而改变。1.系统安全机制苹果公司在iOS操作系统安全方面下了一番苦功,相继加入了沙盒机制、数据保护API、钥匙串API、全盘加密技术来保护系统和数据的安全性。7.1.2iOS操作系统简介系统安全机制7.1.2iOS操作系统简介沙盒机制数据保护API钥匙串API全盘加密
(1)沙盒机制
iPhone对于安装在上面的应用程序有所限制,这个限制就是应用程序只能在为该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒。。总体来说,沙盒就是一种独立、安全、封闭的空间,所有的非代码文件都要保存在此,例如图像、图标、声音、映像、属性列表、文本文件等。7.1.2iOS操作系统简介
(2)数据保护API
数据保护API利用文件系统加密、钥匙串和用户密码,提供了一个额外的针对文件的保护层,开发者可以根据需求调用。这限制了某些进程在系统层面读取文件。这个API最常用的场景就是当设备锁定时确保数据不可用。7.1.2iOS操作系统简介
(3)钥匙串API
iOS系统提供了钥匙串API来存储少量机密信息。开发者可以用来存储密码、机密密钥以及那些不能被其他应用访问的敏感信息。调用钥匙串API主要通过“security”守护进程来完成,即从SQLite数据库中提取数据。开发者可以指定在什么情况下允许应用读取密钥。7.1.2iOS操作系统简介
(4)全盘加密
对设备中的底层每个数据使用密钥加密,密钥类型分为:文件密钥(FileKey)、层级密钥(ClassKey)、文件系统密钥(FilesystemKey)、设备密钥(DeviceKey)。7.1.2iOS操作系统简介
文件密钥(FileKey)针对每个文件单独生成,存储在文件的元数据中。不同级别的文件需要使用不同强度的加密密钥。层级密钥(ClassKey)的作用是专门为那些特殊数据提供不同级别的保护。在早先的iOS版本中,默认的保护等级是NSFileProtectionNone;但是从iOS5开始,默认的保护等级变成了NSFileProtectionCompleteUntilFirstUserAuthentication。7.1.2iOS操作系统简介文件系统密钥(FilesystemKey)是一种全局加密密钥,当元数据被层级密钥加密后,我们使用文件系统密钥来加密涉及文件安全的元数据。设备密钥(DeviceKey)通常被称为UID密钥,每台设备唯一,只能通过硬件的AES引擎访问,操作系统无法直接获取。这是系统的主密钥,他用来加密文件系统密钥和层级密钥。如果用户启用了用户密码(UserPasscode),它将与设备密钥结合起来加密层级密钥。7.1.2iOS操作系统简介
2.运行模式
iPhone运行有3种模式:正常模式、恢复模式(RecoveryMode)、DFU模式(Developer/DevelopmentFirmwareUpgradeMode)。(1)恢复模式恢复模式启动是进入iBoot模式,在此模式下可以通过iTunes对设备进行刷机操作。苹果系统的Bootloader,可以简单理解为iOS的一个PE(预安装环境)。7.1.2iOS操作系统简介
进入恢复模式两种方式,方法一:通过数据线连接iPhone设备至装有iTunes的计算机;确保iPhone设备处在主屏幕界面;长按电源键,忽略弹出的“滑动来关机”消息,不要松开电源键;长按Home键;当iPhone设备出现黑屏时,松开电源键,继续按着Home键,直到电脑上的iTunes出现检测到一个处于恢复模式iPhone的消息框,松开Home键;这时该设备已进入恢复模式。7.1.2iOS操作系统简介
方法二:拔除数据线,关闭iPhone设备;长按Home键;运行电脑上的iTunes,将iPhone设备连接至电脑,此时Home键依旧长按不放;直到iPhone设备出现熟悉RecoveryMode界面。需要退出恢复模式的话,同时按住电源键和Home键,直到iPhone设备出现苹果启动图标。7.1.2iOS操作系统简介
(2)DFU模式DFU模式与恢复模式区别就是跳过iBoot引导。iPhone设备越狱、降级iOS版本之类的操作都是在DFU模式下完成。越狱后的iPhone设备可以通过底层访问磁盘分区、获取物理镜像(不过由于iPhone4s采用了硬件加密芯片,即使获取到物理镜像也是加密的)。不同iPhone系列手机进入DFU模式的方法不同。7.1.2iOS操作系统简介使用数据线连接iPhone设置至电脑同时按Home键和电源键等待8秒,松开电源键,继续按着Home键不放,如果此时出现苹果图标,则说明按电源键时间过长,重新开始上面步骤当iPhone设备进入DFU模式时,手机的屏幕是黑屏的,iTunes会提示检测到一个处于恢复模式的设备。如果此时手机上显示连接iTunes的图标则重新开始上面步骤7.1.2iOS操作系统简介针对iPhone6s或者更低,iPhoneSE的方法:
针对iPhone7、iPhone7Plus的方法:使用数据线连接iPhone设备至电脑;长按电源键将iPhone关机;同时按下电源键和音量“-”键;等待8秒,松开电源键,继续按着音量-键不放,如果此时出现苹果图标,则说明按电源键时间过长,重新开始上面步骤;当iPhone设备进入DFU模式时,手机的屏幕是黑屏的,iTunes则会提示检测到一个处于恢复模式的设备。如果此时手机上显示连接iTunes的图标,则重新开始上面步骤。7.1.2iOS操作系统简介
针对iPhone8、iPhone8Plus、iPhoneX的方法:使用数据线连接iPhone设置至电脑;快速按一下音量+键;快速按一下音量-键;长按电源键直到手机变黑屏后,同时按电源键和音量“-”键;等待5秒,松开电源键,继续按着音量-键不放,如果此时出现苹果图标,则说明按电源键时间过长,重新开始上面步骤;当iPhone设备进入DFU模式时,手机的屏幕是黑屏的,iTunes则会提示检测到一个处于恢复模式的设备。如果此时手机上显示连接iTunes的图标,则重新开始上面步骤。7.1.2iOS操作系统简介
如何退出DFU模式呢?很简单,iPhone6s或者更低、以及iPhoneSE只需同时长按Home键和电源键直到手机重启;iPhone7、iPhone7Plus需同时长按电源键和音量“-”键直到手机重启;iPhone8、iPhone8Plus、iPhoneX需快速按一下音量“+”键,然后快速按一下音量“-”键,然后按住电源键直到手机重启。对iPhone手机取证的主要有四个途径:备份文件取证、逻辑取证、物理取证、iCloud取证。其中备份文件取证的方法最简单、方便。7.1.2iOS操作系统简介
7.1.3备份文件取证近年来,电子数据取证领域快速发展,各类出现的案件中都有电子数据证据的身影,其中针对iOS设备的取证占有一席之地。在iOS备份文件没有密码保护的情况下,通过备份文件进行取证是最简单、便捷的方法。苹果公司的iTunes软件提供了对iOS设备进行备份的功能iPhone每次连接电脑进行备份时,必须解锁iPhone设备,与电脑建立信任关系。在iOS7之前,解锁的iPhone设备接入电脑没有任何信任关系提示,自动建立信任关系,以前有种伪装成充电器用于获取接入手机的数据的设备就是利用了这点。所谓的信任关系就是手机与电脑连接时创建一对加密密钥。7.1iOS操作系统取证概述
iOS7版本开始增加了新特性,iPhone设备会检测USB连接是充电器还是电脑,只有配对成功了才会进行数据通信,否则仅仅是充电。配对过程中iPhone设备上会提示“要信任此电脑吗?”,只有选择“信任”后才能备份手机。在iOS11版本中,苹果加入USB限制模式(USBRestrictedMode)功能,用户除了要选择“信任”,还要输入解锁密码,iPhone设备才能与电脑建立信任关系,并且成功连接后只有7天有效期。放在以前,信任过的设备是可以多次连接的,现在加上了7天限制,超过7天需要重新信任、输入解锁密码的步骤。7.1.3备份文件取证
根据操作系统的不同,电脑上的信任文件存在于(WinXP)“C:\DocumentsandSettings\AllUsers\ApplicationData\Apple\Lockdown”、(Windows7)“C:\ProgramData\Apple\Lockdown”目录、(MACOS)“/private/var/db/lockdown”等目录中。我们取证过程中往往会碰到一些检材iPhone手机有锁屏密码而我们又不知晓密码的情况,这时可以尝试将嫌疑人相关电脑上的所有信任文件拷贝至鉴定计算机中,然后将iPhone设备也连接至鉴定计算机,然后使用支持加载lockdown信任文件的手机取证工具获取数据,此过程无需密码,但是此方法仅支持iOS低版本。7.1.3备份文件取证
使用iTunes生成的备份文件在不同操作系统的保存位置如下表:7.1.3备份文件取证
图7-2 iTunes备份出来文件的部分内容打开备份的目录可以看到里面有很多的文件,其中包括“Status.plist”、“Manifest.plist”、“Manifest.mbdb”(或“Manifest.db”)、“Info.plist”文件,如下图:7.1.3备份文件取证
除了iTunes以外,还有命令行程序AppleMobileBackup.exe、第三方工具iTools、开源工具libimobiledevice、雷电手机快取软件、等其他取证工具都支持对iPhone设备进行备份的功能。AppleMobileBackup.exe为苹果驱动中的命令行程序,安装iTunes即已成功安装该程序。AppleMobileBackup.exe命令支持功能如下图:7.1.3备份文件取证图7-3 AppleMobileBackup.exe命令支持的功能7.1.3备份文件取证我们可以使用“AppleMobileBackup.exe-b-t9e972f63b73be2a879785fb3732d25f2d793e74a(手机设备id)-q"c:\test\"”对iPhone设备进行备份,其中参数“-b”表示备份、“-t”表示目标设备id、“-q”定义备份文件保存路径。Libimobiledevice是一个可以和iOS设备进行通信的跨平台的程序库,其中包含有两个备份命令,分别为idevicebackup和idevicebackup2,idevicebackup支持低版本iOS设备的备份,idevicebackup2支持高版本iOS设备的备份。在Linux环境下使用命令格式“idevicebackup2-u设备IDbackup–full保存路径”对iPhone设备进行备份,这里我们使用“idevicebackup2-u9e972f63b73be2a879785fb3732d25f2d793e74abackup--full./”,如下图:7.1.3备份文件取证图7-4使用libimobiledevice备份iPhone设备的数据7.1.3备份文件取证从备份文件中能获取的内容如下:联系人、个人收藏夹通话记录苹果商店应用数据安装的应用程序设置及数据Safari浏览器相关数据(书签、历史记录、搜索记录、Cookies等)日历、事件相册、视频位置信息邮件账号Appstore账号网络设置(热点信息、VPN设置、Wifi信息)备忘录、语音备忘录短消息、彩信图片系统通知消息7.1.3备份文件取证
从iOS3开始,iTunes就具有设置备份密码的功能。在设置了备份密码之后,此后该iOS设备每次导入或解析备份必须输入密码。使用备份密码得到的备份文件比未加密的备份文件多了些信息,包括:存储的密码网站历史记录Wi-Fi设置健康数据7.1.3备份文件取证
如果丢失或忘记密码,该备份文件则无法恢复到设备,取证工具也无法解析该备份文件中的数据。这种情况下就需要使用类似“ElcomsoftPhoneBreaker”工具进行暴力或字典攻击来破解密码,在进行密码破解时选择备份中的“Manifest.plist”文件,不过由于iOS的安全设计比较强,破解速度很缓慢基本上需要使用字典攻击,而且在iOS9之后这种方式已无效了。Elcomsoft官网公布的各个显卡使用GUP加速破解的速度,如下图:/eppb.html支持iOS备份文件密码破解、iCloud获取等功能。7.1.3备份文件取证图7-5各个显卡使用GPU加速破解的速度7.1.3备份文件取证
当案件中需要处理具有备份密码的iOS设备且无法破解时,在iOS11之前是无法处理的,清除备份密码将导致整个证据手机数据的丢失。但是在iOS11或更高版本中,可以通过“还原设置”的方式清除备份密码。以下是操作方法:1.在iOS设备上前往“设置”->“通用”->“还原”,点击“还原所有设置”,然后输入iTunes密码2.按照上述步骤操作还原的iOS设备的设置,不会影响用户数据或密码,但会还原显示屏亮度、主屏幕布局和壁纸等设置,还会移除iOS设备的加密备份密码。3.重新将iOS设备连接iTunes,然后创建新的加密备份。7.1.3备份文件取证
上述操作之后,将无法使用在此之前的加密备份,但可以使用iTunes备份当前数据并设置一个新的备份密码。如果iOS设备安装的是iOS10或更低版本,则无法使用上面的方式清除密码。遇到这种情况,可以尝试使用iCloud云备份对设备进行备份,然后从iCloud云备份上获取数据。7.1.3备份文件取证
7.1.4
逻辑取证所谓的逻辑取证,取证软件基本上是基于iOS备份上进行获取、分析的过程。iTunes提供的iOS备份功能,能够较完整的获取设备的数据。7.1iOS操作系统取证概述
7.1.5
物理取证物理提取就是将iPhone设备内存芯片中数据转换为镜像文件,类似传统硬盘获取原始的DD镜像,获取的内容不仅包含已有数据,还包含未分配空间中的数据。如果iPhone设备支持物理提取,是获取删除文件以及keychain钥匙串有效方式,相比较于iOS备份和逻辑取证,能提取到更多的数据。Keychain文件中可以包含许多种类型的数据:密码(包括网站、FTP服务器、SSH账户、网络共享、无线网络、群组软件、加密磁盘镜像等各种应用)、私钥、电子证书、加密笔记等。7.1iOS操作系统取证概述
iPhone4之后启用硬件加密,在iOS8版本更是增强了keychain钥匙串的功能,对存储的数据进行加密,采取每个文件一个独立密钥的方式,一旦文件被删除,该文件的加密密钥也会被删除,即使恢复出该文件的存储数据也无法进行解密。所以物理提取的方式适用的范围还是很有限的。不少取证软件都有支持物理提取的功能,例如Cellebrite的UFED也是带有这个功能,如下图所示。由于iOS设备的硬件加密机制,所以物理获取功能只能支持到早期的一些设备型号。7.1.5物理取证7.2iOS操作系统常见逻辑数据提取分析7.2iOS操作系统常见逻辑数据提取分析7.2.1
短消息的提取和分析
短消息、iMessages应用数据保存在“/private/var/mobile/Library/SMS/sms.db”文件中,“sms.db”为sqlite数据库,有时会看到sms.db-shm、sms.db-wal文件,这两个文件是sqlite数据库的预写日志和索引。草稿内容保存在“Drafts”目录下,附件内容保存在“Attachments”目录。测试手机的“Library/SMS/”目录如下图:图7-6 Library/SMS/目录内容7.2.1短消息的提取和分析
短消息数据库“sms.db”对应的iPhone备份文件中的文件名为“3d0d7e5fb2ce288813306e4d4636395e047a3d28”文件,“sms.db”在Manifest.mbdb中的信息见图7-34(关于Winhex模板的介绍见章节7.3.1):7.2.1短消息的提取和分析图7-7 sms.db在Manifest.mbdb中的信息7.2.1短消息的提取和分析
由其域名和路径字符串合并得到字符串“HomeDomain-Library/SMS/sms.db”,再计算合并字符串的sha1哈希得到短信数据库在备份中的存储文件名:3d0d7e5fb2ce288813306e4d4636395e047a3d28,这也是所有备份文件中文件名的由来。“sms.db”数据库主要的表有“message”、“chat”、“chat_message_join”、“message_attachment_join”、“attachment”,短消息内容主要保存在“message”表,通过“chat_message_join”、“message_attachment_join”关联表可查找出对应短消息的电话号码、附件。7.2.1短消息的提取和分析
执行以下SQL语句查询短消息内容:selectc.chat_identifieras'电话号码',c.service_nameas'类型',u.textas'短消息内容',datetime(substr(u.date,1,9)+978307200,'unixepoch','localtime')as'时间',case发送'接收'endas'方向',A.filenameas'附件'fromchat_message_joinasMleftjoinchatasConC.rowid=M.chat_idleftjoinmessageasUonU.rowid=M.message_idleftjoinmessage_attachment_joinasM1onM1.message_id=U.rowidleftjoinattachmentasAonA.rowid=M1.attachment_id;7.2.1短消息的提取和分析
图7-8短消息内容查询结果执行结果见下图:7.2.1短消息的提取和分析
7.2.2通话记录提取和分析通话记录的数据库在“/private/var/wireless/Library/CallHistory/call_history.db”文件,保存了手机的拨出和呼入电话的历史记录,通过数据挖掘这个数据库可以得到删除的通话记录。“call_history.db”数据库中的“call”表保存了通话记录的数据,它的主要字段的含义见下表:7.2iOS操作系统常见逻辑数据提取分析7.2.2通话记录提取和分析
图7-9通话记录保存的位置从iOS8开始,通话记录数据库的路径变更为“/private/var/wireless/Library/CallHistoryDB/CallHistory.storedata”文件,如下图:7.2.2通话记录提取和分析
图7-10 CallHistory.storedata数据库中主要的表“CallHistory.storedata”数据库(主要表见图7-10)中“ZCALLRECORD”表保存了通话记录的数据。7.2.2通话记录提取和分析
“ZCALLRECORD”表的主要字段的作用见下表:7.2.2通话记录提取和分析
值得一提的是,在“/private/var/mobile/Library/Preferences/com.apple.mobilephone.plist”文件(plist格式文件,转换xml方法见章节7.3.1)中,节点“DialerSavedNumber”的值记录了最后一次拨出的电话号码。下图中,“DialerSavedNumber”的值与通话记录数据库“CallHistory.storedata”中“ZCALLRECORD”表最后1条记录的“ZADDRESS”字段值相同:7.2.2通话记录提取和分析图7-11通话记录历史信息“/private/var/mobile/Library/Preferences/com.apple.mobilephone.speeddial.plist”文件则保存了个人收藏(快速拨号)的记录。7.2.2通话记录提取和分析
7.2.3
联系人信息提取和分析联系人数据保存在“/private/var/mobile/Library/AddressBook”目录下的“AddressBook.sqlitedb”、“AddressBookImages.sqlitedb”数据库中。“AddressBook.sqlitedb”数据库存储了每个联系人的详细信息,包括姓名、姓氏、电话号码、电子邮件、地址等信息,上述数据主要保存在“ABPerson”、“ABMultiValue”表中。“AddressBookImages.sqlitedb”数据库存储联系人的头像数据,以blob格式保存在“ABFullSizeImage”表中。7.2iOS操作系统常见逻辑数据提取分析7.2.4浏览器历史记录提取和分析iOS设备中都预装了苹果浏览器应用“Safari”,“Safari”的浏览记录、书签、Cookies数据保存在“/private/var/mobile/Library/”目录和“safari”程序目录中。7.2iOS操作系统常见逻辑数据提取分析
1.Safari书签,存储在“/private/var/mobile/Library/Safari/Bookmarks.db”数据库中,早期iOS版本则存储在“Bookmarks.plist”或“Bookmarks.db”文件中。2.Safari浏览器的Cookies存储在“/private/var/mobile/Library/Cookies/Cookies.binarycookies”文件中,该文件存储格式并非sqlite数据库。3.Safari快速访问站点截屏,记录了用户最常访问网站的截图缩略图,存储在“/private/var/mobile/Library/Caches/Safari/”目录下。7.2.4浏览器历史记录提取和分析
4.Safari搜索缓存,记录了用户使用Safari浏览器在搜索栏中的最新搜索,存储在“/private/var/mobile/Library/Caches/Safari/RecentSearches.plist”文件中。5.Safari历史搜索,记录Safari浏览器最近搜索的列表,当用户删除Safari搜索缓存、Safari历史浏览记录时,Safari历史搜索信息依然不会被删除,存储在“/private/var/mobile/Library/Preferences/com.apple.mobilesafari.plist”文件中,转换后可以看到以数组方式显示的历史搜索记录。7.2.4浏览器历史记录提取和分析
6.Safari暂停状态,是指用户按下HOME键、iPhone关机、浏览器崩溃等这几种情况发生时,Safari浏览器的最后状态,“Safari暂停状态”就是为了能够让浏览器顺利恢复到这种状态而产生的。此时,Safari数据存储在“/private/var/mobile/Library/Safari/SuspendState.plist”文件中。7.Safari缩略图,保存第三方应用使用WebKit框架最后活动的截图,存储路径为“/private/var/mobile/Library/Caches/Safari/Thumbnails/”目录或“/private/var/mobile/Library/Safari/Thumbnails/”目录下。7.2.4浏览器历史记录提取和分析图7-12 Safari历史搜索记录7.2.4浏览器历史记录提取和分析图7-13SuspendState.plist文件中的部分内容(已转换)7.2.4浏览器历史记录提取和分析
7.2.5邮件客户端信息的提取和分析当用户将他们的电子邮件账户同步到设备时,账户信息以及电子邮件内容被存储在设备内。“/private/var/Keychain/keychain-2.db”文件保存了电子邮件的账号信息,这个钥匙串文件中还有用户登录、Wi-Fi账号、应用登录等信息。从数据库中的“inet”表可以得到电子邮件的账号信息。“/private/var/mobile/Library/Mail/”目录中保存了苹果邮件客户端每个电子邮件帐户同步到设备的邮件文件夹,包括接收、发送、草稿等内容。从测试备份文件的该路径下可看到一个“Recents”文件,查看数据库中“contacts”内容包含一些联系人的信息。7.2iOS操作系统常见逻辑数据提取分析图7-14 Recents文件中contacts表的部分记录7.2.5邮件客户端信息的提取和分析
7.2.6位置信息的提取和分析自从iOS6在2012发布以来,苹果手机包括了自己的地图应用程序,数据存储在“/private/var/mobile/Library/Preferences/com.apple.Maps.plist”文件中,该文件包含了用户最后搜索的信息,如经度、纬度、搜索查询。地图主文件存在“/private/var/mobile/Library/Maps”目录下,它包含了用户搜索的历史记录以及所标记的位置列表。7.2iOS操作系统常见逻辑数据提取分析7.2.7其他信息源分析Notes应用程序存储有关用户创建的备注信息,数据存储在“/private/var/mobile/Library/Notes/notes.sqlite”、“/private/var/mobile/Library/Notes/notes.idx”文件中。“notes.idx”为笔记的片段存储的索引文件,笔记标题、内容、创建时间和修改时间存储在“notes.sqlite”数据库中的“ZNOTE”和“ZNOTEBODY”表中。7.2iOS操作系统常见逻辑数据提取分析
日历应用程序允许用户手动创建事件,并将他们与其他应用程序进行同步。日历事件信息存储在“/private/var/mobile/Library/Calendar/Calendar.sqlitedb”、“/private/var/mobile/Library/Calendar/Extras.db”两个数据库中。“/Calendar.sqlitedb”数据库基本上包含与日历中存在的事件相关的所有信息,“Extras.db”数据库保存日历设置、特定日历事件相关的提醒等额外信息。7.2.7其他信息源分析
语言备忘录应用程序可以让用户录制语音,这些备忘录数据存储在“/private/var/mobile/Media/Recordings/”目录下。在这个文件夹中,每个语音备忘录的元数据信息被保存至“Recordings.db”数据库中,包括每次录音备忘的时长、备忘录名称、日期、语音备忘录的文件名,文件中是具体的录音数据。7.2.7其他信息源分析7.3iPhone备份文件的取证7.3iPhone备份文件的取证iOS的备份文件包括3类:PList文件、数据文件以及数据库文件。1.PList文件plist文件的全称为PropertyList,是一种属性列表文件,用来存储串行化后的对象,扩展名为“.plist”,因此通常被称为“plist”文件。其存储方式有三种,其中以XML格式或binary格式最为常见。7.3.1备份文件的结构与分析
备份文件中有plist文件,分别为Info.plist、Manifest.plist、Status.plist。Info.plist这个文件是明文保存,里面记录了设备名字、iOS版本、型号,备份日期、设备信息、UDID、ICCID、MEID、应用程序列表等信息,如下图:7.3.1备份文件的结构与分析图7-15 Info.plist文件的部分内容7.3.1备份文件的结构与分析
Manifest.plist是一个二进制格式(binary)的plist文件,里面记录了安装的应用程序、备份是否加密等信息。该文件用文本工具打开是乱码,部分内容见下图:图7‑16Manifest.plist文件的部分内容7.3.1备份文件的结构与分析
从上图看出,二进制格式的“plist”文件非明文,无法直接阅读其内容,这种格式可以通过工具转换成明文的xml格式。macOS、Windows系统环境下都提供了转换命令。Windows环境需要安装iTunes,命令程序存放的路径为“C:\ProgramFiles(x86)\CommonFiles\Apple\AppleApplicationSupport\plutil.exe”。7.3.1备份文件的结构与分析图7-17 plutil.exe命令支持的格式“plutil.exe”命令支持的格式如下图:7.3.1备份文件的结构与分析将二进制格式的“plist”文件转换xml格式,使用的命令为“plutil.exe-convertxml1plist文件-oxml文件”,例如“plutil-convertxml1Manifest.plist-oManifest.json”。转换后生成的“Manifest.json”文件的部分内容如下图:7.3.1备份文件的结构与分析图7-18 Manifest.json文件的部分内容7.3.1备份文件的结构与分析图7-19 Status.plist文件转换后的部分内容Status.plist也是一个二进制格式的plist文件,里面包含了一些诸如备份时间、是否为全量备份等备份状态信息,转换后的部分内容如下图:7.3.1备份文件的结构与分析
数据文件iOS备份文件中,有大量文件的文件名是由40个十六进制字符组成的,这些文件都是数据文件。其文件名的生成规律是是由“域+原始路径”(使用“-”为连接符),随后将拼接得到的字符串计算SHA1哈希,就是生成的文件名。例如:短信数据库的路径为“Library/SMS/sms.db”,其域名为HomeDomain,将字符串合并后为“HomeDomain-Library/SMS/sms.db”,计算该字符串的SHA1哈希值为3d0d7e5fb2ce288813306e4d4636395e047a3d28,如下图:7.3.1备份文件的结构与分析图7-20计算SHA1结果7.3.1备份文件的结构与分析
由上图可知,短信数据库文件在iOS备份文件中的文件名为3d0d7e5fb2ce288813306e4d4636395e047a3d28。那域名和文件名从何而来?数据文件和数据库文件是相关联的,可以通过这两个文件还原iOS备份文件中文件对应的存放路径,下文会介绍数据库文件的相关结构。7.3.1备份文件的结构与分析
数据库文件iOS备份文件中的数据库相关文件有Manifest.mbdx、Manifest.mbdb、Manifest.db。在iOS5之前,iOS备份文件中有“Manifest.mbdx”、“Manifest.mbdb”两个文件,其中“Manifest.mbdb”是备份的索引文件,它由一个定长的头部和若干定长的记录构成。Manifest.mbdx数据库中记录着文件信息如域名、路径、哈希值、文件大小等属性。7.3.1备份文件的结构与分析图721Manifest.mbdb文件头的部分内容但iOS5中,废弃了Manifest.mbdx,Manifest.mbdb包含了如域名、路径、路径类型、创建时间、密钥、文件大小等属性。Manifest.mbdb是一个结构化文件,由无数个数据记录所组成,使用十六进制查看工具winhex打开该文件,文件头部分内容如下图:7.3.1备份文件的结构与分析前面6个字节为6D6264620500为文件头,随后存储着备份文件中各各数据文件的信息。解析Manifest.mbdb文件结构,可以看出数据记录中不少数据字段的存储结构为“长度+值”的模式,即由前2个字节声明其值的长度(用字节表示),紧随其后则是字段的内容。Manifest.mbdb中一条数据记录的结构解析如下表:7.3.1备份文件的结构与分析7.3.1备份文件的结构与分析7.3.1备份文件的结构与分析上表中整数的存储格式为“big-endian”。为了便于分析一条数据的结构,我们可以借助winhex、010editor等十六进制编辑器的模板功能。参照上表中各个数据字段的解析,写了一个简单的winhex模板,其中文件属性这部分代码还需要完善,代码如下:7.3.1备份文件的结构与分析7.3.1备份文件的结构与分析7.3.1备份文件的结构与分析
模板的制作教程可参见/winhex/templates/,将上述代码保存为“.tpl”后缀名的文件,然后放在winhex安装目录下即可。使用Winhex打开Manifest.mbdb文件,依次选择菜单“View”->“TemplateManager..”,弹出窗口如下图所示:7.3.1备份文件的结构与分析图7-22 WinHex的TemplateManager对话框7.3.1备份文件的结构与分析图7-23解析得到的第一条数据选择“Manifest_mbdb”模板,点击“Apply”按钮,即可解析数据,如下:7.3.1备份文件的结构与分析图7-24解析得到的第二条数据7.3.1备份文件的结构与分析
上图中offset列显示该项记录在整个“Manifest.mbdb”文件中的偏移位置,例如“文件路径”的值在整个Manifest.mbdb中偏移位置192。找到Manifest.mbdb文件中有关短消息数据库的数据内容,如下图:7.3.1备份文件的结构与分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车旧车销售售后服务体系构建考核试卷
- 东莞理工学院《建筑节能》2023-2024学年第二学期期末试卷
- 赣南师范大学科技学院《简明英语西方艺术史》2023-2024学年第一学期期末试卷
- 安庆医药高等专科学校《信息可视化设计》2023-2024学年第一学期期末试卷
- 兰州现代职业学院《跨文化商务沟通》2023-2024学年第一学期期末试卷
- 台州科技职业学院《景观建筑设计》2023-2024学年第二学期期末试卷
- 2025年黑龙江省安全员考试题库
- 浙江舟山群岛新区旅游与健康职业学院《审计综合模拟实训》2023-2024学年第二学期期末试卷
- 2025年福建建筑安全员B证(项目经理)考试题库
- 浙江省宁波市“十校”2025年高三第二轮复习测试卷语文试题(七)含解析
- 英语四线三格线A4纸打印
- 面瘫病人的康复指导
- 学习解读2023年涉税专业服务基本准则和职业道德守则课件
- 修理厂喷漆承包合同
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 淮北市事业单位考试历年真题
- 中考英语试卷阅读理解答题技巧课件
- 2023年中考英语复习 第4部分 5 读写综合 (回答问题)课件
- 临时用地申请书参考模板
- 特纳综合征课件
- 基于ABB机器人对流水焊接作业的虚拟仿真工艺设计
评论
0/150
提交评论