首页/安全/取证与溯源速查/回收站痕迹解析
Windows 取证55 条

回收站痕迹解析

回收站有两套记录:$R 是文件内容,$I 记录原路径与删除时间:恢复与证否删除行为都靠它们。

取证与溯源速查安全更新于 2026-10-13

回收站的成对记录

Windows 回收站不是把文件简单搬进一个目录,而是为每个卷、每个用户 SID 维护一对记录:$I 文件保存元数据,包括原路径、删除时间与文件大小;$R 文件保存被删文件的实际内容。两者的文件名主体是同一个随机编号,因此可以从 $I 读出原路径与删除时刻,再从 $R 取回内容,用于还原删除动作或确认某个文件曾被删除。

基本信息

位置各卷根目录下的 \$Recycle.Bin\<用户 SID>\
文件对$I 为元数据、$R 为文件内容,随机编号一一对应
关键字段原路径、删除时间(FILETIME)、删除时文件大小
解析工具RBCmd.exe(Eric Zimmerman)、Rifiuti2 等
时间精度删除时间取自系统时钟,秒以下精度多为零

典型使用场景

  • 判断某个文件是被删除过,还是从来没有在该主机上存在
  • 从原路径字段重建删除前的目录结构,定位工具落地位置
  • 核对当事人所说的清理时间与实际删除时间是否吻合
  • 恶意工具运行后被删除时,从 $R 中取回样本继续分析
  • 汇总删除文件名的关键词,判断攻击者关注哪类数据

解析与核对

解析与核对
RBCmd.exe -d D:/$Recycle.Bin --csv out/ --csvf recycle.csv   # 解析整卷回收站
# 每卷都要跑一次:C:/$Recycle.Bin、D:/$Recycle.Bin 依次处理
Get-ChildItem 'C:/$Recycle.Bin' -Force -Recurse -Filter '$I*' | Select-Object -First 5 FullName, Length
Import-Csv out/recycle.csv | Sort-Object DeletedOn | Select-Object -Last 10 DeletedOn, Path, FileSize   # 按删除时间看最近条目

记录字段读法

字段含义解读要点
原路径文件删除前所在的完整位置用于重建目录结构,判断来源盘与用户目录
删除时间删除动作发生的时刻与日志、进程活动对齐,确定责任时间窗
文件大小删除时记录的大小与 $R 实际大小比对,可看出内容是否被截断
$R 内容被删文件的原始数据与编号对应,可直接作为样本恢复或计算哈希
$I 与 $R 按编号配对:若出现只有 $I 而无 $R 的条目,说明该文件是被直接永久删除、未进入回收站,而不是解析失败,这类条目同样能证明删除动作发生过。
回收站按用户 SID 分目录,权限不足时读不到全部条目,现场要用管理员权限采集;把删除行为归到具体用户时以 SID 为准,再回到账号信息核实身份,不要凭目录名或文件名猜测。

易错点

  • 凭目录名或文件名判断删除者,归属应以用户 SID 为准再核对账号
  • 只恢复 $R 不看 $I,丢掉原路径与删除时间,删除行为无法落到时间线
  • 把回收站被清理当成从未删除,忽略文件系统与日志侧的旁证
  • 把只有 $I 的条目当成解析异常,实际它说明该文件被永久删除

数据来源与参考

  • Zimmerman RBCmd 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌