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