1. 실습 환경
Version | |
Host PC | Windows 7 64bit |
Guest PC | Windows xp sp2 |
Hex Editor | HxD |
Perl Coding | Edit Plus3 |
[표 1-1] 실습 환경
2. MBR
파티션이 여러 개인 다중 파티션의 경우 각 파티션의 첫 번째 섹터에 존재하는 BR 만으로는 어떤 파티션을 부팅으로 사용할지 알 수 없다.
때문에 BR(Boot Record) 중에서 메인 격인 MBR(Master Boot Record)를 두어 이 역할을 제공하였다.
[그림 1-1] MBR 구조
MBR에는 Boot Code와 함께 0xAA55 로 고정된 값을 갖는 Signature 를 갖고 있으며 마지막으로 파티션의 부팅 가능 여부 등을 담고 있는 Partition Table 을 포함하고 있다.
이제부터 이 Partition Table 의 세부 내용을 확인해보도록 하자.
[그림 1-2] MBR - Partition Table 구조
- Boot Flag : 1Byte, 해당 파티션의 부팅 가능 여부(0x80 : 부팅 가능 파티션, 0x00 : 부팅 불가능 파티션)
- CHS Starting Address : 3Byte, CHS 방식의 시작 주소
- Partition Type : 1Byte, 해당 파티션의 종류를 의미(0x0B : CHS 모드의 FAT32 , 0x0C : LBA모드의 FAT32 등)
- CHS Ending Address : 3Byte, CHS 방식의 종료 주소
- LBA Start Address : 4Byte, LBA 방식의 시작 주소
- Size in Sector : 4Byte, LBA 의 총 개수
※ 각 어플리케이션에 따라 파티션이 CHS 주소를 사용할지 LBA 주소를 사용할지에 대해 결정되기 때문에 분석 시에는 우선 Partition Type를 확인하고 그에 맞는 주소 값을 확인해야한다.
3. HxD를 활용한 MBR 분석
기존에 알아본 정보를 토대로 실제 HDD의 MBR을 분석해보도록 하겠다.
[그림 3-1] HDD 파티션 할당 확인
[그림 3-1]과 같이 현재 HDD의 분석하고자 하는 파티션을 확인한다.
[그림 3-2] HxD를 활용한 HDD 접근
[그림 3-2] 와 같이 HxD 를 활용하여 [그림 3-1]에서 확인한 HDD에 접근한다.
그 후 MBR은 각 저장장치의 0번 섹터에 온다는 사실을 염두에 두고 분석을 시작해야 한다.
[그림 3-3] HDD 02's MBR 전체구조
HDD 02의 MBR 전체 구조는 [그림 3-3]과 같이 Boot와 4개의 Partiton Table 마지막으로 signature로 이루어져있다.
하지만 현재 Partition 01과 Partition 02 만이 사용하고 있다는 것을 알 수 있으며 이제부터 이 두 개의 파티션 테이블을 분석해보도록 하겠다.
Partition 01 : 00 01 01 00 0B FE BF 7C 3F 00 00 00 FE 25 9C 00 |
- Boot Flag : 00, 부팅 불가 파티션
- CHS Starting Address : 0x00, 0x01, 0x01
- Partition Type : 0x0B, CHS 방식의 FAT32
- CHS Ending Address : 0x7C, 0xBF, 0xFE
Partition 02 : 00 00 81 7D 0C FE FF FF 3D 26 9C 00 9C BF A3 00 |
- Boot Flag : 0x00, 부팅 불가 파티션
- Partition : 0x0C, LBA 방식의 FAT32
- LBA Starting Address : 0x009C263D, 10,233,405
- Size Of Sector : 0x00A3BF9C, 10,731,420
=> LBA 블록 1개 : 512Byte, 파티션 총 용량 : 10731420 Sector * 512Byte = 5,494,487,040Byte
마지막으로 실제 부팅이 가능한 파티션에 대한 분석을 해보고 MBR 을 정리하고자 한다.
[그림 3-2] 에서 이번엔 하드 디스크 1을 선택한다.
[그림 3-4] 하드디스크 1 분석
하드디스크 1을 HxD를 통해 열면 [그림 3-4]와 같으며 이 하드 디스크 1에서도 Partition 1부분만 따로 떼어 분석해보도록 하겠다.
Partition 1 : 80 01 01 00 07 FE FF FF 3F 00 00 00 0B AC FF 09 |
- Boot Flag : 0x80, 부팅 가능
- Partition Type : 0x07, NTFS
- CHS Starting Address : 0x00 0x01 0x01
- CHS Ending Address : 0xFF 0xFF 0xFE
- LBA Starting Address : 0x0000003F, 63
- Size in Sector : 0x09FFAC0B, 167,750,667
=> 파티션 총 용량 : 167,750,667 * 512 Byte = 85,888,341,504 Byte = 79GB
'Security > Forensic (practice)' 카테고리의 다른 글
[WIndows] 00 개요 (0) | 2014.10.16 |
---|---|
[File System] FAT 32 이론 및 수동 분석 (2) | 2014.08.03 |
[File System] Partition VS Volume (0) | 2014.07.29 |
[File System] file system 과 구성 요소 (0) | 2014.06.28 |