Windows痕迹采集完全指南:从Prefetch到USN Journal

Windows痕迹采集完全指南#
在数字取证中,痕迹(Artifact)是操作系统和应用程序在正常运行过程中自动生成的痕迹数据。Windows系统会产生大量与用户活动相关的痕迹数据,系统性地采集和分析这些数据是取证调查的核心。
1. Prefetch文件#
概述#
Prefetch是Windows为优化应用程序加载速度而创建的文件。每次程序运行时,其加载信息都会被记录为Prefetch文件。
存储位置#
C:\Windows\Prefetch\*.pf
取证价值#
- 程序执行证据:确定特定程序何时执行以及执行了多少次
- 首次执行时间:识别程序首次运行的时间
- 最后执行时间:确认最近一次执行
- 执行次数:记录的总运行次数
- 引用文件列表:程序执行期间访问的文件和DLL
分析要点#
对恶意软件分析特别有用的信息:
- 可疑的可执行文件(例如,在异常时间执行的
POWERSHELL.EXE或CMD.EXE) - 已删除程序的执行痕迹(文件删除后Prefetch仍然存在)
- 勒索软件执行时间线重建
2. Windows EventLog#
概述#
Windows Event Log是记录系统、安全和应用程序事件的集中式日志系统。
存储位置#
C:\Windows\System32\winevt\Logs\*.evtx
主要日志文件#
| 日志文件 | 内容 | 关键事件ID |
|---|---|---|
| Security.evtx | 身份验证、账户管理、审计 | 4624, 4625, 4648, 4720 |
| System.evtx | 服务、驱动程序、系统事件 | 7034, 7036, 7045, 6005 |
| Application.evtx | 应用程序错误、警告 | 1000, 1001, 1002 |
| PowerShell/Operational.evtx | PowerShell命令执行历史 | 4104, 4103 |
| TaskScheduler/Operational.evtx | 计划任务执行记录 | 106, 200, 201 |
安全分析中的关键事件ID#
- 4624:登录成功(包含登录类型)
- 4625:登录失败(暴力破解攻击检测)
- 4648:使用显式凭据登录(Pass-the-Hash检测)
- 4720:新账户创建(后门账户检测)
- 7045:新服务安装(恶意服务检测)
- 4104:PowerShell脚本块日志记录(恶意脚本检测)
3. Windows Registry#
概述#
Registry是Windows的集中式配置数据库,以层级结构存储系统设置、用户环境和软件配置。
主要Hive文件位置#
SYSTEM: C:\Windows\System32\config\SYSTEM
SOFTWARE: C:\Windows\System32\config\SOFTWARE
SAM: C:\Windows\System32\config\SAM
SECURITY: C:\Windows\System32\config\SECURITY
NTUSER.DAT: C:\Users\<username>\NTUSER.DAT
UsrClass.dat: C:\Users\<username>\AppData\Local\Microsoft\Windows\UsrClass.dat
取证中的关键Registry键#
自启动(持久化检测):
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SYSTEM\CurrentControlSet\Services
USB设备历史:
HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR
HKLM\SYSTEM\CurrentControlSet\Enum\USB
HKLM\SYSTEM\MountedDevices
最近文档访问:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
网络连接历史:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures
4. $MFT(主文件表)#
概述#
$MFT是NTFS文件系统的核心元数据结构,包含卷上每个文件和目录的记录。
存储位置#
卷根目录 $MFT(隐藏系统文件)
取证价值#
- 文件存在证明:如果已删除文件的$MFT记录仍然存在,则可证明该文件曾经存在
- 时间戳分析:包含创建、修改、访问和MFT修改四个时间戳
- $STANDARD_INFORMATION与$FILE_NAME:这两个属性的时间戳不一致可能表示时间戳被篡改
- 文件大小变化:追踪文件随时间的修改情况
- 备用数据流(ADS):检测隐藏数据
时间戳分析技术#
$MFT中的每条文件记录包含两组时间戳:
| 属性 | 创建 | 修改 | 访问 | MFT修改 |
|---|---|---|---|---|
| $STANDARD_INFORMATION | SI_C | SI_M | SI_A | SI_E |
| $FILE_NAME | FN_C | FN_M | FN_A | FN_E |
检测时间戳篡改的规则:
FN_C > SI_C:如果$FILE_NAME的创建时间晚于$STANDARD_INFORMATION,可能存在篡改SI_C > SI_M:如果创建时间晚于修改时间,属于异常
5. USN Journal(更新序列号日志)#
概述#
USN Journal是一种变更日志,按时间顺序记录NTFS卷上文件和目录的变更。
存储位置#
$Extend\$UsnJrnl:$J(备用数据流)
取证价值#
- 文件变更历史:记录所有变更,包括文件创建、删除、重命名和内容修改
- 反取证检测:检测删除和覆写文件的企图
- 勒索软件活动:大规模文件重命名模式(例如,添加.encrypted扩展名)
- 数据外泄:检测特定时间段内的大量文件复制/移动
记录的变更类型#
FILE_CREATE - 文件创建
FILE_DELETE - 文件删除
DATA_OVERWRITE - 数据覆写
DATA_EXTEND - 数据扩展
DATA_TRUNCATION - 数据截断
RENAME_OLD_NAME - 重命名(旧名称)
RENAME_NEW_NAME - 重命名(新名称)
SECURITY_CHANGE - 安全属性变更
6. 浏览器痕迹#
采集目标#
从各浏览器的配置文件目录采集以下文件:
Chrome/Edge(基于Chromium):
%LocalAppData%\Google\Chrome\User Data\Default\
- History(浏览历史、下载记录)
- Cookies
- Login Data(保存的凭据)
- Web Data(自动填充数据)
- Bookmarks
- Preferences
Firefox:
%AppData%\Mozilla\Firefox\Profiles\<profile>\
- places.sqlite(浏览历史、书签)
- cookies.sqlite
- formhistory.sqlite
- logins.json + key4.db
取证应用#
- 钓鱼网站访问记录:验证对恶意URL的访问
- 文件下载路径:追踪恶意软件的下载来源
- 搜索历史:了解用户意图(例如,"如何删除证据")
- 自动填充数据:恢复已输入的信息
7. 其他重要痕迹#
Shellbags#
记录用户浏览过的目录的文件夹视图设置。可以揭示已删除文件夹或外部存储介质的浏览痕迹。
Jump Lists#
任务栏的固定项目和最近项目列表,显示最近打开的文件和应用程序使用历史。
LNK文件(快捷方式)#
最近打开文件的Windows快捷方式文件,包含原始文件的路径、大小、MAC时间戳和卷信息。
AmCache / Shimcache#
程序兼容性数据库,记录已安装/已执行程序的路径、哈希值和安装时间。
SRUM(系统资源使用监视器)#
Windows 8引入的系统资源使用监视功能,记录每个应用程序30-60天内的网络使用量、执行时间等信息。
采集自动化的重要性#
手动采集上述痕迹既耗时又容易出错。使用自动化采集工具可以获得以下优势:
- 一致性:每次都完整采集相同的痕迹,不会遗漏
- 完整性:防止采集过程中的数据篡改
- 速度:在几分钟内采集数十种痕迹类型
- 保管链:自动记录采集时间和哈希值
unJaena Collector是一款开源工具,可一键采集105种以上的Windows痕迹。将采集的数据上传到AI分析平台即可立即开始分析。