取证之分区表科普贴

本系列科普贴一共分为3章。按照镜像,分区表,文件系统顺序依次递进。上一章是取证常见文件格式科普贴,本章聊分区表。

0x01 分区表是为了划分土地
隔壁老王家有一块祖上传下来的土地,他今年希望一半种玉米,一半种小麦。所以他把土地一分为二,中间用一个栅栏隔开。无论是播种还是施肥都分开管理。这就是分区表的意义:你有一块磁盘,为了将不同用途的文件分开存放便于管理就可以使用分区表将磁盘划分为不同分区。通过各种工具(比如Disk Genius)或者命令(比如mkfs)可以将分区转化为可以直接使用的文件系统。
一年过去了,隔壁老王觉得还是种玉米来钱快。于是他把所有栅栏撤掉,全部撒上了玉米种子。如果你对某块磁盘的规划单一明确,就可以直接对整个磁盘格式化为相应文件系统而不需要分区表的存在,此时文件系统会尽可能吃掉全部的空间。
土地是很难做到被100%利用的,浪费的原因是老王有完美主义强迫症。在使用了分区表的情况下,用于隔开分区的栅栏本身就会占用部分空间。第一个分区的起始位置不是紧贴着分区表的。即使排除以上的浪费,文件系统是严格按照簇的单位使用土地的,不被簇整除的土地会被抛弃。(下一章文件系统再聊簇)

0x02 分区表第一代:MBR
MBR(Master Boot Record)是第一代被使用的分区表,存在于磁盘的第一个扇区。放张图给大家感受一下(在010 Editor中加载Driver.bt模版也可以看下如下的图):


关于MBR能聊的东西很多,我们挑重点来看这张图:
MBR以末尾55 AA作为标志符。顺着55 AA往前推64个字节(每个分区16个字节)存4个分区信息。比如下图选中的部分:

第1个字节如果值是0x80表示该分区能作为启动分区。如果在下面4个分区项第一个字节都不是0x80可以初步推断这个磁盘上没有操作系统,很可能是数据分区。就不用浪费时间仿真了。
第5个字节的07代表分区内文件系统类型,但是这个值是不可信的。根据上一章所说,这个东西类似扩展名,只是提示类型。具体类型以分区内实际十六进制为准。
从第9个字节开始4个字节(3F 00 00 00)代表该分区的其实位置,以扇区为单位。
最后4个字节代表该分区的总大小,也是以扇区为单位。

0x03 MBR的弊端(不支持2T硬盘是致命伤)

  1. MBR使用64个字节描述4个分区信息,那如果分区数大于4个如何处理呢?扩展分区是为了尽可能使用每一寸硬盘而设计的,整体复杂度很高。
  2. 每个分区中4个字节描述分区起始位置,其最大值是0xFFFFFFFF,按照大多数扇区大小是512字节计算那么最大的寻址空间大概2T。那大于2T的硬盘就会有很大的浪费。
  3. MBR中混用CHS寻址和LBA寻址,CHS寻址也是当年机械硬盘时代横行的产物。根据CHS计算真实位置其复杂程度令人发指,又要引入一堆概念。LBA就是看见多少就是多少。

0x04 GPT闪亮登场(34个扇区解决所有问题)
GPT(GUID Partition Table)拥有以下几个特性:

  1. 占据磁盘前34个扇区,通过prtected MBR与传统MBR区别开。
  2. 用32个扇区存放分区信息,每个分区信息占用128个字节。所以最多支持128个主分区。
  3. 采用8个字节描述分区起始地址与长度。最大磁盘能支持到8 ZiB (264 扇区数 × 512字节 )。
  4. 当年有大量攻击MBR的病毒,在操作系统加载前运行,所以重装系统也无法解决。GPT配合UEFI引导时,操作系统引导程序被存放在ESP分区,UEFI安全启动以及固件中存储的证书与平台固件之间创建一个信任源,可以确保在加载操作系统之前,能够执行已签名并获得认证的“已知安全”代码和启动加载程序。这从根源上杜绝"鬼影病毒"。
  5. GPT会备份自身分区表,头部被损坏还有副本。

0x05 GPT数据结构

  1. GPT分区表第一个扇区是Proteted MBR。如下图所示:注意图中标识的红色部分,GPT区别于MBR的地方就在于第一个分区表项分区系统类型为EE

  2. GPT分区第二个扇区是Partition Table Header。因为第一个扇区几乎没用上,这个扇区其实就是一些描述GPT自身信息的一些数据结构。比如备份分区表位置,第一个可用扇区(一般是0x22表示GPT自身占34个扇区),一共可用的扇区数。PartitionLBA就是下面分区表所在扇区(一般都是2,但是是代表第3个扇区)。每个分区表占字节大小(0x80),一共分区个数。详细见下图:

  3. 从第3个扇区开始是真的分区表。最重要的有三个东西:这是什么类型分区,起始位置,结束位置:图中画红框标注出来的分别是起始与结束位置。

总结:

  1. 分区表的存在是为了划分磁盘空间,分区表不是必然存在的。但是没有分区表的磁盘必然不能作为系统盘,所以也不用浪费时间仿真。
  2. 所有的标志符,包括上一章提到的各种文件类型标志符和本章提到的MBR标志符55 AA不仅仅起到标识类型的作用,还可以作为CPU字节序的判断标准。所以如果在第一个扇区末尾看到AA 55也不用惊讶,只是比较少见的大端序。CPU字节序影响后续整数类型的值,比如有4个字节的分区起始扇区,4个字节分区大小。大端和小端看到的值差的真大。
  3. 技术总是趋向于简单而又实用方向发展,所以我没有详细说MBR中的CHS寻址,也没提到主分区和逻辑分区这些东西。陈旧的概念就如同xp让它慢慢死去好了。
  4. MBR分区表操作系统依赖分区的80标志位,GPT分区表启动项统一存放在ESP分区,Basic Data Partition则用于存放数据。这是提到为什么要关注GPT中分区类型的原因。
  5. 关于分区表有个有趣的故事,读者自行搜索 硬盘逻辑炸弹。这个话题比这篇文章还精彩。
  6. 分区表即使被完全损坏也并不是完全没有办法。火眼会自动搜索丢失的分区信息。几乎常见的文件系统都能覆盖到。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容