MBR

2024. 4. 1. 04:54보안/포렌식

728x90

하드 디스크의 첫번째 데이터 공간(0번 섹터)

파티션의 스타일. 물리적인 저장 장치에서 확인할 수 있는 영역으로 , 하드디스크의 파티션 정보를 지니고 있다.(512Byte)

다중 파티션의 경우만 존재한다.

저장장치의 구조

MBR Slack

MBR과 VBR 사이에 있는 공간으로 낭비 되는 공간이다. 악성코드가 악용되는 공간 이며 보안 솔루션으로 사용되는 공간이기도 하다.

VBR

볼륨의 시작에 위치하는 구조. 파일 시스템의 메타 데이터(BPB)가 있고, 부트로더 로딩 코드를 담고 있다.

볼륨의 부트로더를 로딩해서 운영체제를 부팅시키는 코드를 VBR이라고한다.

Volume Data

할당 된 볼륨의 데이터가 들어있는 공간. 메타 테이터와 파일의 데이터로 구성되어 있다.

MBR 구조
MBR 표

1. MBR Boot Code

운영체제 부팅과정

BIOS -> Pre POST -> POST(Power On Self Test) -> MBR 읽어오기 -> VBR 읽어오기

MBR은 자신의 부트 코드를 수행한다.

- MBR 파티션 테이블에서 부팅 가능한 파티션을 찾기

- 부팅 가능한 파티션을 찾았을 경우 해당 파티션 테이블에 적혀있는 VBR의 위치로 이동

- 부팅 가능한 파티션이 없을 경우, 오류 메시지를 출력

부트 코드

0x1B5~0x1B7 은 Error message offset을 의미한다.

0x1B8~0x1BB 는 Device GUID(MBR Device Signature)을의미한다.

2. Partition Table Entry

Partition Table Entry

Boot Flag(0x1BE, 1Byte)

부팅 단계에서 해당 파티션이 부팅이 가능한지아닌지 확인 할 때 쓰이는 Flag

0x80 - 부팅 가능 . 0x00 - 부팅 불가능

Starting CHS Address(0x1BF ~ 0x1C1, 3Byte)

시작 CHS 주소, 주소 지정 방식이 CHS일 경우 파티션의 시작 위치를 담고 있다.

* CHS 주소 방식 - 하드디스크의 구조에서 실린더(C), 헤더(H), 섹터(S)를 기준으로 작성된 주소 방식.

Partition Type(0x1C2, 1Byte)

파티션의 유형을 나타낸다.

파티션 유형 값을 조작해서 숨긴 파티션을 생성할 수 도 있다.

Ending CHS Address(0x1C3~0x1C5, 3Byte)

CHS 주소의 끝의 주소를 가지고 있다.

Starting LBA Address(0x1C6~0x1C9, 4Byte)

주소 지정 방식이LBA일 경우 시작 섹터 위치를 가지게 된다.

Size in Sector(0x1CA ~ 0x1CD, 4Byte)

파티션 LBA에 할당 된 총 섹터 수를 가지고 있다.

3. Signature

Signature

0x55AA라는 값을 가지고 있다.

 

'보안 > 포렌식' 카테고리의 다른 글

NTFS Walker를 사용한 파일 복구  (1) 2024.04.11
GPT  (1) 2024.04.01
NTFS 파일 시스템 구조  (0) 2024.04.01
FAT32 시스템 구조  (0) 2024.04.01
ZIP 파일 구조  (0) 2024.03.28