NTFS文件系统实例分析
NTFS文件系统分析

字节偏移 长度 常用值 意义
0x0B 字 0x0002 每扇区字节数
0x0D 字节 0x08 每簇扇区数
0x0E 字 0x0000 保留扇区
0x10 3字节 0x000000 总为0
0x13 字 0x0000 NTFS未使用,为0
0x15 字节 0xF8 介质描述
0x16 字 0x0000 总为0
MFT 中的文件记录大小一般是固定的,不管簇的大小是多少,均为1KB。文件记录在MFT文件记录数组中物理上是连续的,且从0开始编号,所以,NTFS是预定义文件系统。MFT仅供系统本身组织、架构文件系统使用,这在NTFS中称为元数据(metadata,是存储在卷上支持文件系统格式管理的数据。它不能被应用程序访问,只能为系统提供服务)。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些元数据文件的名字都以"$"开始,所以是隐藏文件,在Windows 2000/XP中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出。在WINHEX中带有NFI.EXE,用此工具可以显示这些记录与文件的对应关系,下一次再详细解释。
注:如果属性可以放在一个文件记录内,则结束VCN域(这种情况下没有使用)可能是"00 00 00 00 00 00 00 00"。
压缩引擎的数量:
为达到最好的压缩比率,NTFS可以根据不同类型的数据使用不同的压缩引擎。当前的压缩引擎使用值04。
为流分配的单元大小:它几倍于卷上用来存储文件属性流所描述的分配空间。
文件通过主文件表(MFT)来确定其在磁盘上的存储位置。主文件表是一个对应的数据库,由一系列的文件记录组成--卷中每一个文件都有一个文件记录(对于大型文件还可能有多个记录与之相对应)。主文件表本身也有它自己的文件记录。
实验报告五 修复NTFS文件系统的DBR

实验报告(四)分析MRB表中的主分析区
一、实验目的:
1)掌握利用WinHEX软件查看硬盘的MRB表
2)认识MRB在计算机启动过程中的作用并熟悉MRB的结构。
3)分析MRB中每一个分区表项的意义。
二、实验环境(硬件或软件):
WinHEX软件,虚拟机WinXP系统环境
三、实验要求(或实验原理):
分析自己的硬盘,使用下表所示的方式描述当前分区的情况
四、实验内容(实验步骤或者程序编写):
1.搜索第一个文件记录的位置
分析图中的80属性,可看出它的数据所在的簇流为32 40 01 00 00 0C,即簇流从00 00 0C (786432)簇开始,共40 01(320)簇
2.分析第二个文件记录
、
五、实验结果及分析:
做实验时要注意:CHS地址需要先将十六进制数值换算为二进制,再进行拆分和换算。
不同的操作系统可能会使用不同的分区类型,有时可利用分区类型值来隐藏某些分区。
LBA地址换算时要先高低换位后再换为十进制,这个地方的高位、低位是以字节为单位的。
实验二:NTFS文件系统设置实验

实验二 NTFS文件系统设置实验一、实验目的1、掌握NTFS文件系统的基本概念2、掌握NTFS文件系统进行本地安全权限设置的操作3、掌握磁盘配额等操作二、实验要求1、设备要求:1台装有Windows Server 2012操作系统并装有Hyper-V的计算机2、每组1人,独立完成三、实验基础实验在Hyper-V虚拟机完成,掌握Hyper-V的基本操作,理解NTFS文件系统与权限设置的基本操作。
四、实验要求与步骤任务1:1)选择Windows 2008/2012虚拟机;2)添加1个虚拟磁盘(3G容量)-(建议使用SCSI控制器);3)启动Windows 2008虚拟机,用计算机管理-存储-磁盘管理,将磁盘联机并初始化;4)新建3个简单卷,空间大小为1G, 分别设置驱动器号为F、G、H,并格式化F盘文件系统为FAT32;G、H盘文件系统为NTFS任务2:创建用户S1、S2、S3等,在G盘中建立文件夹G:\DOC,用记事本存放文件111.txt ,222.txt等, 在H盘中建立文件夹H:\S1、H:\S2、H:\S3操作实现以下设置要求,并验证:1) G:\DOC中存放着公司重要的资料,只有S1、S2普通用户对其只拥有读取权限,Administrator对其拥有完全控制权限2)H盘以S1、S2、S3命名的个人文件夹,对应用户拥有完全控制权限,其它用户无任何权限(如:H:\S1文件夹,S1用户拥有完全控制权限,其他用户无任何权限)4)文件或文件夹的复制和移动对NTFS权限的影响,实验操作并观察属性的变化5)在H盘上启用磁盘配额:把S1 账户的配额设置为:磁盘空间限制为20MB,警告等级为18MB把S2 账户的配额设置为:磁盘空间限制为30MB,警告等级为28MB切换到S1 账户,向H:\S1复制一些文件,当复制到一定程度时会出现什么问题?任务3:用Administrator 帐户登录,在H盘建立一个文件夹test,在该文件夹中建立一个文本文件A.txt、B.txt,对A.txt压缩、对B.txt加密对test 文件夹进行如下设置:允许访问的帐户有S1 、S2、S3(其它的帐户和组都删除),S1的访问权限为“读+写”,S2的访问权限都为“完全控制”,S3的访问权限为“读”分别切换到S1、S2、S3用户登录,验证以下操作是否允许:如果S3用户离职,管理员删除了其账户,但发现该员工计算机中有文件夹管理员无法访问,管理员该如何访问该文件夹并给其它人设置NTFS权限五、练习与思考1、简述NTFS、FAT32、FAT文件系统的区别。
04设置NTFS文件系统

【实验目的】
1)掌握NTFS文件权限的设置。
2)掌握NTFS磁盘配额的设置。
3)掌握NTFS中数据加/解密和压缩/解压缩的设置。
【实验境】
具有Windows2000 Server的计算机、局域网环境。
【实验重点及难点】
重点:掌握NTFS文件权限、磁盘配额、数据加/解密和压缩/解压缩的设置。
1)打开”我的电脑”选择”D盘”右击属性选择”磁盘配额”。如图4-9。
图4-9
2)勾选”启动磁盘配额”选中”配额项”在配额项中”新建配额项”将磁盘空间限制为10MB.如图4-10.
图4-10
3)注销,用Guest帐号登陆系统,则出现如图4-11。
图4-11
4)操作完成。
三、NTFS中数据加/解密和压缩/解压缩的设置。
图4-2
3)选择”权限”栏,勾选”读取”,点击”确定”。
图4-3
4)打开”我的电脑”中的”D盘”,并在该分区中”新建文件夹”,弹出如图4-4所示.
图4-4
5)操作完成.
2、设置Guest帐号对禁止删除D盘中的”新建文件夹”。
1)打开”我的电脑”右击属性选择”安全”。如图4-1。
2)删除Everyone用户,选择”添加”(如图4-5)双击”Guest”帐号,点击”确定”。
难点:实验过程中,切实理解NTFS的功能。
【实验内容】
一、NTFS文件权限的设置。
1、设置Administrator帐号对D盘读取权限。
1)打开”我的电脑”选择”D盘”右击属性选择”安全”。如图4-1。
图4-1
2)删除Everyone用户,选择”添加”(如图4-2)双击”Administrator”帐号,点击”确定”。
NTFS文件解析系统的简单分析

NTFS文件解析系统的简单分析正如我们所知道的,目前主流anti-rootkit检测隐藏文件主要有两种方法,一种是文件系统层的检测(像IceSword自己构造irp包发到文件系统驱动),另一种就是磁盘级别的低级检测,直接对磁盘的数据进行分析,比如SnipeSword、filereg和unhooker.最近对第二种方法的一部分(及NTFS文件系统的解析)做了一些学习,于是就写点学习的东西与大家分享,其中有很多错误和不足希望大牛们指出。
(1)准备工作――获取分区的一些基本参数我们可以用CreateFile打开某个盘,读取偏移为0的扇区的数据。
具体的数据结构为:typedef struct tag_NTFSBPB{BYTE bJmp[3];//跳转指令BYTE bNTFlags[4]; // 文件系统NTFS的为"NTFS"BYTE bReserve1[4]; //一般为四个空格WORD wBytePerSector;//每扇区字节数BYTE bSectorPerCluster//;每簇扇区数WORD wReserveSectors;//保留扇区数BYTE bFatNum; // 总是0WORD wRootDirNum; //总是0WORD wSectorOfParti; //总是0BYTE bMedium;//WORD wSectorPerFat; //总是0WORD wSectorPerTrack;//WORD wHeadNum;//DWORD dwHideSector;//DWORD dwSectoOfParti; //总是0BYTE bDeviceFlag;//BYTE bReserve2;//WORD wReserve3;//ULONGLONG ullSectorsOfParti; //扇区总数ULONGLONG ullMFTAddr;//$MFT的起始逻辑簇号ULONGLONG ullMFTMirrAddr;// $MFT的起始逻辑簇号BYTE bClusterPerFile;//BYTE bReserve4[3];//DWORD dwClusterPerINDX;//BYTE bSerialID[8];//} NTFSBPB, *LPNTFSBPB;其中最重要的应该就是通过ullMFTAddr获得$MFT的起始逻辑簇号进而找到根图(1)目录的位置在进行分析。
NTFS文件系统文件存贮分析

V s 和 Wid w ia t no s 7的 标 准 文 件 系 统 。
在NF T S分 区 中 , 开 始 的 l 最 6个 扇 区 是 分 区 引 导 扇 区 , 中 保 存 着 分 区 引 导 代 码 , 着 就 是 主 文 件 表 文 件 其 接
MF ( a t i a l) MF T M s rFl T be , T文 件 由 许 多 MF e e T项 组 成 , 每
被 广 泛 使 用 。分 析 N F 文 件 系统 对 文件 的管 理 机 制 , 究 文 件及 其 E录项 在计 算 机 操 作 过 程 中 产 生 和 变 化 规 律 , TS 研 t 发 现 了应 用 程 序 在 创 建 、 改 或 删 除 文件 的过 程 中 , 产 生 大 量 的 残 留 目录 项 , 些 残 留 目录 项 在 很 长 一 段 时 间 里 修 会 这 不会 消 失 。 分析 这 些 残 留 目录项 可 掌 握 当事 人 对 计 算 机及 相 关 程 序 、 档 的 操 作 过 程 , 发 现 计 算 机 中 电 子 物 证 文 是
磁 盘 在存 储 数 据 之 前 首 先 要 对 磁 盘 进 行 分 区 , 后 对 分 然 区进 行 格 式化 建 立 相 应 的文 件 系统 , 分 区 经格 式化 操 作 后 各 才 能 存贮 数据 。根 据 使 用 操 作 系统 的不 同 , 区 的类 型 也 不 分
个 文 件 对 应 MF T文 件 中 的 一 个 MF T项 , 个 MF 每 T项 大
小 固定 为 1 K。 N F T S文 件 系 统 将 文 件 内 容 分 为 常 驻 属 性 和 非 常 驻 属 性 。 小 于 1 的 文 件 其 目 录 项 和 数 据 都 作 为 常 驻 K 属 性 保 存 在 MF T项 中 。 大 于 1 的 文 件 或 文 件 夹 其 目 录 项 K
详解NTFS文件系统

NT S 文 件 系 统 中 的 文 件 属 性 F 可 以 分 成 两 种 : 驻 属 性 和 非 常 驻 常
属 性 , 常 驻 属 性 直 接 保 存 在 MF T 中 , 文件 名 和相 关 时 间信 息 ( 像 例 如 创 建 时 间 、 改 时 间 等 ) 远 属 修 永 于 常 驻 属 性 , 常 驻 属 性 则 保 存 在 非 MF 之 外 , 会 使 用 一 种 复 杂 的 索 T 但 引 方 式 来 进 行 指 示 。如 果 文 件 或 文 件 夹 小 于 10 5 0字 节 ( 实 我 们 的 电 其 脑 中 有 相 当 多 这 样 大 小 的 文 件 或 文 件 夹 ) 那 么 它 们 的所 有 属 性 , , 包 括 内 容 都 会 常 驻 在 MF 中 , T 而 MF 是 W id w T n o s一 启 动 就 会 载 入
MF ) 但 如 果 它 所 在 的 磁 盘 扇 区 T , 恰 好 出 现 损坏 , F NT S文 件 系 统 会 比 较 智 能 地 将 MF 换 到 硬 盘 的 其 T 他 扇 区 , 证 了 文 件 系 统 的 正 常 使 保 用 , 就 是 保 证 了 W id w 也 n o s的 正 常 运 行 。而 以 前 的 F T 6和 F T 2 的 A 1 A 3 F T ( 件 分 配 表 ) 则 只 能 固 定 在 A 文
区 和 F T 2 分 区 的 文 件 可 以 随 意 A 3
在 分 区 间 移 动 , 容 不 会 因 此 产 生 内
任何 不同 。
分 区 引 导 扇 区 的 后 面 , 旦 遇 到 扇 一
区 损 坏 , 么 整 个 文 件 系 统 就 要 瘫 那
痪 。
到 内 存 中 的 , 样 当 你 查 看 这 些 文 这
详解NTFS文件系统

详解NTFS⽂件系统⼀、分析NTFS⽂件系统的结构当⽤户将硬盘的⼀个分区格式化为NTFS分区时,就建⽴了⼀个NTFS⽂件系统。
NTFS⽂件系统同FAT32⽂件系统⼀样,也是⽤“簇”为存储单位,⼀个⽂件总是占⽤⼀个或多个簇。
NTFS⽂件系统使⽤逻辑簇号(LCN)和虚拟簇号(VCN)对分区进⾏管理。
逻辑簇号:既对分区内的第⼀个簇到最后⼀个簇进⾏编号,NTFS使⽤逻辑簇号对簇进⾏定位。
虚拟簇号:既将⽂件所占⽤的簇从开头到尾进⾏编号的,虚拟簇号不要求在物理上是连续的。
NTFS⽂件系统⼀共由16个“元⽂件”构成,它们是在分区格式化时写⼊到硬盘的隐藏⽂件(以”$”开头),也是NTFS⽂件系统的系统信息。
NTFS的16个元⽂件介绍:⾸先找到该分区的起始扇区,具体可以参考这篇⽂章。
⼆、分析$Boot⽂件$Boot元⽂件由分区的第⼀个扇区(既DBR)和后⾯的15个扇区(既NTLDR区域)组成,其中DBR由“跳转指令”、“OEM代号”、“BPB”、“引导程序”和“结束标志”组成,这⾥和FAT32⽂件系统的DBR⼀样。
下图是⼀个NTFS⽂件系统完整的DBR。
下⾯我们分析⼀下DBR中的各参数EB 58 90:(跳转指令)本⾝占2字节它将程序执⾏流程跳转到引导程序处。
“EB 58 90″清楚地指明了OS引导代码的偏移位置。
jump 52H加上跳转指令所需的位移量,即开始于0×55。
4E 54 46 53 20 20 20 20:(OEM代号)这部分占8字节,其内容由创建该⽂件系统的OEM⼚商具体安排。
为“NTFS”。
BPB:NTFS⽂件系统的BPB从DBR的第12个字节开始,占⽤73字节,记录了有关该⽂件系统的重要信息,下表中的内容包含了“跳转指令”、“OEM代号”以及“BPB”的参数。
对照上⾯的BPB分析如下:02 00:每个扇区512个字节08:每个簇8个扇区00 00:保留扇区为000 00 00:为000:不使⽤F8:为硬盘00 00:为000 3F:每磁道63个扇区00 FF:每柱⾯255个磁头00 00 00 3F:隐藏扇区数(MBR到DBR)00 00 00 00:不使⽤80 00 80 00:不使⽤00 00 00 00 0C 80 33 FF:扇区总数20972851100 00 00 00 00 00 00 03:$MFT的开始簇号00 00 00 00 00 85 57 80:$MFTmirr的开始簇号00 00 00 F6:每个MFT记录的簇数00 00 00 01:每索引的簇数B8 11 2A 0C B8 11 2A 0C:分区的逻辑序列号引导程序:DBR的引导程序占⽤426字节,其负责完成将系统⽂件NTLDR装⼊,对于没有安装系统的分区是⽆效的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NTFS文件系统实例分析
一、基本情况
NTFS文件系通过主文件$MFT管理文件,每个文件都有很多属性,磁盘上每建立1个文件,在$MFT中记录文件的属性,文件记录大小都是1KB,小文件(小于1KB)的全部属性都存放在$MFT中,大文件(1K以上)在它的MFT基本文件记录中,其80数据属性有数据运行(dataRuns或一个盘区(extent),)指针(包含数据所在的起始簇号和簇的大小),也称为流描述,当流描述的第一个字节为0里就表示该流已经结束。
NTFS使用逻辑簇号(LCN,Logical Cluster Number)和虚拟簇号(VCN,Virtual Cluster Number)来对簇进行定位。
LCN是对整个卷中的所有的簇从头到尾进行简单编号,VCN是对特定文件的簇从头到尾进行编号,以便引用文件中的数据。
文件MFT记录的结束标志为ff ff ff ff。
二、举例
建立一个小文本文件dd.txt和一个大文件large.txt。
1、文件属性修改
打开主文件$MFT,按Unicode编码,向下查找文本,搜索文件名dd.txt,读出文件dd.txt记录,查看0x10属性,在偏移0x38处就是该文件属性,长度为4字节。
改变此字节就可改变文件是的只读、隐藏、系统等属性。
2、小文件(小于1KB,文件所有属性在MFT中的一条记录中容
纳)
打开主文件$MFT,按Unicode编码,向下查找文本,搜索文件名dd.txt,读出文件dd.txt的记录,查看0x80属性,在偏移0x18处就是该文件的内容,在此可直接修改文件内容。
2、大文件(大于1KB)
打开主文件$MFT,按Unicode编码,向下查找文本,搜索文件名large.txt,读出文件large.txt的记录,查看0x80属性,在偏移0x10、0x18处分别用8个字节记录文件起始VCN和结束VCN,此例分别是00 00 00 00 00 00 00 00,01 00 00 00 00 00 00 00,说明文件只有0簇和1簇共2簇;在偏移0x20处的2个字节是该文件数据运行的偏移,此处的值为0x40,所以查看偏移0x40处就是文件的第1个运行的描述,该运行分为:
子运行1:31 02 C6 3A 0C
其中“31”中的“1”表示“31”后面第1个字节的数表示子运行的大小,即该子运行的大小为02簇。
“31”中的“3”表示“31”后面4个字节中后面3个字节是子运行的起始簇号,即子运行的起始簇号为“0C3AC6”,此运行的描述之后为“00”表示运行结束。
0C3AC6转为十进制801478,从导航菜单中转到801478簇就能看到文件的内容。