macOS取证分析——Safari浏览器、Apple Mail数据和Recents数据库

Safari是苹果设备的默认网络浏览器,会留下各种有助于取证分析的痕迹。这些痕迹存储的信息包括浏览历史记录、会话详情、缓存文件和访问网站的缩略图。了解Safari在 macOS上存储数据的位置和方式可以帮助调查人员获取更多有价值的信息。

Safari 关键数据存储位置

Safari可在macOS中存储不同类型的数据。以下是可以找到取证痕迹的主要位置:

~/Library/Safari/

~/Library/Containers/com.apple.safari/

这些目录包含各种类型的浏览器相关数据,包括

  • 浏览历史
  • 缓存文件
  • 会话信息
  • 标签快照和缩略图
  • 下载文件
  • Cookies

Safari 浏览历史

Safari会在名为History.db的SQLite数据库文件中跟踪用户的浏览活动。根据设备的不同,该数据库的位置也不尽相同。

macOS:~/Library/Safari/History.db

保存期限

macOS:历史记录最长可存储一年(默认),但可配置为保留较短时间(一个月、两周、一周或一天)的数据。

跟踪iCloud同步的浏览活动

如果使用iCloud在不同设备间同步Safari历史记录,History.db中的来源字段将显示页面的访问位置:

  • 0---在此设备上访问过
  • 1---在其他连接iCloud的设备上访问过

History.db 中的两个主表存储着关键数据:

  • history_items------存储URL、域名和访问次数。
  • history_visits------包含访问时间戳(Mac Epoch格式)和网页标题。

Safari会话数据

Safari会保存与会话相关的信息,以帮助重建用户的上次浏览会话。在macOS上,会话数据的存储方式有所不同。

macOS:LastSession.plist (~/Library/Safari/LastSession.plist)

  • 以二进制plist格式存储标签页历史记录。
  • 如果未加密,则包含标签标识符、网页标题和URL。

Safari缩略图和快照

Safari可捕捉标签快照和缩略图,为打开的网页提供直观的显示。

macOS快照:~/Library/Containers/com.apple.Safari/Data/Library/Caches/com.apple.Safari/TabSnapshots/Metadata.db

  • 储存缓存标签截图及元数据。
  • 每个快照都有一个UUID,可将其链接到相关的截图文件。

云同步Safari标签

Safari允许用户通过iCloud在多部苹果设备上同步打开的标签页。CloudTabs.db文件存储了这些信息。

macOS: ~/Library/Safari/CloudTabs.db

该数据库中的每条记录都包括

  • 打开标签页的设备的主机名。
  • 当前打开的非私人标签页列表。
  • 上次修改时间戳,表示标签页数据上次更新的时间。

有关同步标签页的其他元数据可在:

macOS:~/Library/Containers/com.apple.Safari/Data/Library/Preferences/ByHost/com.apple.Safari.<HW UUID>.plist

Safari 缓存和缓存数据

macOS:~/Library/Containers/com.apple.Safari/Data/Library/Caches/com.apple.Safari/

Cache.db SQLite数据库保存缓存文件和元数据:

  • cfurl_cache_response表------存储缓存元数据,包括 URL 和时间戳。
  • cfurl_cache_receiver_data表------包含实际缓存文件

(虽然较新的macOS版本在Cache.db中存储的缓存较少,但WebKit缓存系统中可能有更多最新数据。)

Safari WebKit缓存:了解缓存数据

Safari使用WebKit缓存来存储缓存的网站数据,根据设备的不同,缓存的位置也不同:

macOS:~/Library/Containers/com.apple.Safari/Data/Library/Caches/com.apple.Safari/WebKitCache/

Webkit缓存包含了不同类型的数据,包括:

  • Records目录:存储每次网站访问的缓存数据。
  • SubResources:包含与特定网站访问链接的缓存项目列表。
  • Resources目录:存储实际缓存内容,如图片、脚本和HTML页面。
  • Blobs目录:存储因过大而无法放入单个资源文件的其他缓存媒体文件。

缓存文件的关联性

所有WebKit缓存项目均可使用20字节SHA1哈希文件名进行关联。

例如,如果用户访问cyberengage.org浏览文章,SubResources文件将列出缓存项目,如图片和脚本。

(这些缓存项可以使用嵌入式SHA1哈希值与资源目录中的相应数据进行匹配。)

用于调查的关键Safari浏览器 痕迹

除缓存数据外,Safari还会在几个关键文件中存储有价值的信息:

1.Safari设置和最近搜索

文件: com.apple.Safari.plist

位置:~/Library/Preferences/

内容:存储Safari的配置设置和用户最近进行的搜索列表。

2.Cookie存储

  • 文件: Cookies.binarycookies
  • 内容:以专有的二进制格式存储cookie。
  • 解析工具:Safari-Binary-Cookie-Parser等开源脚本可用于提取cookie数据。

注:使用WebKit的其他应用程序(如Twitter的应用内浏览器)也可能以类似方式存储cookie。

3.书签与浏览历史

macOS: Bookmarks.plist (/users/deanwinchester/library/safari)

  • 最近关闭的标签页:存储在RecentlyClosedTabs.plist中,用于跟踪用户最近关闭的标签页。

4. 下载历史

Safari会在Downloads.plist中保存下载文件的记录、(/users/deanwinchester/library/safari) 但默认情况下,这些数据会在一天后自动删除。

macOS下载历史记录详情

  • DownloadEntryIdentifier:每次下载的唯一标识符。
  • DownloadEntryURL:下载文件的 URL。
  • DownloadEntryPath:系统中的文件位置(usually in ~/Downloads)。
  • Timestamps:记录下载的开始和完成时间。
  • DownloadEntryBookmark:书签BLOB。

Apple Mail

MacOS的默认电子邮件客户端Apple Mail存储了大量有关电子邮件帐户、邮件和附件的信息。

Apple Mail 数据位置

在macOS上,Apple Mail数据存储在以下位置:

~/Library/Mail/---主要存储所有电子邮件信息和元数据。

~/Library/Containers/com.apple.mail/---包含其他特定应用数据。

每个版本的macOS都会为其邮件目录指定一个版本号:

  • macOS 10.13 --V5
  • macOS 10.14 --V6
  • macOS 10.15 --V7
  • ...等等

(每个电子邮件账户都有一个专用的GUID目录,可使用Accounts3.sqlite或Accounts4.sqlite数据库进行关联。)

Apple Mail 数据类型

Apple Mail可存储各种类型的数据,以便深入了解电子邮件活动:

  • Accounts---关于已配置电子邮件账户的信息。
  • Cached Messages and Attachments---本地存储的电子邮件副本及其附件
  • Envelope Index---包含邮件元数据的数据库。
  • Mail Downloads---用户保存的附件。

了解邮箱结构

每个电子邮件账户都有多个邮箱,分别对应不同的文件夹:

  • 收件箱
  • 已发信息
  • 草稿
  • 删除的邮件
  • 垃圾
  • 笔记
  • 用户创建的邮箱

邮箱以.mbox目录的形式存储在用户的邮件目录中:

  • 示例路径:~/Library/Mail/V#/GUID/Inbox.mbox, Sent Messages.mbox,等
  • .mboxCache.plist文件包含邮箱组织的详细信息。
  • 电子邮件信息以.emlx文件格式存储在.mbox文件夹内的"Messages"目录中。

邮件信息和附件

Apple Mail将单个电子邮件存储为.emlx文件,其中包含:

  • Plaintext(纯文本)电子邮件标题和正文内容。
  • 带元数据的嵌入式属性列表。

附件有两种处理方式:

  • 快速浏览:暂存于~/Library/Mail Downloads/或者~/Library/Containers/com.apple.mail/Data/Library/Mail Downloads/.
  • 保存的附件:存储在~/Downloads目录中

下载的附件的元数据包括扩展属性,如隔离信息,可追踪文件下载的时间和方式。

Envelope Index:电子邮件元数据数据库

The Envelope Index SQLite数据库(位于MailData中)为Apple Mail邮件建立索引,其中包括:

  • Addresses表:储存索引的电子邮件地址和联系人姓名。
  • Attachments表:列出电子邮件附件
  • Mailboxes表:存储邮箱详细信息,包括邮件数量。
  • Messages表:包含发件人、收件人、主题、时间戳和读取状态等元数据。
  • Subjects表:储存电子邮件主题。

Recents 数据库

苹果设备存储了大量的用户交互数据,以增强用户体验和功能。Recents数据库就是这样一个数据源,它记录了最近在各种应用程序中的交互,包括电子邮件、电话和信息。这些数据对于取证调查和一般系统理解都很有价值。

Recents数据库存储在哪里?

macOS:~/Library/Containers/com.apple.corerecents.recentsd/Data/Library/Recents/

Recents数据库包含哪些信息?

Recents数据库记录与各种应用程序的交互,帮助跟踪最近的活动,例如:

  • 相关应用程序:标识使用了哪个应用程序(邮件、信息、电话等)。
  • 联系人和地点:存储最近与联系人或地点的互动。
  • 时间戳:记录最近几次通信或活动。
  • 附加元数据:存储与交互相关的各种键和值。

总结

Safari存储的大量信息在取证调查中至关重要。从缓存网页到下载历史记录和 Apple Mail,分析这些痕迹在实际案件中可以提供有价值的见解。

通过了解Safari存储数据的位置和方式,调查员们可以发现隐藏的用户活动,跟踪浏览习惯,并在调查过程中检索有价值的证据。

作者:Dean 翻译:Doris 转载请注明。

相关推荐
郭逍遥2 分钟前
[工具]B站缓存工具箱 (By 郭逍遥)
windows·python·缓存·工具
hnlucky4 分钟前
《基于 Kubernetes 的 WordPress 高可用部署实践:从 MariaDB 到 Nginx 反向代理》
运维·数据库·nginx·云原生·容器·kubernetes·mariadb
dgiij8 分钟前
excel大表导入数据库
数据库·mysql·node.js·excel
多敲代码防脱发12 分钟前
导出导入Excel文件(详解-基于EasyExcel)
java·开发语言·jvm·数据库·mysql·excel
数据库幼崽36 分钟前
MySQL 8.0 OCP 1Z0-908 51-60题
数据库·mysql·ocp
心仪悦悦1 小时前
Spark缓存
大数据·缓存·spark
我叫珂蛋儿吖1 小时前
[redis进阶六]详解redis作为缓存&&分布式锁
运维·c语言·数据库·c++·redis·分布式·缓存
小L爱科研1 小时前
4.7/Q1,GBD数据库最新文章解读
数据库·机器学习·数据分析·回归·健康医疗
GUIQU.1 小时前
【MySQL】函数
数据库·mysql