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 转载请注明。

相关推荐
itwangyang52010 小时前
Claude Code macOS 安装完整指南:Homebrew、原生脚本与常见问题解决
macos
运维行者_17 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
国强_dev18 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
@insist12318 小时前
系统规划与管理师-信息系统规划核心工作要点解析
数据库·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
超级数据查看器18 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天18 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
桌面运维家19 小时前
如何用半缓存云桌面将服务器硬盘容量扩展至本地终端?
运维·服务器·缓存
南墙上的石头19 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
画中有画20 小时前
论向量数据库在项目中的应用
数据库
spider_xcxc20 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算