인프런 커뮤니티 질문&답변

leedidc님의 프로필 이미지
leedidc

작성한 질문수

디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)

파티션 복구와 관련하여 질문이 있습니다.

해결된 질문

작성

·

86

·

수정됨

2

선생님 안녕하세요.

 

항상 좋은 포렌식 강의를 찍어주셔서 정말 감사합니다.

 

다름이 아니고 파티션 복구와 관련한 질문이 있어서 질문 글을 남기게 되었습니다.

강의를 보면서 21회차 시험에 MBR대신 GPT로 출제가 되었다고 들었습니다.

만약 실제시험에서 GPT로 출제된 상태에서 파티션이 훼손된다면, 기존에 MBR에서 배웠던 대로 복구를 하면 되는 것일까요?

따로 개인적인 검색을 통해 찾아보긴 하였으나 GPT 파티션 복구에 대한 내용이 잘 이해가 되지 않아 고견을 여쭤보고 싶습니다.

바쁘신 와중에 죄송합니다.

 

다시 한번 좋은 강의를 찍어주셔서 감사합니다!

 

답변 2

0

nstyxn님의 프로필 이미지
nstyxn
지식공유자

안녕하세요 leedidc님!

1. 시험에서의 GPT 파티션 출제

네 맞습니다. 21회 시험과 22회 시험 모두 운영체제가 설치된 가상머신(.vmdk) 또는 노트북 이미징
파일은 GPT 파티션이었습니다. 다만 파티션을 훼손하는 등의 문제는 없었기때문에 GPT 파티션
복구에 대한 문제는 아직까지 나오진 않았습니다

2. GPT 파티션과 MBR 파티션의 복구가 동일한지
- 부분적으로만 동일합니다. 무슨 얘기인가 하실수 있을텐데, 훼손된 위치에 따라서 동일할수도, 다를수도 있습니다.
- MBR 파티션을 기준으로 말씀을 드린다면 훼손시킬수 있는, 즉 우리가 복구해야하는 곳은 크게 2곳으로 나눠볼수가 있습니다.

1) MBR 파티션

① (가장 흔하게 출제되는) BR(VBR)의 훼손
- MBR에서 파티션 테이블 확인 후 해당 볼륨의 시작섹터(BR)로 이동
> BR상태 확인후 복구가 필요한 경우 BR의 백업섹터를 찾아서 해당 내용을 복사후 BR에 덮어쓰기
하여 복구하는 방법
> MBR이 없는 단일 파티션이라면 바로 BR을 확인하여 위와 동일한 방법으로 복구
> 파티션 복구라면 적어도 지금까지는 이 방식으로만 출제가 됐습니다.

② MBR의 훼손(MBR이 있는 경우)
- MBR은 별도의 백업이 없기때문에 복구하기 위해서는 어떤 내용이 어떤 위치(오프셋)에 들어가는지
, 그 곳에 들어갈 내용은 어디에서 확인해야하는지를 정확히 알아야 복구 가능
- 주로 MBR의 파티션 테이블 훼손하는 경우를 생각해봐야하는데, 16바이트의 파티션 테이블 내용 중
(1/3/1/3/4/4) 훼손된 부분을 확인하고, 필요한 내용을 해당 볼륨(예: 첫번째 파티션 테이블의 볼륨)
을 직접 찾아서 내용 확인후(시작섹터 위치, 총섹터수 파티션의 파일시스템 등) 리틀 엔디언으로 변환
하여 맞게 넣어줘서 복구하는 방식
> 이렇게 하기 위해서는 MBR과 BR의 구조를 정확히 알고 있어야 하겠죠?
아무래도 난이도가 있다보니 아직까지는 출제가 되고 있진 않습니다.

위의 내용이 MBR파티션이 훼손됐을 경우 복구할 부분들을 간단히 본건데,
GPT파티션의 경우 총 4곳 정도를 생각해볼 수 있습니다.

 

2) GPT 파티션
① 각 볼륨의 BR(VBR) 훼손
- MBR 파티션에서 했던 방법과 동일합니다. 백업 BR을 찾아서 복사 후 덮어쓰기!

 

② GPT 헤더 훼손

-GPT 헤더의 백업이 볼륨의 마지막섹터에 위치하므로 복사 후 덮어쓰기 !
(경우에 따라서 마지막 섹터의 직전 섹터에 위치하기도 함)


③ 파티션 엔트리(Partition Entry) 훼손
- 여기서부터 MBR과는 달라지는 내용인데, MBR파티션의 0번섹터가 MBR이었죠?
그 끝부분에 4개의 파티션 테이블이 있었는데, GPT의 경우에는 2번 섹터부터 Partition Table이
있고 한 개의 섹터에 128Bytes씩 총 4개의 파티션 엔트리가 있습니다.(128*4=512Bytes
=섹터 1개)
파티션 엔트리는 각각의 볼륨(1번은 운영체체 설치한 NTFS 파티션, 2번은 데이터 저장용 FAT32
... ~)마다 존재하며 최대 128개의 파티션 엔트리를 갖는데, 섹터수로 따지면 최대 32개입니다.
(128/4=32)
- 이러한 파티션 엔트리가 훼손된 경우 MBR의 파티션 테이블 복구방법과 같이 파티션 엔트리에
훼손된 부분을 찾고 그 곳에 들어갈 정확한 값(시작 섹터 등)을 확인해서 수정해줘야합니다.
하지만 다행히도 GPT 파티션에서는 이러한 파티션 엔트리의 백업을 저장하고 있기때문에
백업 섹터를 찾아서 복사 > 덮어쓰기해주는 방식으로 복구가 가능합니다.

④ MBR(Protective MBR) 훼손
- 이름이 똑같이 MBR이죠? GPT 파티션에도 MBR이 있습니다.
호환을 위해서 0번섹터에 존재하게 되는데, 구조는 우리가 잘 알고 있는 MBR 파티션의 그 MBR과
동일합니다.
- MBR 파티션의 0번섹터인 MBR과 구조가 동일하다보니 파티션 테이블도 있는데,
각각의 파티션에 대한 실제 정보는 위의 [② 파티션 엔트리(Partition Entry) ]에서 담당을 하다보니
이곳에서는 GPT헤더로 넘겨주는(?) 역할만을 하게 되어 첫번째 파티션 테이블에 이러한 정보를
담아두고 있습니다.
- MBR의 파티션 테이블이 1/3/1/3/4/4 였는데, 구조와 순서는 동일하게 가지만 GPT파티션에서는
> 파일시스템(1/3/1/...) - EE (07:NTFS or exFAT 인것처럼 GPT 파티션의 고유값)
> 시작섹터(1/3/1/3/4/...) - 10진수 1(0x 01 00 00 00) > GPT 헤더인 1번섹터로 연결시키기위해서
> 총섹터수(1/3/1/3/4/4) - 0x FF FF FF FF
위와 같이 GPT 파티션임을 알리기 위한 값들이 들어가있습니다.
위의 3곳이 포인트이기때문에 만약 이 부분을 훼손할 경우 셋 중 하나, 또는 세개 모두를 수정해야한다고 생각하시면 될것 같습니다. (사실상 저부분은 찾는게 아니라 그냥 외우면 되는 부분이긴 하죠)

이런 이유때문에 훼손된 부분에 따라서 우리가 지금까지 배웠던 MBR 파티션의 복구 방법도 동일할수도, 전혀 다를수도 있다고 말씀을 드려야할 것 같아요.

 

이 내용이 이렇게 글로만 쭉 써놓으면 이해하기 정말 어려운 부분이라서 얼마나 도움이 되실지는 모르겠네요.
이 부분에 대해서 강의를 따로 준비할 계획은 있었으나 이번에 시간 내기가 너무 힘들어서 시나리오도 겨우 마무리한 상황이다보니 너무 늦게 올려드리면 오히려 부담을 드릴수 있어서 이번 시험 끝나고나서 준비하려고 했던 내용인데, 아직까지 시험에 나오지 않은 부분이어서(물론 문제로 나오기에는 좋긴 합니다) 애매하긴 하네요.

 

이렇게 글로만 답변을 드리는 것은 한계가 명확해서 지금이라도 영상을 촬영해서 시험 보기전에 확인하고 가시는게 좋을지, 아니면 지금 시점에서, 올려드리는 영상을 보시고 오히려 더 혼란만 생기는 건 아닌지 고민이 됩니다.(영상을 올린다면 영상의 길이가 짧지는 않을것 같거든요. 올려드려도 그걸 보실 시간이 되실지도 걱정이고요)

우선 오늘 저녁만 생각해보고 결정해서 내일까지는 최종 답변을 드리겠습니다 ㅜ_ㅜ


 

leedidc님의 프로필 이미지
leedidc
질문자

선생님 안녕하세요. 우선 정성스러운 답변을 내어주신 점에 진심으로 감사합니다.

 

말씀해 주신대로 MBR과 GPT 파티션의 복구 방식에는 일부 차이가 있는 것 같습니다.

아직 GPT 복구는 출제가 되지 않았으나 최근 포렌식 시험의 트렌드가 복잡해지는 것 같아 근심이 생겨

질문을 남겨드렸습니다 ㅠ.ㅠ

 

GPT 파티션 복구 과정을 글로 써주셨음에도 불구하고 제가 개인적으로 조사한 것보다 더 이해가 잘되는 것 같습니다!

물론 제가 직접 해보고 더 공부를 해봐야 알겠지만, 덕분에 어떻게 파티션을 복구할 수 있는지 윤곽을 잡을 수 있게 된 것 같습니다.

 

바쁘신 와중에도 친절하게 답변을 남겨주셔서 진심으로 감사합니다!

nstyxn님의 프로필 이미지
nstyxn
지식공유자

안녕하세요 leedidc 님!

GPT 파티션의 구조와 복구에 대한 영상을 방금 촬영완료했습니다. 이제 편집을 해야하는데 편집에 시간이 더 들어가는 편이라서;;; 목표는 오늘 저녁 늦게라도 올리려고 하는데 최대한 빠르게 해보고 업로드 후에 새소식으로 알려드릴게요~~

leedidc님의 프로필 이미지
leedidc
질문자

헉.. 정말 진심으로 감사드립니다.

위에 설명해주신 글을 보고나서 다시 차근히 공부해보니 글로 써주셨는데도 설명을 너무 잘해주셔서 조금씩 이해가 가고 있던 상황이었는데 영상까지 찍어주셔서 진심으로 감사드립니다...

본의 아니게 바쁘게 해드린 것 같아서 죄송합니다
제 질문에 정성스럽게 신경 써주셔서 정말 감사합니다!

nstyxn님의 프로필 이미지
nstyxn
지식공유자

이렇게 궁금한점을 조금 더 편하고 빠르게 해결하기 위해서 비싼 비용을 들여서 수강을 해주신건데, 절대 죄송하실 필요없습니다! 걱정마시고 언제든지 편하게 질문주세요~~ :)

leedidc님의 프로필 이미지
leedidc
질문자

친절하게 말씀해주셔서 정말 감사합니다.

올려주신 강의를 바탕으로 이번 시험 합격할 수 있도록 노력해보겠습니다!

좋은 강의를 찍어주시는 노고에 진심으로 감사드립니다!

0

안녕하세요, 인프런 AI 인턴입니다. leedidc님, 질문 주셔서 감사합니다!

GPT(Globally Unique Identifier Partition Table)의 복구는 MBR(Master Boot Record) 방식과 다소 다른 점이 있습니다. GPT는 최신 파티션 테이블 형식으로, MBR보다 확장성과 안정성이 뛰어나며, 백업 테이블을 활용할 수 있는 것이 특징입니다.

GPT 파티션 복구 개요

  1. Primary GPT Header 및 Partition Table: 디스크 시작 부분에 위치합니다. Disk에 처음 액세스했을 때 이를 통해 파티션 정보를 로드합니다.
  2. Secondary GPT Header 및 Partition Table: 디스크 끝에 위치하며, Primary 영역에 문제가 생긴 경우를 대비한 백업 역할을 합니다.

파티션 복구 과정

  1. gdisk 등 툴 사용: GPT는 gdisk 같은 여러 툴을 사용해 복구할 수 있습니다. 일부 툴은 파티션 테이블을 재구성할 수 있는 기능을 제공합니다.
  2. 백업 사용: Secondary GPT Header와 Partition Table을 이용해 Primary 영역 복구를 시도할 수 있습니다.
  3. Data Recovery Tools: 디스크의 기타 부분에서 데이터 검색 및 복구 시도.

실전에서의 팁

  • 시험에서 MBR을 GPT로 변환하여 출제되는 경우, 일반적으로는 백업된 GPT 정보를 이용해 복구합니다.
  • 기존 MBR 방법들과 비슷한 점도 있지만, 특히 GPT의 백업 기능을 활용하는 것이 핵심입니다.

제가 추천드릴 참고 자료:
- 파티션복구 질문있어요
- 질문입니다.

해당 링크에서 다양한 파티션 복구 관련 경험을 공유하고 있습니다. 이해를 돕기 위한 설명과 예시가 포함되어 있으니 참고하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

leedidc님의 프로필 이미지
leedidc

작성한 질문수

질문하기