注册表配置单元与离线加载
注册表在磁盘上以配置单元(hive)文件形式保存,系统运行时由内核加载进内存。取证时把 hive 文件复制出来,用 reg load 挂到分析机的临时键下即可读取,全程不需要启动原系统,也不会让原系统的服务与策略生效。分析机同时挂多个 hive 时,用互不冲突的临时键名区分,读完立即卸载。
基本信息
| 适用平台 | Windows XP 至今;reg load 需管理员命令行 |
|---|---|
| 常用命令 | reg load / reg unload;亦可 RegRipper、Registry Explorer、RECmd |
| 关键文件 | SYSTEM、SOFTWARE、SAM、SECURITY、NTUSER.DAT、UsrClass.dat |
| 文件位置 | C:\Windows\System32\config\ 与各用户目录下的 NTUSER.DAT |
| 权限要求 | 加载与卸载都写入 HKLM 分支,需本机管理员权限 |
典型使用场景
- 不启动被查系统,只读审查注册表里的持久化项与策略改动
- 核对 Run 键、服务、计划任务等条目在原始 hive 中的真实内容
- 用 SYSTEM 中的 BootKey 配合 SAM 解析本地账号口令哈希
- 比对多台主机同名 hive 的差异,定位被改写的软件与安全项
- 从磁盘镜像中提取 hive,为时间线分析做结构化准备
加载与卸载
加载与卸载
copy D:\Evidence\SOFTWARE C:\work\SOFTWARE.copy # 先复制副本,绝不动原件
reg load HKLM\X_SOFTWARE C:\work\SOFTWARE.copy # 挂到临时键,键名标明来源
reg query HKLM\X_SOFTWARE\Microsoft\Windows\CurrentVersion\Run /s # 只读查询
reg unload HKLM\X_SOFTWARE # 分析完立即卸载
dir C:\work\SOFTWARE.copy # 复核副本状态,记入取证日志常见 hive 与关注内容
| 文件 | 主要存放内容 | 取证关注点 |
|---|---|---|
| SYSTEM | 服务、驱动、系统策略、USB 留痕 | 服务持久化、BootKey |
| SOFTWARE | 软件安装与配置、系统级 Run 键 | 安装痕迹、自启动项 |
| SAM | 本地账号与口令哈希 | 账号新增、口令变更线索 |
| NTUSER.DAT | 当前用户的注册表分支 | 用户级 Run、RunMRU、RecentDocs |
Linux 侧用 hivexsh、reglookup 或 RegRipper 可解析同一批 hive,不必回到 Windows 环境;不同工具对键名大小写的呈现不一致,比对前先统一成小写。提取 hive 时把同目录的 .LOG1、.LOG2 事务日志一并取走,否则关机前尚未落盘的改动无法合并还原。
reg load 会更新 hive 内部状态并可能生成事务日志文件,对原始证据文件直接加载等于自行破坏证据;务必在副本上操作,并在取证日志里记下副本来源与原文件哈希。