在过去几年中,智能可穿戴设备的使用显著增加。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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

该文件包含:

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

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

从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”(信息)选项来提取设备信息。

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

· Ideviceinfo.plist

· Applications.txt

· Applictions.plist

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

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

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

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

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

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

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

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

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

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

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

该查询将提取关于用户进行的购买的详细信息,包括标题,媒体类型,文件大小,总时间(用于歌曲和电影),帐户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协议提取的购买文件夹中找到:

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

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的Windows或MacOS计算机上使用Elcomsoft iOS Forensic Toolkit,可以使用“L”(Logs)选项提取这些信息。

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

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

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

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

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

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

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

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

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

云取证分析

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

总结

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

对Apple Watch的取证分析(续)相关推荐

  1. 安全技术大系iOS取证分析

    <安全技术大系iOS取证分析> 基本信息 作者: (美)莫里西(Morrissey,S.) [作译者介绍] 译者: 郭永健 韩晟 钟琳 出版社:电子工业出版社 ISBN:978712117 ...

  2. DEFCON 20 CTF 磁盘取证分析题目

    这是一道取证分析题目,主要考察取证分析能力,包括磁盘文件恢复.图片文件修复.数据分析.图片隐写信息提取等. 本次实验题目地址:<DEFCON 20 CTF Quals Forensic 200& ...

  3. 使用EventLog Analyzer进行日志取证分析

    一.构建犯罪现场以寻找安全漏洞的根源 大多数情况下,公司无法追查发起网络违规的网络入侵者.尽管采取了最好的预防措施来防止发生攻击,但不可能保护您的网络免受任何攻击.所有的攻击者都会留下痕迹,并且您的事 ...

  4. 西数DES数据库取证分析大师系统

    西数DES数据库取证分析大师系统  软件界面             功能介绍: 支持勒索病毒加密的oracle数据库 可从数据文件 DBF,dmp文件恢复表数据,存储过程,触发器等所有数据.. (1 ...

  5. 利用Volatility进行Windows内存取证分析(一):初体验

    简介 承接上文,上文中使用cuckoo沙箱的时候提到过,分析恶意代码的时候,首先利用沙箱做粗略分析,然后可以目标程序进行动态分析(OD,Windbg调试)或者静态分析(IDA静态反汇编).如果嫌每次逆 ...

  6. 计算机取证工具常用工具,X-Ways Forensics,全球知名的计算机综合取证分析工具...

    X-Ways Forensics,全球知名的计算机综合取证分析工具. X-Ways Forensics 20.0 SR-5(最新) X-Ways Forensics,全球知名的计算机综合取证分析工具, ...

  7. 使用Allegro进行数据包取证分析

    文章目录 简介 便携式取证分析解决方案 内联旁路+带外监控解决方案 数据中心流量聚合 设备方案优势 关注我们 简介 数据包是网络中传输的最小数据单位.网络管理员需要这个粒度单元来收集全面的网络分析,但 ...

  8. 如何对Windows剪切板里的内容进行取证分析 Windows剪切板取证

    前言 无论是在现实中对设备进行取证分析,还是在ctf中做取证类的题目,剪切板里的内容都需要去查看,以免遗漏什么重要信息 剪切板位置 剪切板是计算机操作系统提供的一个临时存储区域,用于在不同应用程序之间 ...

  9. 电子取证实例:基于文件系统的磁盘数据取证分析

    0×1 简介 随着计算机犯罪个案数字不断上升和犯罪手段的数字化,搜集电子证据的工作成为提供重要线索及破案的关键.恢复已被破坏的计算机数据及提供相关的电子资料证据就是电子取证.NSTRT也曾协助进行过电 ...

最新文章

  1. Java项目:在线小说阅读系统(读者+作者+管理员)(java+SSM+jsp+mysql+maven)
  2. Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现数据分表+读写分离
  3. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加均值、标准偏差)实战
  4. Knockout js 绑定 radio 时,当绑定整形的时候,绑定不生效
  5. ffmpeg API 笔记:使用libavcodec/libavformat/libswscale ffmpeg例子
  6. java vtd-xml_在java中使用vtd-xml获取xml中的属性文本
  7. linux误删ssh不上,误删openssh-server删除,复原操作
  8. java bitmap jar_Java面试中常用的BitMap代码
  9. 监控openfire数据
  10. AndroidStudio安卓原生开发_activity之间复杂对象类型的数据传递---Android原生开发工作笔记92
  11. 不谈商业模式,为什么众筹新闻难成功
  12. 二十一天学通之cookie的路径和域
  13. Mantis1.2.19 在Windows 平台上的安装配置详解
  14. webservice的接口测试工具
  15. LOTO课6:一只三极管的输出特性曲线的测绘
  16. linux 驱动笔记(七)
  17. Angel 实现FFM 一、对于Angel 和分布式机器学习的简单了解
  18. c语言习题集-----收藏归纳版
  19. sci审稿意见_SCI审稿人的意见很多,要全盘接受吗?
  20. Linux 终端命令使用讲解

热门文章

  1. 论文浅尝 | 最新10篇《知识图谱》论文推荐(ICML, CVPR, ACL, KDD, IJCAI 2019)
  2. Ubuntu应用---安装WPS Office
  3. java判断是否是url_用JAVA判断一个URL是否有效
  4. 牛客:【2021秋季算法入门班第七章习题:动态规划1】部分题解:方块与收纳盒、舔狗舔到最后一无所有、可爱の星空、[NOIP1999]拦截导弹
  5. 炫酷的console
  6. 好工具推荐系列:虚拟键盘,Free Virtual Keyboard
  7. 【Django | allauth】重写allauth重置密码方法
  8. android 录音amr格式转换,android – 以AMR文件格式录制音频
  9. 让FLASH动画轻松转换成GIF动画
  10. 蓝桥杯题目讲解(下)