본문 바로가기

Forensic/기초

디스크 복구 - 다중 파티션 이해

※아래의 내용은 Startup 디스크 포렌식 (이별 지음)을 공부하며 남긴 기록이다.

 

이번에는 단일 파티션이 아닌 다중 파티션에 대해 알아보자. 파티션 테이블에는 총 4개의 파티션 정보가 저장된다고 했는데 4개가 아닌 여러개일 경우 어떻게 저장되는 걸까? 

다중 파티션 구조

다중 파티션일 경우 파티션 테이블 관리를 어떻게 할지에 대해서 알아보자. 

 

학습목표 : 다중 파티션의 구조 이해 

실습파일 : Ex_Partition.zip > Ex_Partition.001

실습도구 : FTK Imager, HexEditor

실습결과 : 다중 파티션의 구조와 파티션 테이블 이해 

 

파티션 테이블을 확인하는 것은 앞서 정리한 내용과 비슷하지만 문제는 파티션이 4개 이상일 경우이다. 

5개의 파티션 구성 정보

 

다중 파티션 MBR 정보 

5번째 파티션 정보는 어디에 저장될까? HxD로 확인해보면 마지막 4번째 파티션 정보에 파티션 타입을 나타내 주는 탑이 0x05로 표기된 것을 확인할 수 있는데 이는 확장 파티션을 나타내는 플래그 값이다.

 

확장 파티션의 시작 주소로 이동하게 되면 또 다른 MBR 구조를 볼 수 있다. 

확장 파티션의 시작 주소는 [80 B0 04 00]이다. 

[80 B0 04 00] = 307328 섹터

 

4번째 파티션 정보 

307328 섹터의 주소로 이동하게 되면  부트 코드 영역은 0으로 덮여 있고 파티션 테이블 정보에는 2개의 파티션 정보가 들어가 있을 확인 가능하다. 첫 번째 파티션 타입은 0x07  로 NTFS 로 확인 되지만 ,두 번째 파티션의 타입은 0x05로 나타난다. 즉, 마지막 파티션에 대해서는 확장 파티션이 생성될 것으로 예측 가능하다. 

*서브 MBR로 활용되어 부트 코드 영역이 모두 0으로 덮어 씌워짐

 

또한 해당 MBR에서 4번째 파티션을 추적하기 위해서는 0번 섹터에 있는 파티션 테이블의 4번째 파티션 시작 위치에 있는 첫번째 파티션의 시작주소를 더해주저야 한다

4번째 파티션 시작 주소 =확장 파티션 주소 + 4번째 파티션 시작 위치에 있는 첫번째 파티션 시작 주소 

즉 ,307,328 + 80 00 00 00(128) 의 결과가 4번쨰 파티션 시작 주소가 된다. 

5번째 파티션도 308,328 + 80 90 01 00 (102,528) 의 주소로 이동하면 , 마지막 5번째 파티션 정보를 가지고 있는 서브 MBR을 만나게 된다.

 307,328 + 102,528 = 409,856 

5번째 파티션 정보 

5번째 파티션도 마찬가지로 시작 위치를 가기 위해서 409,856 + 첫번째 파티션 시작 주소 (80 00 00 00) (=128)을 더해주면 5번째 파티션의 BR을 확인 가능하다. 위의 그림은 5번째 파티션 정보를 가지고 있는 서브 MBR이다. 다중 파티션은 4번째 파티션부터 새로운 서브 MBR이 생성되어 BR 정보를 새로 구성하여 저장한다. 

 

 

다중 파티션 이해 

1. FTK 이미지로 손상된 이미지를 확인한다.

2. 손상된 이미지를 수정하기 위해 HxD로 이미지를 열어 확인한다.

3. 4번째 파티션 정보에 파티션 타입을 확인하면 0x05 확장 파티션임을 확인 가능하다.

4.확장 파티션의 시작 주소로 이동하겨 또 다른 MBR 구조를 확인 

6.확장 파티션 주소 + 4번째 파티션 시작 위치에 있는 첫번째 파티션 시작 주소

7.확장 파티션 주소 +  4번째 파티션 시작 위치에 있는 두번째 파티션 시작 주소

 

 

느낌점은 계산하기 머리아프다.. 하다 보면 되겠지 뭐..