For3nsic/Forensic
GPT(GUID PAartition Table)?
๐๐พ๐ฌ๐ฎ๐ฝ๐ฎ_๐ข๐ฝ๐ฎ๐ต๐ต๐ช
2020. 12. 20. 16:49
728x90
๋ฐ์ํ
ํํ ํ๋๋์คํฌ, SSD์์ ๋ถํ ์ ๊ฐ๋ ์ ๋ณด๊ฒ ๋๋ฉด MBR(Mastser Boot Record)๋ฅผ ์๊ฐํ๊ฒ ๋๋ค.
๋ ๋ํ ๊ทธ๋ ๊ฒ ์๊ฐ์ ํ๋ค. ๋ฌธ๋ฉ ๋ฌ๊ธ์์ด ์๊ฐ์ด ๋ฌ๋ค. ๋ด๊ฐ ์ฐ๋ ์ปดํจํฐ์ MBR์ ํ๋ฒ ๋ด์ผ์ง!! ๋ผ๊ณ ์๊ฐ์ ํ๊ณ Hxd๋ฅผ ์ผ์ ํ์ธ์ ํด๋ณด์๋ค!! ์ฅ? ๊ทผ๋ฐ ใทใท ๋ญ๊ฐ Partition๋ถ๋ถ์ด ์? ์ด๋ ์๊ฐ์ด ๋ค์ด์ ํ์ธ์ ํด๋ดค๋ค.
MBR์ด ์๋ GPT ํ์์ด์๋ค. ๊ทธ๋์ GPT ๊ตฌ์กฐ๋ฅผ ์ด๋ ๊ฒ ์์ฑํด๋ณธ๋ค.
๋จผ์ ์ ๋ฉ์ฉกํ ์์ฐ๊ณ ์๋ MBR์ ๋๊ณ GPT๋ฅผ ์ฌ์ฉํ๋์ง ์์๋ณด์!
MBR(Master Boot Record)
- ์ต๋ 4๊ฐ์ Partition์ ์ง์ํ๋ค.
- 2TB์ด์์ ํ๋๋์คํฌ์์ OS ๋ถํ ๋ฐ ์ต์ ํ๋์จ์ด ์ง์์ ํ๊ณ๊ฐ ๋ฐ์ํ๋ค.
GPT(GUID Partition Table)
- ์ต๋ 128๊ฐ์ Partition์ ์ง์ํ๋ค.
- 8ZB์ดํ์ ํ๋๋์คํฌ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
LBA(Logical Block Addressing) 0 - Protective MBR
- BIOS๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์์คํ ์์ GPT๋์คํฌ๋ฅผ ์ธ์ํ์ง ๋ชปํ์ฌ ๋ค๋ฅธ ํ์(์ด๊ธฐํ, ๋ฎ์ด์ฐ๊ธฐ ๋ฑ)์ด ๋์ง ์๋๋ก MBR ๊ตฌ์กฐ์ ์ ์ฌํ๊ฒ ์ฒซ ๋ฒ์งธ ์นํฐ์ ๋ฐฐ์น
- MBR ๋ณด๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผ
- MBR์ ์ฌ์ฉํ๋ ์ด์
Why? MBR Based Utility์์ ์ค์๋์ ์ผ์ผํค์ง ์๋๋ก ํ๊ธฐ ์ํด์ ์ฌ์ฉ
LBA 1(์นํฐ 1)
- Primary GPT Header
- GPT์ ๋ํ ์ค์ ์ ๋ณด ๊ธฐ๋ก
- GPT Header๋ ๋ณดํต 92byte
- ๋๋จธ์ง ๋ถ๋ถ์ NULL ๊ฐ
์์๋๋ก(→ ๋ฐฉํฅ์ผ๋ก)
- GPT Signiture(8 byte) : EFI PART ๊ธฐ๋ก
- GPT Version(4 byte) : GPT ๋ฒ์ ์ ๋ณด
- GPT Header Size(4 byte) : GPT ํค๋ ์ฌ์ด์ฆ
- CRC32(Header Checksum(4 byte)) : ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ์ ์ํ CRC32 ๊ฐ(Header์ ์์๋ถํฐ ๋๋๋ ์์น๊น์ง ์ฒดํฌ๊ฐ๋ฅ)
- Reserved(4 byte) : ์์ฝ๋ ์์ญ์ผ๋ก ์ฌ์ฉํ์ง ์์
- GPT Header Address(8 byte) : GPT ํค๋์ ์์น
- Backup GPT Header Address(8 byte) : GPT ํค๋ ์ ๋ณด๋ฅผ Backupํ Sector ์์น ๊ธฐ๋ก
- Partition Starting Address(8 byte) : ํ ๋น ๊ฐ๋ฅํ ์์ญ ์์ ์์น
- Partition Last Address(8 byte) : ํ ๋น ๊ฐ๋ฅํ ์์ญ ๋ง์ง๋ง ์์น
- Disk GUID(16 byte) : Unix์ UUID(universally unique identifier)์ ๋์ผ ์ฆ, ์๋ณํ๊ธฐ ์ํ ๊ฐ
- Partition Table Address(8 byte) : ํํฐ์ ํ ์ด๋ธ ์ฃผ์
- Number of Partition Table(4 byte) : ํํฐ์ ํ ์ด๋ธ ๊ฐฏ์
- Partition Table Size(4 byte) : ํํฐ์ ํ ์ด๋ธ์ ํฌ๊ธฐ
- CRC32(Partition Table Checksum(4 byte)) : ํํฐ์ ์ CRC32 ๊ฐ
๋ฐฑ์ ์ฃผ์๋ก ์ด๋์ ํ๊ฒ ๋๋ฉด ์นํฐ 1๋ฒ ๊ฐ์ด ๋ฐฑ์ ๋์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
AF 32 CF 1D ๋ฆฌํ์๋์ธ์ผ๋ก ๋ค์ง์ด์ ๊ณ์ฐ
LBA 2(์นํฐ2)
- ๊ฐ ํํฐ์ ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ก
- MBR์ ํํฐ์ Entry์์ LBA ์์ ์ฃผ์๋ 4byte์ ๊ธฐ๋กํ์ง๋ง GPT ํํฐ์ Entry์์์ LBA ์์ ์ฃผ์๋ 8byte์ ๊ธฐ๋ก
- 128๊ฐ์ ํํฐ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ก ํ ์ ์์
- ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ๋์ผ ใ ฃํํฐ์ Entry๋ 128 byte๋ฅผ ์ด์ฉํด์ ๊ธฐ๋ก
- GUID๋ฅผ ์ด์ฉํ์ฌ ๊ฐ ํํฐ์ ์ ์ ๋ณด๋ฅผ ์ ์ ์์
- Partition Type GUID(16 byte) : ํํฐ์ ์ ์ข ๋ฅ๋ณ ํ ๋น๋ GUID์ํค๋ฐฑ๊ณผ
- Partition GUID(16 byte) : ํํฐ์ ๊ณ ์ ์ ์๋ณ ๊ฐ
- Partition Starting Address(8 byte) : ํํฐ์ ์ ์์ ์ฃผ์
- Partition Last Address(8 byte) : ํํฐ์ ์ ๋ ์ฃผ์
- Partition Attributes(8 byte) : ํํฐ์ ์์ฑ์ํค๋ฐฑ๊ณผ
- Partition Name(72 byte) : ํํฐ์ (ํ์ผ ์์คํ ) ์ด๋ฆ
์ด๋ ๊ฒ MBR์ด ์๋ GPT ๊ตฌ์กฐ๋ฅผ ์์๋ณด์๋ค. ์์ฆ GPT๋ ๋ง์ด ์ฌ์ฉํ๋ค ๋ณด๋ ์์๋๋ฉด ์ข์ ๊ฒ๊ฐ๋ค!!
๊ทธ์น๋ง ์์ง๊น์ง MBR๋ ๋ง์ด ์ฌ์ฉํ๋ ๋๋ค ์๋ฉด ์ข์ง์์๊น?
728x90
๋ฐ์ํ