Hindsight v2021.12:浏览器取证工具新增站点设置与HSTS记录解析

Hindsight v2021.12作为Chrome浏览器取证工具,新增站点设置记录类型、HSTS安全记录解析、会话存储分析等功能,支持Chrome 96版本,提供详细的浏览器行为时间线分析。

Hindsight v2021.12

Hindsight v2021.12 新增了对更多偏好设置项、站点设置(包括HSTS记录)、会话存储等内容的解析功能!此版本还包含其他小型功能增强、错误修复以及支持Chrome 96版本的细微改动。

新增“站点设置”记录类型

随着时间的推移,Hindsight已经能够解析越来越多的Chrome浏览器痕迹,其中许多与“传统”浏览器历史记录项(如URL访问、Cookie或缓存项)有所不同。Hindsight能够解析诸如网站是否被静音、用户是否放大页面、网站是否使用HSTS,甚至页面标题是否在后台更改等信息。在添加这些功能时,我最初将它们作为“偏好设置”项添加到Hindsight的时间线中(因为最初的功能来自Preferences文件),但随着时间的推移,这个标签似乎越来越不贴切。我决定新增一个“站点设置”记录类型,因为大多数这些记录都与访问站点的设置相关。与其他记录类型一样,它可以有多种变体(缩放级别、HSTS、互动参与度等)。

新的“站点设置”记录示例

我计划在未来添加更多“站点设置”记录——这些可能对每个调查都不关键,但我非常喜欢它们提供的细节水平,而且你永远不知道它们什么时候会派上用场。

HSTS记录解析

HSTS是这些新的“站点设置”记录之一。我们可以使用HTTP严格传输安全(HSTS)设置来判断浏览器是否曾经访问过特定站点,以及访问时间的一些信息。

TransportSecurity文件保存HSTS设置,其中大多数如下所示:

1
2
3
4
5
6
7
{
	"expiry": 1671127807.687742,
	"host": "df0sSkr4gOg4VK8d/NNTAWFtAN/MjCgPCJ5ml+ucdZE=",
	"mode": "force-https",
	"sts_include_subdomains": false,
	"sts_observed": 1639591807.687746
}

host是一个哈希值(根据Chromium源代码),“这样存储的状态不会轻易向读取磁盘上序列化状态的攻击者透露用户的浏览历史”。代码还显示了这个哈希值的构建方式。这并不能让我们反转哈希(因为哈希不是这样工作的),但它确实让我们能够从已知输入生成哈希并进行比较。Hindsight正是这样做的,它为在其他浏览器痕迹中看到的每个域名和子域名计算哈希主机值,并与TransportSecurity文件中的主机值进行比较。如果找到匹配项,Hindsight将显示域名;如果没有,它将显示哈希版本:

Hindsight XLSX报告中的HSTS记录

解析额外偏好设置项

Hindsight还可以从Chrome的Preferences文件中解析更多内容,包括是否启用网络预取、同步设置、缩放百分比(而不是原始级别)、密码管理器使用情况以及会话事件日志。这些都很有趣,但我特别喜欢会话事件日志记录:

Hindsight XLSX报告中的会话事件日志记录

它们提供了一些关于使用情况的高层次洞察;例如,从上面的截图可以推断出:

  • 我将Chrome设置为“从上次停下的地方继续”,因为每次会话开始后几秒钟,就会发生恢复
  • 这些会话都没有以崩溃结束(在尝试对浏览器进行攻击时有时会发生)——在某些特定调查中这是有用的知识
  • 我倾向于让Chrome几乎永久运行,不会频繁打开/关闭
  • 我有标签页囤积问题

获取Hindsight

您可以在GitHub上获取Hindsight、查看代码并查看完整的更改日志。此版本的命令行和Web UI版本均可通过以下方式获得:

  • 附加到GitHub发布的编译exe文件或在dist/文件夹中
  • 通过pip install pyhindsight或下载/克隆GitHub仓库获取py版本
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计