前言
进行电子数据取证的时候,难免会遇到需要数据恢复的时候,掌握一定的数据恢复知识还是有必要的。本节的内容主要是NTFS基础。
参考书籍:<<电子数据取证>>
之前的相关文章:
电子取证
达达,公众号:Th0r安全电子取证之Fat32基础与半通用恢复
电子取证
达达,公众号:Th0r安全电子取证之FAT32高位簇恢复和格式化恢复
正文
还是先从DBR的数据结构入手。
0x-02,跳转指令
0xD,每簇扇区数
0x28-0x2F,文件系统扇区总数
0x30-0x37,MFT起始簇号
0x38-0x0x3F,MFTMirr起始簇号
0x40,MFT大小,这里取负号,2^(-1)*X
0x44,每个索引块簇数
0x1FE-0x1FF,签名标志
这里放下网上一个前辈总结的一个表
NTFS系统元文件:
在格式化成NTFS文件系统时,对这个分区写入的文件就是元文件。然后用这些元文件管理这个分区内的用户文件。
$MFT 主文件表,每个文件的信息都在这个MFT中有记录
$MFTMirr $MFT前面4个表项的备份
$LogFile 日志文件
$Volume 记录卷标信息
$AttrDef 属性定义表
$Root 根目录
$Bitmap 位图文件,记录文件系统中簇的分配情况
$Boot 引导文件
$BadClus 坏簇列表文件
序号0,MFT
序号1,MFTMirr
序号2,LogFile
序号3,$Volume
序号4,$AttrDef
序号5,$Root
序号6,$Bitmap
序号7,$BOOT
序号8,$BadClus
除了上面的,继续往下翻还会有下面的:
MFT的文件开头:
每个MFT项都占用1024字节,即两个扇区
NTFS文件系统中的所有文件,都有一个MFT项记录相应的数据
30位置和扇区的最后是一样的,和第二个也是一样的,
如果系统发现不同,就会认为这个MFT项错误,会把开头标志明文“FILE”改成“BAAD”
灰色的是MFT记录头
黄色的是10属性
蓝色是30属性
红色的是80属性
绿色的是B0属性
属性的前人总结:
0x0-0x3,签名标记
0x4-0x5
0x6-0x7,3个更新序列号
和最后的是一样的
0x12-0x13,一个正常的文件指向
0x14-0x15,第一个属性偏移地址
0x16-0x17,标志文件的状态
前人对MFT数据结构的总结
簇流就是存放数据的区域
簇流运行:是记录簇流的具体在文件系统哪个位置的代码
起始簇
簇流的大小
跳转就能发现文件
关于簇流运行:
如果后面是00 ,那么这个簇流运行结束 ,否则表示还有簇流运行。
下一个簇流的起始簇号是相对于这个簇流的起始簇号。
如果下个簇流的起始簇号是负数 ,那么表示下个簇流在这个簇流的前面
下面的这个例子就是还有簇流运行
对这两个区块进行合并,然后利用文件工具进行合并
接下来来看10属性
文件创建时间
文件修改时间
06,代表4+2,隐藏,系统属性
接下来来看30属性
0x0-0x3,父目录的参考号,5代表的是根目录的参考号
0x6-0x7,父目录的更新序列号
0x8-0xF,文件创建时间
0x10-0x17,文件的修改时间
0x18-0x1F,MFT的修改时间
0x20-0x27,文件最后访问时间
6=2+4
unicode文件编码
接下来来看80H属性,80H属性的属性体是数据内容
非常驻80H属性的属性体是簇流运行
常驻属性
原文始发于微信公众号(Th0r安全):电子取证之NTFS基础