type
status
date
slug
summary
tags
category
icon
password
NOTE
 
 

NTFS分区——文件提取

 
注意看,这个男人叫小帅(bushi)
 
这里有个分区格式为NTFS的磁盘,目录文件如下
notion image
notion image
 
磁盘根目录有xyz.pngxyz.txtxyzfile文件夹,xyzfile文件夹里面有个666.png文件
 
 

提取xyz.png文件

 
首先,在$MFT记录中查找根目录文件记录,根目录文件记录号为05
 
notion image
 
 
往下找到A0H属性
 
notion image
 
 
A0H属性最后8个字节的数据为dataruns(数据列表),即 11 01 24 00 00 00 00 00
 
11 01 24
其中11的第一个 1 表示在这段dataruns中,有1个字节用于描述根目录索引节点记录占用簇数(即01),第二个 1 表示有1个字节用于描述根目录索引节点起始簇号(即24);
 
上面这段dataruns表示,根目录索引节点起始簇号为0x24,即第36号簇,占用1个簇
 
根据dataruns信息找到根目录索引节点,跳转到36号簇
 
notion image
 
在这1个簇中,都是根目录下的所有文件和文件夹的索引节点
 
往下找到xyz.png的索引节点
 
notion image
 
前6个字节记录了xyz.png的文件记录号,0x27也就是第39号文件记录
 
跳转到$MFT中找到第39号文件记录
 
notion image
 
分析80H属性,第9个字节表示该文件的常驻/非常驻属性,00为常驻属性,01为非常驻属性,常驻属性直接从文件记录中提取,非常驻属性需根据80H属性dataruns提取
 
据上图得知,为非常驻属性,找到dataruns,即80H属性最后8个字节
 
22 D7 00 88 05 00 00 00
 
22的第一个 2 表示有2个字节用于描述该文件记录所占簇数(即D7);第二个 2 表示有2个字节表示该文件记录起始簇号(即88 05
 
则该段dataruns表示xyz.png文件记录起始簇号为588,即第1416号簇,该文件记录所占簇数为0xD7,即215个簇
 
根据dataruns跳转到第1416号簇
 
notion image
 
如果该文件为PNG文件,则文件记录开头几个字节固定会表示PNG,如上图橙框
 
右键起始位置,选块起始位置
 
notion image
 
随后跳转到1416+215=1631号簇,往上找到结尾,选块尾部
 
notion image
 
右键选中部分,编辑—>复制选块—>至新文件
 
notion image
 
另存为时要指定后缀
 
notion image
 
 
成功提取!
 
notion image
 
 

提取666.png文件

 
因为666.png在xyzfile文件夹中,所以要先找到xyzfile文件夹的索引节点
 
跟上述步骤类似,先找到$MFT记录中的根目录文件记录(第5号文件记录)
 
notion image
 
根据A0H属性的dataruns跳转到第36号簇,找到xyzfile文件夹索引节点
 
notion image
 
索引节点前6个字节表示该文件夹的文件记录号,0x2C,即第44号文件记录
 
在$MFT中找到第44号文件记录
 
notion image
 
从30H属性可以看到,第44号文件记录为xyzfile文件夹的文件记录,44号后面的才是xyzfile文件夹内的文件的文件记录
 
继续往后找,可以发现第45号文件记录是666.png的
 
notion image
 
分析80H属性,第9个字节表示为非常驻属性,直接从dataruns提取
 
22 D2 00 AC 08 00 00 00
 
该文件的文件记录起始簇号为0x8AC,即第2220号簇,文件记录所占簇数为0xD2,即占用210个簇
 
跳转到第2220号簇
 
notion image
 
在起始位置选块,然后跳转到第2220+210=2430号簇,往上找,找到结尾部分,选块尾部
 
notion image
 
复制到新文件,提取成功!
 
notion image
 
 
 
 
 

(待施工)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网络渗透——文件上传关于Linux配置的玄学问题
Loading...