电子取证之Fat32基础与半通用恢复

渗透技巧 2年前 (2022) admin
530 0 0

前言

进行电子数据取证的时候,难免会遇到需要数据恢复的时候,掌握一定的数据恢复知识还是有必要的。

参考书籍:<<电子数据取证>>

正文

FAT(File Allocation Table,文件分配表)文件系统是一种专用文件系统,简称FAT。在FAT中,每个被分配的簇都包含一个指针,该指针指向”下一个簇”,或指向簇链结束标记的特殊地址。例如在FAT12中结束标记为0xfff,在FAT16中为0xffff,在FAT32中为0xfffffff。

扇区:扇区是硬盘读写的基本单位,一般情况下每扇区的大小是512字节。在硬盘中每个扇区都有自己的编号,从零开始编号。

簇:文件系统中用簇来做数据存储的单位 。

簇大小是2的整数次幂,最大是128扇区每簇

FAT表:文件分配表( File Allocation Table)用来描述文件系统内存储单元的分配状态及文件内容的前后链接关系的表格

根目录的起始簇号:也是数据区的开始位置(一般为2号簇)

放一下前人总结好的格式,FAT布局和结构:

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

用WINHEX打开样例,00-02:EB5890

电子取证之Fat32基础与半通用恢复

03-0A:文件版本,5.0

电子取证之Fat32基础与半通用恢复

0B-0C:扇区字节数,512

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

0D: 每簇的扇区数:16

电子取证之Fat32基础与半通用恢复


FAT表起始扇区号:8228

电子取证之Fat32基础与半通用恢复


1C-1F:隐藏扇区

电子取证之Fat32基础与半通用恢复


电子取证之Fat32基础与半通用恢复



20-23:总扇区数

电子取证之Fat32基础与半通用恢复



24-27:FAT表的大小

电子取证之Fat32基础与半通用恢复



2C-2F:根目录所在的簇号

电子取证之Fat32基础与半通用恢复


32-33:DBR的备份扇区位置:

电子取证之Fat32基础与半通用恢复


电子取证之Fat32基础与半通用恢复

FSINFO扇区数据结构:

电子取证之Fat32基础与半通用恢复

扩展引导标志RRaA

电子取证之Fat32基础与半通用恢复

空闲簇数

电子取证之Fat32基础与半通用恢复

下一个可用簇

电子取证之Fat32基础与半通用恢复


FAT表相关知识:

文件分配表( File Allocation Table)用来描述文件系统簇的分配状态及文件内容的前后链接关系的表格

每个FAT表项占4个字节,(因为每个字节有8Bit,所以FAT表项有32Bit,文件系统名FAT32就是这么来的) 所以每个扇区有128个FAT表的表项

0号表项 是“F8FFFF0F”,可以当做是FAT表的签名标志

FAT表从2号表项开始记录,数据区的每个簇号都有一个FAT表项对应

每个FAT表项记录着文件或目录的下一个簇号

FAT2是FAT1的备份

FAT2的起始扇区号=FAT1的起始扇区号+FAT表大小

用 “FFFFFF0F”来表示文件或目录的结束簇号

用“FFFFFFF7”来表示坏簇

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

根目录和短文件名目录项相关知识:

绝大多数情况下根目录都是2号簇 

根目录的位置计算公式:FAT的起始扇区号+

FAT表的大小 * 2

FAT表起始扇区号4110

电子取证之Fat32基础与半通用恢复

FAT表的大小

电子取证之Fat32基础与半通用恢复

最后的结果

电子取证之Fat32基础与半通用恢复





根目录:

目录项分为短文件名目录项和长文件名目录项。

“.”目录项表示这个目录本身

“..”目录项表示这个目录的父级目录

电子取证之Fat32基础与半通用恢复

如果文件名不到8个字符,用0x20填充

电子取证之Fat32基础与半通用恢复

如果文件名超过8个字符时则会被截断,提取前6个字符再加“~1”(如果有同名目录项,这个数值会加1),然后再加上扩展名

电子取证之Fat32基础与半通用恢复

前人总结的数据结构:

电子取证之Fat32基础与半通用恢复

创建时间

电子取证之Fat32基础与半通用恢复

最后修改时间

电子取证之Fat32基础与半通用恢复

文件大小

电子取证之Fat32基础与半通用恢复

当文件被删除,头部变成E5

电子取证之Fat32基础与半通用恢复

起始簇号的计算方法:

起始簇号 = 低16位的数值+(高16位的数值 *65536)

电子取证之Fat32基础与半通用恢复

通过FAT表查找文件

电子取证之Fat32基础与半通用恢复

去3905找不到文件

电子取证之Fat32基础与半通用恢复

继续往下找

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

然后如果还是没找到,就循环重复,或者直接全盘搜索。

当文件名超过8个字节时,就需要用长文件名目录项来存储文件名。

电子取证之Fat32基础与半通用恢复

长文件名目录项的0x0B位置的标志一定是0x0F

电子取证之Fat32基础与半通用恢复

长文件名目录项是用Unicode编码存储文件名的

长文件项的目录结构:

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

可以通过两个目录项的扇区差和簇差,算出簇的大小。

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

电子取证之Fat32基础与半通用恢复

算出簇的大小

电子取证之Fat32基础与半通用恢复

winhex自带有一个恢复功能,是根据文件类型来恢复文件

电子取证之Fat32基础与半通用恢复

原文始发于微信公众号(Th0r安全):电子取证之Fat32基础与半通用恢复

版权声明:admin 发表于 2022年11月4日 上午8:04。
转载请注明:电子取证之Fat32基础与半通用恢复 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...