对Apple Watch的取证分析(续)

在过去几年中,智能可穿戴设备的使用显著增加。2018年智能手表销量达1.41亿部,智能可穿戴设备销量同比增长近一倍。在激烈的市场竞争中,Apple Watch占据了主导地位,2018年可穿戴设备销量超过2250万台,占据了全球市场近一半的份额。

从2015年开始,苹果总共生产了五种不同型号的WatchOS。WatchOS是一款基于iOS的可穿戴操作系统,专门为Apple Watch开发。

2015年,希瑟•马力克(Heather Mahalik)和萨拉•爱德华兹(Sarah Edwards)对Apple Watch进行了初步的创新研究,该演示文稿可以在Sarah Edwards的GitHub账户上找到(PDF)。

从那时起,就没有多少关于如何从这类设备中提取数据的研究。在过去的几个月里,我一直在研究如何提取和分析存储在Apple Watch内存中的数据。

在取证分析方面,正如在之前的文章所讨论的,我们有三个选择:

· 1.获取配对的iPhone的备份;

· 2.直接将Apple Watch连接到电脑上;

· 3.云(提取同步的健康数据);

分析配对iPhone的备份

iPhone的逻辑提取是众所周知的,你可以通过iTunes,或者使用你选择的取证工具(例如Elcomsoft iOS取证工具包) 备份iPhone。

一旦提取了iPhone备份,就可以对其进行分析,以获得配对的Apple Watch的信息。在本文中,我将使用两个很棒的工具,分别是Windows和MacOS都可用的iBackupBot和Windows的SQLite Expert,我们可以通过分析规格型号来开始调查Apple Watch。

在\HomeDomain\Library\DeviceRegistry.state文件夹中,我们可以找到以下四个文件:

· historySecureProperties.plist

· stateMachine-<GUID>.PLIST

· activestatemachine.plist

· history.plist

对Apple Watch的取证分析(续)

historySecureProperties.plist文件包含配对Apple Watch的序列号、UDID (UniqueDeviceIdentifier)、Wi-Fi Mac地址和BT Mac地址。

对Apple Watch的取证分析(续)

stateMachine- <GUID> .PLIST文件包含配对状态(通常包含值PairSuccess)、配对时安装在Apple Watch上的WatchOS版本和配对时间戳(以Apple Cocoa Core Data格式存储)。

对Apple Watch的取证分析(续)

activestatemachine.plist包含与stateMachine- <GUID> .PLIST类似的信息,并且在进行备份时添加了在设备上安装的WatchOS版本。PHP大马

\ HomeDomain \ Library \ DeviceRegistry文件夹包含一个名为stateMachine- <GUID> .plist文件的GUID的子文件夹:此文件夹包含来自AppleWatch的备份数据。

对Apple Watch的取证分析(续)

在各种文件和文件夹中,以下是最感兴趣的文件和文件夹:

NanoAppRegistry文件夹,包含有关已安装应用程序的信息。在下图中,你可以找到有关Facebook应用程序的信息,以及绑定Bundle版本、显示名称、绑定Bundle标识符和绑定Bundle名称。

对Apple Watch的取证分析(续)

可以看出,NanoMail \ Registry.sqlite文件包含有关已同步的电子邮件帐户的信息。

在SYNCED_ACCOUNT表中,你可以找到设备上设置的每个电子邮件帐户的显示名称和电子邮件地址。

对Apple Watch的取证分析(续)

在MAILBOX表中,你可以在设备上设置的每个电子邮件帐户的文件夹和子文件夹中找到电子邮件的发件人。

对Apple Watch的取证分析(续)

NanoPasses \ nanopasses.sqlite3数据库包含AppleWatch钱包中可用的“通行证”列表。对于对于每个传递,你都可以找到Type_ID、组织名称、摄取日期(以Apple Cocoa Core Data格式存储)和描述。

对Apple Watch的取证分析(续)

一些传递还可以具有“编码传递”字段,这是一个二进制plist文件,包含关于传递的详细信息。二进制plist文件可以从数据库中被提取出来,并保存为一个单独的文件,并使用plist查看器(例如plist编辑器)打开。

在下面的截图中,你可以在Booking.com上查看与酒店预订相关的编码通行证,可以使用SQLiteExpert打开编码通行证并将其另存为单独的文件。

对Apple Watch的取证分析(续)

然后可以使用plist编辑器打开该文件,提取关于预订的特定信息,如酒店名称和地址、客人姓名、支付的价格、预订号码以及入住和退房日期。

对Apple Watch的取证分析(续)

NanoPreferencesSync文件夹包含与Apple Watch配置相关的各种文件,其中最有趣的子文件夹之一是\Backup\Files\,其中包含有关手表外观的信息,用户可以用iPhone同步的图片定制这些信息。在下面的截图中,你可以找到存储在其中的所有文件的详细信息。

对Apple Watch的取证分析(续)

每个文件都是一个zip文件:

对Apple Watch的取证分析(续)

该文件包含:

1.Face.json带有“Face”细节,包括创建日期(以Apple Cocoa Core Data格式存储);

2. Resources文件夹,包含JPG格式的面部图片和包含图片信息和元数据的plist文件;奇热影视

对Apple Watch的取证分析(续)

从Apple Watch中提取数据

可以选择直接从Apple Watch中提取数据,不过目前还存在以下一些特定的要求和限制,对取证分析造成了一定的影响。

1.你需要一种方法把你的电脑和Apple Watch连接起来,如关于《Apple Watch和Apple TV 取证分析》的文章所述,Apple Watch S1、S2和S3可以使用适配器,我们对Apple Watch 4的适配器一无所知。

2.当连接到电脑时,Apple Watch必须配对才能允许访问数据。如果Apple Watch受密码保护且密码未知,则无法生成配对。

3.在WatchOS上没有运行备份服务,因此无法直接创建Apple Watch的备份。

4.最新版本的WatchOS还无法进行越狱;

考虑到这些限制,我们可以从连接的Apple Watch中获得三种不同类型的数据:

1.设备信息和已安装应用程序的列表;

2.通过AFC (Apple File Conduit)协议获取文件;

3.设备日志;

设备信息和已安装的应用程序列表

通过在连接到配对的Apple Watch的Windows或MacOS计算机上使用Elcomsoft iOS Forensic Toolkit,你可以使用“I”(信息)选项来提取设备信息。

对Apple Watch的取证分析(续)

这个命令会生成三个文件:

· Ideviceinfo.plist

· Applications.txt

· Applictions.plist

ideviceinfo.plist文件包含有关设备的详细信息,包括硬件型号、WatchOS版本、序列号、UDID、设备名称、Wi-Fi和蓝牙地址、时区和实际设置时间。

对Apple Watch的取证分析(续)

它还包含关于磁盘总容量、系统总容量、数据总容量、可用数据总容量和本地语言的信息。

对Apple Watch的取证分析(续)

Applications.txt文件包含已安装应用程序的列表,包括Bundle标识符、Bundle版本和Bundle显示名称。

对Apple Watch的取证分析(续)

Applications.plist文件包含有关已安装应用程序的详细信息,包括应用程序路径和容器文件夹。在下面的截图中,你可以找到一个Uber应用程序信息的例子。

对Apple Watch的取证分析(续)

通过AFC(Apple File Conduit)协议获取

通过在连接到配对Apple Watch的Windows或MacOS计算机上使用Elcomsoft iOS Forensic Toolkit,你可以使用“M”(媒体)选项提取通过AFC协议提供的媒体文件。

对Apple Watch的取证分析(续)

获取后,你就可以使用你喜欢的取证工具(在此示例中为X-Ways Forensics)分析数据。X-Ways Forensics是一款全球业界公认的计算机取证综合分析软件,具有功能齐全、性能卓越、界面简洁、操作灵活等技术特点。X-Ways Forensics已经成为众多电子数据取证调查人员喜爱的取证工具之一。

对Apple Watch的取证分析(续)

与原始图片相比,图片的大小进行了调整,但它们仍然可以包含有趣的元数据,如相机型号名称和原始采集时间戳。

对Apple Watch的取证分析(续)

iTunes_Control\iTunes文件夹包含一个名为MediaLibrary的文件。sqlitedb和相关的SHM(共享内存)和WAL(提前写日志)文件。这个SQLite文件包含一些有趣的信息,比如用户的iCloud帐户ID,以及用户从苹果商店获得的媒体(歌曲和电影)和电子书列表。此文件包含关于使用与同一iCloud帐户同步的所有用户设备进行购买的信息。

对Apple Watch的取证分析(续)

该数据库包含36个表,_MLDatabaseProperties表包含iCloud帐户ID。

对Apple Watch的取证分析(续)

要从数据库中提取有意义的数据,可以使用以下SQL查询:

对Apple Watch的取证分析(续)

该查询将提取关于用户进行的购买的详细信息,包括标题,媒体类型,文件大小,总时间(用于歌曲和电影),帐户ID,购买和购买历史ID的数据。对于存储在Apple Watch上的购买信息,你还可以找到文件名。

select
ext.title AS "Title",
ext.media_kind AS "Media Type",
itep.format AS "File format",
ext.location AS "File",
ext.total_time_ms AS "Total time (ms)",
ext.file_size AS "File size",
ext.year AS "Year",
alb.album AS "Album Name",
alba.album_artist AS "Artist", 
com.composer AS "Composer", 
gen.genre AS "Genre",
art.artwork_token AS "Artwork",
itev.extended_content_rating AS "Content rating",
itev.movie_info AS "Movie information",
ext.description_long AS "Description",
ite.track_number AS "Track number",
sto.account_id AS "Account ID",
strftime('%d/%m/%Y %H:%M:%S', datetime(sto.date_purchased + 978397200,'unixepoch'))date_purchased,
sto.store_item_id AS "Item ID",
sto.purchase_history_id AS "Purchase History ID",
ext.copyright AS "Copyright"
from
item_extra ext
join item_store sto using (item_pid)
join item ite using (item_pid)
join item_stats ites using (item_pid)
join item_playback itep using (item_pid)
join item_video itev using (item_pid)
left join album alb on sto.item_pid=alb.representative_item_pid
left join album_artist alba on sto.item_pid=alba.representative_item_pid
left join composer com on sto.item_pid=com.representative_item_pid
left join genre gen on sto.item_pid=gen.representative_item_pid
left join item_artist itea on sto.item_pid=itea.representative_item_pid
left join artwork_token art on sto.item_pid=art.entity_pid

相应的文件可以在通过AFC协议提取的购买文件夹中找到:

对Apple Watch的取证分析(续)

PhotoData文件夹包含与已同步照片相关的文件,你可以在这里找到最有趣的信息是Photos.sqlite数据库和Thumbnails文件夹。

对Apple Watch的取证分析(续)

Photos.sqlite文件包含有关存储在设备上的照片的信息,有关此文件结构的详细说明,请访问https://www.forensicmike1.com/2019/05/02/ios-photos-sqlite-forensics/,可以在https://github.com/kacos2000/queries/blob/master/Photos_sqlite.sql上找到解析此文件的SQL查询。

缩略图文件夹包含存储在Apple Watch上的图片的缩略图,你可以使用ITHMB转换器分析ITHMB文件,并可能找到已删除图片的缩略图。

对Apple Watch的取证分析(续)

提取设备日志

通过在连接到配对Apple Watch的Windows或MacOS计算机上使用Elcomsoft iOS Forensic Toolkit,可以使用“L”(Logs)选项提取这些信息。

对Apple Watch的取证分析(续)

在此,我强烈建议,你先阅读一下这篇文章《使用Apple的漏洞报告来进行取证》。

在本研究中,我们强调了使用sysdiagnose配置文件从苹果设备中提取数据的重要性。该方法也在Apple Watch上进行了测试,测试时,生成了一个包含许多有用信息的完整TAR文件。在下面的截图中,你可以找到从Apple Watch中提取的sysdiagnose日志。

对Apple Watch的取证分析(续)

我们还开发了各种脚本来解析sysdiagnose获取过程中可用的一些文件。这些脚本可以从GitHub获得。

你可以在sysdiagnose日志中找到一些相关的信息:

MobileActivation日志,包含关于安装构建版本的时间、硬件模型和产品类型的信息。它还详细介绍了操作系统的升级,在下面的截图中,你可以在Apple Watch的Mobile Activation日志中看到脚本的执行情况。

对Apple Watch的取证分析(续)

MobileContainerManager日志,包含有关应用程序卸载的信息,这些信息可能具有历史意义。在下面的截图中,你可以在Apple Watch的MobileContainerManager日志中看到脚本的执行情况。

对Apple Watch的取证分析(续)

MobileInstallation日志,包含关于已安装应用程序的历史信息。在下面的截图中,你可以看到Alexis Brignoni在Apple Watch的MobileInstallation日志上执行MIB解析器脚本。

对Apple Watch的取证分析(续)

PowerLog日志,包含有关用户与设备交互的信息,Sarah Edwards在她的演示文稿(PDF)和她的开源工具包APOLLO中已经研究和描述了该数据库的结构。在下面的截图中,你可以看到针对从Apple Watch提取的PowerLog是如何执行APOLLO的?

对Apple Watch的取证分析(续)

WiFi日志可以用来提取设备连接到的网络列表,最容易分析的文件是com.apple.wifi.plist。其中包含每个网络的详细信息,包括SSID、BSSID和最近加入日期,BSSID还可以通过使用像Wigle这样的服务来反向查找Wi-Fi网络的位置。

对Apple Watch的取证分析(续)

对Apple Watch的取证分析(续)

云取证分析

从iCloud获取数据是另一种对Apple Watch取证的方法,该方法对于提取Apple Watch和iPhone之间同步的健康数据尤其有用。在下面的截图中,你可以对从iCloud上存储的iPhone备份中提取的健康数据进行精细处理。

对Apple Watch的取证分析(续)

总结

对Apple Watch的取证分析目前还属于比较前沿的话题,考虑到全球可穿戴设备的销量不断增长,我们需要提前进行更多的研究和测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350564.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何判断您是否需要新的iPhone电池

If Apple’s iOS is purposefully slowing down your phone, a battery upgrade may help. But don’t make that expensive step without checking for forced ‘performance management’ first. 如果Apple的iOS故意降低了手机的速度&#xff0c;则电池升级可能会有所帮助。 …

ios 7.x.x 不越狱添加输入词库

一、准备软件&#xff1a; 下载软件 附件中包含需要的2个软件和3个词库 1、iBackupBot for iTunes 5.1 注册iBackupBot help->registered iBackupBot注册码如下&#xff1a; 用户名&#xff1a;AXiS - Fighting For Fun 注册号&#xff1a;B6ECEFB6E061BC8B2B23459EFE035ABF…

财务创造价值,如何降本增效?

一、整体成本管控理论 有财务人员可能认为这和我们财务有什么关系&#xff0c;这和财务管理也没有关系。我们经常提到的业务财融合以及成本BP&#xff0c;其实在这里面是需要发挥应有的价值的。如何理解这个问题&#xff1f;无论是老板还是财务人员&#xff0c;一是有财务管理…

【操作系统真象还原】第5章:保护模式进阶,向内核迈进(5.1获取物理内存)

目录 5.1 获取物理内存容量 5.1.1 学习 Linux 获取内存的方法 5.1.2 利用 BIOS中断 0x15 子功能 0xe820 获取内存 5.1.3 利用BIOS中断 0x15 子功能 0xe801 获取内存 5.1.4 利用BIOS中断0x15子功能0x88获取内存 5.1.5 实战内存容量检测 5.1 获取物理内存容量 操作系统是计…

html网页右侧悬浮代码,html悬浮窗口代码

怎么才能在HTML中做个悬浮窗并在里面插个超链接。给你上传了附件&#xff0c;里面是源码&#xff0c;你去下载在悬浮框里面加上超链接就行了*{ padding:0px; margin:0px;}.box{ width html弹出悬浮窗口代码,怎么实现啊 &#xff1f;&#xff1f;&#xff1f; 动态生成div设置di…

网站html漂浮代码大全,网页漂浮窗口代码

漂浮窗口代码 var x = 50,y = 60 var xin = true, yin = true var step = 1 var delay = 10 var obj=document.getElementById("ad") function floatAD() {var L=T=0 var R= document.body.clientWidth-obj.offsetWidth var B = document.body.clientHeight-obj.offs…

【商品页面详情页+商品评论】API接口技术交流,封装接口

商品详情API接口数据&#xff1a;提供了商品的基本信息&#xff0c;包括商品名称、描述、规格、价格、销量、库存等信息。此外&#xff0c;也可以通过提供的API接口来获取商品的图片、评价、物流信息等详细数据。 商品评论接口是消费者对商品所进行的客观评价 电商API的应用价…

JS实现漂浮广告功能

JS实现漂浮广告功能 前言一、漂浮广告案例 前言 漂浮广告非常简单也是老案例了&#xff0c;在网页的设计中可直接拿去用&#xff0c;原理都是我之前文章所讲到的&#xff0c;如果有什么不明白的可以看看我之前的文章&#xff0c;仅供参考学习。 一、漂浮广告案例 我在这个案例…

页面漂浮物代码

有时候 会让屏幕中 出现一些漂浮的小图片 eg&#xff1a;这个就是钱袋 漂浮往下掉的 代码&#xff1a; function playFloatBox(content, type) { if (!content) return; var bom type 1 ? <span><i class"fa fa- content "></i></sp…

安卓系统浏览器开发

预置某个浏览器为系统默认的浏览器 描述: 当系统存在多个浏览器时&#xff0c;如何预置某个浏览器为系统默认的浏览器&#xff1f; 方法: 1.在PackageManagerService.java中的构造函数结尾添加&#xff1a;setDefaultBrowser(); 2.setDefaultBrowser()的具体实现&#xff…

Nginx踩坑记录 配置文件中的include不能嵌套 (include的文件里不能再include其他文件了)

上一篇文章介绍了配置文件有多个位置&#xff0c;并且可以采用include实现主配置文件分文件的个性化配置模式&#xff1a;Nginx配置文件 所在路径 到底在哪&#xff1f;_身价五毛的博客-CSDN博客 然后就又踩坑了&#xff0c;include不能嵌套调用&#xff0c;即&#xff1a; …

Vulkan内存模型+管理

前言 最近在研究Vulkan&#xff0c;在Vulkan中使用内存是个麻烦的过程&#xff0c;而且容易用错&#xff0c;今天就给大家分享下Vulkan的内存模型。 内存&#xff0c;在任何时候都是个稀缺的资源&#xff0c;内存管理更是个让人望而却步的事情。在这个崇尚用户体验的今天&…

自学测试半年,终于收到了字节的offer,那一刻我哭出了声...

我是一名毕业于普通一本的化学专业学生&#xff0c;毕业的两年时间里&#xff0c;我一直奔波在化工厂里。每天工作三班倒&#xff0c;下了班就是一包烟一瓶酒&#xff0c;生活过得非常堕落。 原本想着虽然每天很累&#xff0c;但是至少稳定。然而没有想到的是&#xff0c;化工…

注册表启动项设置方法

1、按winr&#xff0c;打开运行输入框&#xff0c;输入regedit&#xff0c;打开注册表。 2、在注册表输入框中复制下面路径&#xff1a; \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 3、新增一条开机启动项 右键 -新建-字符串值&#xff0c;修改启动项…

计算机启动项在什么地方找,W7系统注册表开机启动项在哪里

开机启动项除了可以使用MSConfig命令打开以外&#xff0c;也能使用第三方工具、注册表查看开机启动项&#xff0c;因为数值的存在&#xff0c;注册表看到的启动项比较准确。为了个人信息安全&#xff0c;使用注册表编辑开机启动项以更好的杜绝病毒自启动。阅读下文了解w7系统注…

WIN10 注册表添加启动项

1、打开运行&#xff0c;输入“regedit”&#xff0c;打开注册表。 2、在注册表中找到如下位置\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,右键“Run”新建一个字符串类型的键值。 3、右键新建的键值&#xff0c;选择“修改”&#xff0c;将数值名称…

WINDOW 注册表添加启动项

注册表添加启动项 1、打开运行&#xff0c;输入“regedit”&#xff0c;打开注册表。 2、在注册表中找到如下位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&#xff0c;winwin7.com右键“Run”新建一个字符串类型的键值。 3、右键新建的键值&…

修改注册表开机启动项

首先我们启动项的位置&#xff0c;它有两个一个是user一个是michine我们先来看HKEY_CURRENT_USER下面的&#xff0c;打开注册表方式非常简单笔记本winR台式机可以直接点击开始运行输入regedit 找到注册表之后依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVe…

win10添加开机启动项_Windows系统注册表添加开机启动项

Windows 7系统我们可以把需要开机启动的软件把快捷键放到(开始/程序/启动)就可以了&#xff0c;而Windows 10系统没有(开始/程序/启动)启动项&#xff0c;我们要添加软件开机自动启动就需要到注册表添加修改&#xff0c;而注册表里面添加启动项有两个类型&#xff0c; 1、[HKEY…

屏蔽360阻止远程执行变更注册表自启动数据的办法

屏蔽360阻止远程执行变更注册表自启动数据的办法 运程服务器上的程序&#xff0c;由于需要。我在服务器中&#xff0c;加入更新升级自身&#xff08;exe&#xff09;文件&#xff0c;并变更操作系统自启动数据的代码。 实践证明&#xff0c;通过客户端&#xff0c;调用运程服务…