LNK 与跳转列表的时间戳
LNK 文件是 Windows 为最近访问过的文件与程序建立的快捷方式,保存在用户目录的 Recent 文件夹下。文件头内嵌目标路径、卷信息与目标文件的时间属性,LNK 自身又有创建与修改时间;跳转列表则按应用记录访问过的文件。两类痕迹结合,可以支撑文件与来源设备的关联分析。
基本信息
| 位置 | %APPDATA%\Microsoft\Windows\Recent 下的 .lnk 文件 |
|---|---|
| 跳转列表 | AutomaticDestinations 目录由系统按应用自动维护 |
| 内嵌信息 | 目标路径、卷序列号与卷标、目标文件的时间属性 |
| 自身时间 | LNK 文件本体的创建与修改时间 |
| 解析工具 | LECmd(Eric Zimmerman)批量导出为 CSV |
典型使用场景
- 还原用户访问过哪些文件,尤其是来自移动介质的文件
- 通过卷序列号判断被访问文件来自哪块磁盘或存储介质
- 判断某份文档是否在这台主机上被打开过
- 排查可执行文件是否曾从某个特定目录启动
- 与文档打开记录等痕迹交叉验证访问事实
采集与解析
采集与解析
Get-ChildItem "$env:APPDATA\Microsoft\Windows\Recent" -Filter *.lnk | Select-Object -First 5 Name, LastWriteTime
LECmd.exe -d "%APPDATA%\Microsoft\Windows\Recent" --csv C:\out\lnk # 批量解析
Import-Csv C:\out\lnk\*.csv | Select-Object -First 5 SourceFile, TargetPath, DriveSerialNumber
# 跳转列表存放在 AutomaticDestinations 目录,单独解析一次
# LECmd.exe -d "%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations" --csv C:\out\jumplist关键字段读法
| 字段 | 含义 | 取证价值 |
|---|---|---|
| TargetPath | 目标文件的完整路径 | 被访问对象的原始位置 |
| DriveSerialNumber | 所在卷的序列号 | 把文件关联到具体设备或移动介质 |
| 内嵌目标时间 | 目标文件的时间属性 | 与当前目标状态对照,判断是否被改写 |
| LNK 自身时间 | 快捷方式创建与修改时间 | 近似反映访问发生的时间 |
LNK 内嵌的目标时间取自目标文件在其所在卷上的记录,与当前主机上看到的目标状态不一致时,先考虑文件已被改写或来源是外部介质,再讨论篡改的可能。
用户清理最近使用记录会一并删除 Recent 目录下的 LNK 文件,痕迹缺失不等于没有访问过。判断时要结合跳转列表、注册表记录与其它痕迹一起看,不能只凭单一目录的存在与否。