@ GPT 파티션 분석
- 사용 도구 : HxD
- 실습 파일 : GPT
- GPT는 1번 섹터에 GPT 헤더 정보(92Byte)가 있으며, 2번 섹터에 파티션 정보(128Byte 단위)가 있다.
1. HxD를 이용하여 'GPT' 파일을 오픈한다.
- HxD -> Extras -> Open disk image -> 'GPT' 파일 선택 -> Sector Size 'OK' 버튼 클릭
2. 첫번째 파티션(0x01BE ~ 0X01CD) 영역을 확인하여 파티션 파일시스템 타입 및 GPT 섹터 위치를 확인한다.
- 파티션 파일시스템 타입(0x01C2)이 '0xEE'이므로 EFI GTP DISK 타입니다.
- LBA 시작 주소(0x01C6~0x01C9)는 '01 00 00 00'이므로 1번 섹터(00 00 00 01)이다.
- 1번 섹터로 이동하여 GPT 헤더 92Byte(45 46 49 20 50 41 42 54 ~ FC B9 1A E4)를 확인한다.
- 이때, 1번 섹터 512Byte는 GPT 헤더 92byte + Reserved 420Byte로 구성된다.
3. Primary GPT Sector를 분석한다.
- GPT 헤더는 1번 섹터에 저장되어 있다.
- GPT 헤더 92Byte에는 다음과 같은 GPT 관련 내용이 저장되어 있다.
Signature(8Byte)
영역 | 내용 |
45 46 49 20 50 41 52 54 | 'EFI PART' 기록 |
Revision(4Byte)
영역 | 내용 |
00 00 01 00 | 버전 1.0 |
Header 크기(4Byte)
영역 | 내용 |
5C 00 00 00 | GPT 헤더 크기(92byte) |
CRC32 of Header(4Byte)
영역 | 내용 |
16 88 44 50 | Header 시작부터 끝에 대한 무결성 체크 |
Reserved(4Byte)
영역 | 내용 |
00 00 00 00 | 예약된 영역이며 사용하지 않는다. |
Current LBA(8Byte)
영역 | 내용 |
01 00 00 00 00 00 00 00 | 현재 LBA 주소 |
Backup LBA(8Byte)
영역 | 내용 |
AF C2 E7 0E 00 00 00 00 | GPT Header 정보를 백업한 Sector 위치 |
First usable LBA for Partition(8Byte)
영역 | 내용 |
22 00 00 00 00 00 00 00 | 파티션 구성을 할 수 있는 영역의 시작 위치 Primary Partition Table Last LBA + 1 |
Last usable LBA for Partition(8Byte)
영역 | 내용 |
8E C2 E7 0E 00 00 00 00 | 파티션 구성을 할 수 있는 영역의 마지막 위치 Secondary Partition Table Last LBA - 1 |
Disk GUID(16Byte)
영역 | 내용 |
E2 83 B4 33 56 08 73 4E A8 C9 96 BC 37 64 81 69 | 장치 UUID 번호 |
Partition Entries Starting LBA(8Byte)
영역 | 내용 |
02 00 00 00 00 00 00 00 | Partition Entry 시작 위치 각 파티션 정보가 저장되어 있음 |
Number of Partition Entries(4Byte)
영역 | 내용 |
80 00 00 00 | 지원하는 GPT Partition Entry 개수 |
Size of Partition Entry(4Byte)
영역 | 내용 |
80 00 00 00 | GPT Partition Entry 크기(128Byte) 대부분 128Byte 사용 |
CRC32 of Partition Array(4Byte)
영역 | 내용 |
FC B9 1A E4 | 파티션 CRC32 값 |
Reserved(420Byte)
영역 | 내용 |
|
0x25C ~ 0x3FF 사용하지 않는 영역 |
4. Secondary GPT Sector를 분석한다.
- 각각의 파티션 정보는 2번 섹터에 128Byte 단위로 저장되어 있다.
- 0x400 ~ 0x47F | 0x480 ~ 0x4FF | 0x500 ~ 0x57F | 0x580 ~ 0x5FF
- 첫번째 파티션 정보를 분석하도록 한다.
Partition Type GUID(16Byte)
영역 | 내용 |
28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B | 파티션 타입 고유 번호 파티션 파일 시스템과 OS/서비스 확인 가능 |
Unique Partition GUID(16Byte)
영역 | 내용 |
2B 80 26 60 4D AD 05 47 B9 B1 BF 81 BD D2 CA C7 |
파티션마다 할당하는 고유한 값을 저장 |
First LBA(8Byte)
영역 | 내용 |
28 00 00 00 00 00 00 00 | 파티션 시작 주소 (0x28 = 40) |
Last LBA(8Byte)
영역 | 내용 |
27 40 06 00 00 00 00 00 | 파티션 마지막 주소 (0x64027 = 409639) |
Attribute Flags(8Byte)
영역 | 내용 |
00 00 00 00 00 00 00 00 | 파티션 속성을 나타내는 값 |
Partition Name(72Byte)
영역 | 내용 |
45 00 46 00 49 00 20 00 53 00 79 00 73 00 74 00 65 00 6D 00 20 00 50 00 61 00 72 00 74 00 69 00 74 00 69 00 6F 00 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | 0x438 ~ 0x47F 파일 시스템 이름 UTF-16 사용 |
'정보보안 > 포렌식' 카테고리의 다른 글
NTFS 다중 파티션 분석 (1) | 2022.10.08 |
---|---|
하드 디스크 구조 및 MBR (1) | 2022.10.08 |
고객 정보를 유출한 증거 수집 (0) | 2022.10.02 |
ㅁ (0) | 2022.10.02 |
볼리티리티를 이용한 메모리 분석2 _ memdump2.vmem (0) | 2022.10.02 |