DFIR/DFIR

[Digital Forensic] MBR이란?

dotaky99 2021. 11. 12. 14:00
반응형

용어정리

MBR(Master Boot Record)

MBR이란 운영체제를 주기억장치에 적재될 수 있도록 하기 위한 정보로서 첫 번째 섹터에 위치한다. MBR은 파티션 섹터 또는 마스터 파티션 테이블이라고도 불린다(파티션 위치에 관한 정보를 가지고 있기 때문). 부트 섹터 레코드에는 운영체제의 나머지 부분들을 메모리에 적재시키는 프로그램을 담고 있다.

  • 모든 스토리지 저장장치는 MBR을 가지고 있다.
  • 1980년대 개발
  • MBR 파티션 최대 크기(( 0xFFFF FFFF = 2TB(2^40))
  • 최근에는 MBR의 단점을 보완한 GPT(GUID Partition Table)가 사용되고 있다.

일반적인 부팅 과정

- POST(Power On Self-Test)동작 - BIOS에서의 하드웨어 체크

- BIOS에서 부팅 매체를 읽어온다.

- BIOS에서 부팅 매체의 MBR(부트로더가 존재)을 읽는다


  • The role of MBR indicates how many disks are in the volume, whether the OS is installed, the VBR load and where volume begins.MBR Slack
    • 저장장치의 시작인 MBR과 볼륨의 시작인 VBR 사이에 존재하는 낭비되는 공간이다.
      • 부트킷, 랜섬웨어 등의 악성코드로 악용되거나 보안 솔루션 등으로 사용된다.
        • MBR이 VBR을 실행시켜주기 때문
  • MBR 역할
  • 윈도우 XP/2K3
    • 63-Sector(MBR 1섹터 포함, FDISK 트랙 할당 방식)
  • 윈도우 Vista7/8/10
    • 2048-Sector(MBR 1섹터 포함, 1MiB 할당방식)
    MBR, GPT 형식 확인 방법
  • Winhex, FTK Imager 등으로 디스크를 열었을 때 첫 섹터에 0으로 채워져 있다면 GPT라고 생각하자. 이미저 도구 활용을 제외한 방법은 cmd(관리자권한) -> diskpart -> list disk로 확인할 수 있다. 디스크 관리 창에서는 아래 사진과 같다.

MBR 구조

저장장치 첫 번째 섹터(LBA 0)에 위치하는 512바이트 크기의 영역이며, 부트코드와 파티션 테이블로 구성되어있다. MBR은 첫 섹터는 다음과 같이 구성되어있다.

MBR 구조

아래는 Hex Editor로 열어본 MBR 구조이다.

Hex Editor로 보는 MBR 구조

초록색이 Boot Code이며, 살색이 Partition Table, 마지막 2 바이트는 시그니처이다. 그 외로 하늘색 네모 박스에는 오류 메시지가 적혀있다.

- Invalid partiton table : 파티션 인식이 안될 때 원인은 매우 다양하다.

- Error loading operating system : 부팅 가능한 파티션이 없을 때

- Missing operating system : 시그니처가 맞지 않을 때

파티션 테이블 구조

  • Boot Flag
    • 0x80 : 부팅 가능
    • 0x00 : 부팅 불가능
  • Start CHS Address : 주소 지정 방식이 CHS일 경우 파티션의 시작 위치
  • Part Type : 파티션 유형
    • NTFS, exFAT : 0x07
    • 정말 다양하고 많은 파티션 타입이 있다.
    • 파티션 유형 조작으로 숨긴 파티션 생성이 가능
  • Starting LBA Address : 주소 지정 방식이 LBA일 경우, 파티션 시작 섹터 위치
    • 윈도우 XP/2003 이전 : 63섹터
    • 윈도우 Vista 이후 : 2048섹터
  • Size in Sector : 파티션(LBA)에 할당된 섹터의 총 수
    • 예제를 통해 계산을 해보자. 예제는 Sandisk 16GB(인식 14GB)이다. 파티션은 1개 뿐 
    • 0x01CA3000 * 512(sector size) = 15,374,221,312 / 1024 / 1024 / 1024 = 14GB
    • MBR에서 파티션 테이블이 인식할 수 있는 최대 크기는 2TB이다.
      • 초과할 경우 나머지를 쓰지 못하거나 할당되지 않은 것으로 나온다. GPT는 9.4ZB이다.

Size in Sector 예제

추가적으로 파티션이 4개가 아니라 더 많아지면 EBR이라는 개념을 통해 관리된다.

MBR 복원 및 EBR 개념추가 필요

 

참고

http://forensic-proof.com/

 

 

반응형