浏览器取证分析

约 8 分钟读完

浏览器取证分析

浏览器是用户访问互联网的主要入口,其中存储了大量的用户行为数据。浏览器取证能够揭示用户的上网习惯、访问记录、下载内容甚至登录凭据,是数字取证中极具价值的信息源。

一、浏览器数据存储概述

1.1 主流浏览器数据存储位置

Chrome(Windows)

%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\

Firefox(Windows)

%UserProfile%\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>\

Edge(Windows)

%UserProfile%\AppData\Local\Microsoft\Edge\User Data\Default\

1.2 核心数据文件

数据类型 Chrome文件 Firefox文件
历史记录 History places.sqlite
书签 Bookmarks places.sqlite
Cookie Cookies cookies.sqlite
下载记录 History downloads.sqlite
表单数据 "Web Data" formhistory.sqlite
密码 "Login Data" key4.db + logins.json
会话 "Current Session" sessionstore.jsonlz4

二、历史记录分析

2.1 Chrome历史记录

Chrome的History文件是一个SQLite数据库,包含以下关键表:

  • urls:存储访问的URL、标题和访问次数
  • visits:存储每次访问的时间戳和来源
  • segments:存储访问分类信息

关键字段分析:

-- 查询访问记录,按时间排序
SELECT urls.url, urls.title, urls.visit_count,
       datetime(visits.visit_time/1000000 - 11644473600, 'unixepoch') as visit_time
FROM urls JOIN visits ON urls.id = visits.url
ORDER BY visits.visit_time DESC;

2.2 时间戳格式

  • Chrome使用WebKit时间戳:从1601年1月1日起的微秒数
  • Firefox使用Unix时间戳:从1970年1月1日起的秒数
  • 转换公式:Unix时间 = WebKit时间 / 1000000 - 11644473600

2.3 隐身模式分析

Chrome隐身模式不会将浏览记录写入History数据库,但以下痕迹仍可能存在:

  • DNS缓存:系统级别的DNS查询记录
  • 网络设备日志:代理服务器、防火墙日志
  • 内存数据:运行中的隐身窗口数据
  • 预取文件:Windows Prefetch可能记录浏览器启动信息

三、Cookie分析

3.1 Cookie类型

  • Session Cookie:临时Cookie,浏览器关闭后删除
  • Persistent Cookie:持久Cookie,包含过期时间
  • Secure Cookie:仅通过HTTPS传输
  • HttpOnly Cookie:JavaScript无法访问

3.2 Cookie取证价值

  • 确认用户是否访问过特定网站
  • 提取会话令牌进行会话重放
  • 追踪用户的网站登录状态
  • 分析广告追踪和用户画像

3.3 Cookie数据提取

-- Chrome Cookie查询
SELECT host_key, name, value,
       datetime(expires_utc/1000000 - 11644473600, 'unixepoch') as expires,
       is_secure, is_httponly
FROM cookies
WHERE host_key LIKE '%example%';

四、下载记录分析

4.1 下载记录信息

浏览器下载记录包含:

  • 下载文件的URL和本地保存路径
  • 下载开始和结束时间
  • 下载文件大小
  • 下载来源页面(referrer)

4.2 重要取证场景

  • 确认是否下载了恶意文件
  • 追踪恶意软件的来源URL
  • 确认用户下载了敏感数据
  • 分析下载时间和文件路径
-- Chrome下载记录查询
SELECT target_path, tab_url, datetime(start_time/1000000 - 11644473600, 'unixepoch') as download_time,
       total_bytes, danger_type, interrupt_reason
FROM downloads
ORDER BY start_time DESC;

五、表单与密码分析

5.1 自动填充数据

Chrome的Web Data数据库包含用户保存的自动填充信息:

  • 地址信息(姓名、电话、邮箱、地址)
  • 信用卡信息(部分加密)

5.2 保存的密码

  • Chrome使用DPAPI加密存储密码
  • Firefox使用NSS库加密存储密码
  • 密码恢复需要特定的解密工具和环境

六、浏览器取证工具

6.1 常用工具

工具名称 特点 适用场景
Hindsight Google浏览器专用,免费 Chrome/Edge分析
NirSoft工具集 多款小工具,便携式 快速提取
Browser Forensics 商业工具 全面分析
Autopsy 开源取证平台 综合分析
Elcomsoft工具 商业工具 密码恢复

6.2 Hindsight使用

Hindsight是Google浏览器历史的专业分析工具:

# 分析Chrome历史
python hindsight.py -i "C:\Users\user\AppData\Local\Google\Chrome\User Data" -o output

# 生成报告
python hindsight.py -i <Chrome数据目录> -o <输出目录> -f timeline

七、浏览器取证注意事项

  1. 时间线重建:将浏览器活动与其他系统事件关联分析
  2. 多浏览器检查:系统上可能安装了多个浏览器
  3. 同步数据:云同步可能导致不同设备间的数据一致
  4. 数据恢复:SQLite数据库可能存在可恢复的已删除记录
  5. 缓存分析:浏览器缓存中保留了访问页面的快照

八、总结

浏览器取证分析能够揭示丰富的用户行为信息。通过系统化地分析浏览历史、Cookie、下载记录等数据,蓝队调查人员可以重建用户的上网活动,识别与安全事件相关的可疑行为。

← 电子取证工具概览 权限管理与最小权限原则 →