2025. 1. 21. 22:56ㆍSTUDY/forensics
다중 파티션 구조 실습
이번 실습은 앞서 진행했던 단일 파티션이 아닌 다중 파티션입니다.
Partition Table에는 부팅에 필요한 정보가 있는 파티션으로 점프시켜 주기 위한 정보를 가지고 있다.
총 4개의 파티션 정보를 저장할 수 있고,
각각의 파티션 정보는 16byte로 이뤄져 있다.
Partition Table 구조는 아래의 표와 같습니다.
범위 (byte range) | 설명 | |
10진수 | 16진수 | |
0 - 445 | 0x0000 - 0x01BD | Boot code |
446 - 461 | 0x01BE - 0x01CD | Partition Table entry #1 |
462 - 477 | 0x01CE - 0x01DD | Partition Table entry #2 |
478 - 493 | 0x01DE - 0x01ED | Partition Table entry #3 |
494 - 503 | 0x01EE - 0x01FD | Partition Table entry #4 |
510 - 511 | 0x01FE - 0x01FF | Signature (0x55AA) |
실습 파일을 FTK Imager 도구를 사용해 확인합니다.
해당 파일은 총 5개의 파티션을 가지고 있는 것을 알 수 있습니다.
HxD 에디터 도구로 확인하면 4개의 파티션이 있습니다.
노란색 파티션은 4번째 파티션이며,
File System Type을 알려주는 곳은 0x05 값을 가집니다.
File System Type의 0x05 값은 확장 파티션을 나타내는 플래그 값이다.
즉, 파티션 시작 주소를 알리는 0x0004B080 값은 확장 파티션의 시작주소가 됩니다.
80 B0 04 00을 10진수로 변환하면 307328입니다.
sector 307328번으로 이동합니다.
해당 섹터의 Boot code영역은 모두 0으로 덮여 있고,
서브 MBR로 활용되기 때문에 Boot code 영역이 모두 0으로 덮여 쓰인다.
Partition Table 정보에는 2개의 파티션 정보가 들어가 있음을 확인할 수 있습니다.
해당 섹터의 Patition Table 정보를 분석합니다.
첫번째 파티션 타입은 0x07로 NTFS로 확인하였고,
두번째 파티션 타입은 0x05인 걸로 보아 확장 파티션이 생성될 것으로 예측할 수 있습니다.
해당 MBR에서 파티션을 추적하기 위해서는
0번 섹터에 있는 파티션 테이블의 시작위치에 확장 파티션에 있는 파티션의 시작주소를 더해 주어야 합니다.
즉, 첫번째 파티션은 307328 + 0x80 = 307456
두번째 파티션은 307328 + 0x019080 = 409856
각 주소로 이동하면 서브 MBR을 확인할 수 있습니다.
확장 파티션이 생성될 것으로 예측할 수 있었던 노란색 파티션의 시작 위치로 이동합니다.
이렇게 다중 파티션은 4번째 파티션부터 새로운 서브 MBR이 생성되어 BR 정보를 새로 구성하여 저장하게 됩니다.
'STUDY > forensics' 카테고리의 다른 글
메모리 포렌식 (0) | 2025.02.26 |
---|---|
[forensics] NTFS 파티션 복구 실습 - FTK / HxD (0) | 2025.01.21 |
[forensics] FAT32 파티션 복구 실습 - FTK / HxD (0) | 2025.01.21 |