阅读我们的 文章 与更广义的 DFIR 文献时可参考的工作词汇。定义从简,深入请跟着链接走。
$Extend
位于卷根的隐藏 NTFS 元数据目录。包含日志 ($UsnJrnl)、重解析点查表 ($Reparse) 等。
$FILE_NAME
存储文件其中一个名字及其时间戳内部副本的 MFT 属性。NTFS 对它的更新频率低于 $STANDARD_INFORMATION,这正是 SI 与 FN 比较 能侦测 timestomping 的原因。
$J
$UsnJrnl 中实际承载日志记录的数据流。同伴流 $Max 仅承载尺寸信息。
$LogFile
NTFS 的事务日志,用于崩溃恢复。保存最近若干千次事务的元数据写入前/后镜像。对极近期被删文件的恢复以及捕获日志遗漏的写入很有用。
$MFT
主文件表 — 卷上每个文件和目录的索引。每条记录(典型为 1024 字节)包含 $STANDARD_INFORMATION、一个或多个 $FILE_NAME、以及数据 run 等属性。
$STANDARD_INFORMATION
存储用户可见的时间戳与基本属性的 MFT 属性。多数工具和 API 读/写的就是它 — timestomping 工具也是。
$UsnJrnl
位于 \$Extend\$UsnJrnl 的 NTFS 元数据文件,拥有日志的各个流。
替代数据流 (ADS)
NTFS 文件上的第二条(或第 N 条)命名数据流。$UsnJrnl:$J 是一例;浏览器在下载文件上加的 Zone.Identifier 是另一例。在 USN 日志里按 StreamChange 过滤即可让 ADS 行为浮现。
BasicInfoChange
$STANDARD_INFORMATION 被更新时发出的 USN reason 标志。没有前置写入的「裸 BasicInfoChange | Close」是 timestomping 的强信号。
Bodyfile
由 mactime (The Sleuth Kit) 消费、用于时间线输出的文本格式。MFTECmd、各类 USN 解析器都能输出可合并成一条总时间线的 bodyfile 行。
DataExtend / DataOverwrite
表示数据流增长或被覆写的 USN reason 标志。大规模 DataOverwrite 爆发是 勒索软件的经典信号。
FILETIME
Windows 的时间戳:自 1601-01-01 UTC 起以 100 纳秒为单位计数的 64 位无符号整数。转换技巧见 FILETIME 文章。
FileReferenceNumber
把 MFT 表项编号与序列号打包到一个 64 位值里。能跨 MFT 表项复用追踪某个具体文件 — 同一表项、不同序列号意味着表项被回收。
fsutil usn
Microsoft 官方支持的、用于查询与管理 USN 日志的 CLI:启用/禁用、查询大小、转储记录等。参考 Microsoft Learn 的文档。
hreflang
告诉搜索引擎该页面的哪种翻译版本应在哪个地区呈现的 HTML/HTTP 信号。与 lang 属性不同。
MITRE ATT&CK
绘制对手行为的社区框架。本博客中我们引用的技术包括 T1486 Data Encrypted for Impact 与 T1074 Data Staged 等。
RenameOldName / RenameNewName
每次重命名成对出现的 USN reason 标志 — 「之前」一半给出旧路径,「之后」一半给出新路径。两条记录共享同一 FileReferenceNumber。
重解析点 (Reparse point)
将某条路径重定向到别处的 NTFS 元数据结构 — Junction、符号链接、挂载点。日志里以 ReparsePointChange 出现。
环形缓冲
USN 日志固定大小、循环覆盖的存储模型:写满后最旧的记录被覆写。默认大小在客户端约 10 MB,服务器可达 1 GB+。
TSK
The Sleuth Kit — Brian Carrier 的开源取证库与 CLI 工具 (fls、icat、mmls 等)。底层文件系统作业的自由参考工具集。
USN
Update Sequence Number — 日志中每条记录的偏移量。每条记录的 usn 字段就是它的字节位置;这也是日志可以按 USN 寻址与 seek 的原因。
卷影副本 (VSS)
Windows 自带的快照机制。挂载并解析快照能拿到文件与元数据的早期版本,包括 MFT 的过往状态。
WebAssembly
一种可移植的二进制指令格式,能在浏览器中以接近原生的速度运行。USN Parser 的 WASM 模块大约 105 KB,在较新的 Macbook 上约 1.4 秒可解析 72 万条记录。