文件雕刻与数据恢复——“删除”不代表消失
我刚学取证时以为“文件被删了”=“文件没了”。后来才知道,删除文件这个操作,多数时候只是删了一个“索引”,文件内容还在硬盘上躺着。
不同文件系统删除的原理:
FAT32:在FAT表里把文件占用的簇标记为“空闲”,再把目录项第一个字节改成E5h,标记“已删除”。文件内容完全不碰。
NTFS:MFT记录被标记为“已删除”,簇被标记为“可用”。但MFT记录本身不会立刻清除。
Ext4:inode标记为“未使用”,数据块释放。如果系统还运行着,日志可能还保留删除记录。
不管哪种,只要没写入新数据覆盖它,文件就还在。
文件雕刻——不靠文件系统恢复数据
直接在硬盘的“未分配空间”里硬找文件内容。每种文件格式都有固定的文件头——JPEG是FF D8 FF,PNG是89 50 4E 47,PDF是25 50 44 46。雕刻工具在未分配空间里搜索这些文件头,找到就从这里开始读,读到文件尾标志为止。
但有个前提:文件必须是连续存储的。如果文件被切成好几段散落在不同位置,雕刻工具只能恢复第一段。
常用工具:
Foremost——老牌工具,用法:
foremost -i image.dd -o output_dir
它会读取配置文件(/etc/foremost.conf)里定义的文件头尾特征去扫描。
Scalpel——类似Foremost,号称更快。
Photorec——恢复神器,不只恢复图片,也支持文档、压缩包、音视频。
实操情况:文件雕刻的结果通常是“大量不完整文件”。搜JPEG可能得到几百个,大部分打开是“图片损坏”,只有一小部分能看——被新数据覆盖了。
我的做法:先批量恢复,筛选出能正常打开的,再逐一检查。只要有敏感内容,就证明这个设备曾经存放过这些文件。
浙公网安备 33010602011771号