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

yangcm23님의 프로필 이미지
yangcm23

작성한 질문수

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

[공통]HxD를 이용한 파티션 복구

파티션 복구관련

해결된 질문

작성

·

146

0

별도로 파티션 복구 실습을 위해 제가 가지고 있는 USB 를 E01으로 이미징하여 (FTK Imager사용)

해당 이미지 파일을 FTK Imager와 HxD로 헥사값을 비교 해보았으나,

두 프로그램에서의 데이터가 틀린값이 나오는데 왜그런건가요 ??

FTK Imager에서 NTFS 구조가 보이는 반면 HxD 로 보면 이상한 값이 현출되어 멘붕왔습니다. 무엇을 잘못한걸까요?

이미지1.png

위는 FTK Imager로 보았을때 .

아래는 HxD 로 보았을때

이미지2.png.webp

추가적으로 동일 USB를 DD 파일로 이미징 해보았으나

이값 또한 전혀 다른 이상한 값이 현출됩니다..

DD이미지.png.webp

 

정리하자면,

① 동일 USB 이미징 파일(E01)이 왜 두 프로그램에서 이상한 값이 현출되는지 ?

② 동일 USB로 DD 파일로 이미징 하였을때 E01 이미징한 파일과 왜 값이 틀려지는지 ?

실제 시험장에서 이러면,,,,상당히 당황스러울껏같습니다..

답변 5

0

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

메일 보냈습니다~

 

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

메일 한번 확인 부탁드릴게요~

0

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

질문이 강사님과 자꾸 교차되네요;;;

 

강사님 글 보고 차이점을 알겠습니다.

 

그렇다면 DD 파일을 Hxd 를 이용하여 MBR이 없는 NTFS나 FAT32의 부트레코드를 다이렉트로 찾는 방법이 어떤게 있을까요 ?

 

교재에서처럼 128번섹터나 129번 섹터에 가도 찾을수가없습니다....ㅠ.ㅜ 헥사 프로그램 이용해서 검색으로 찾으니...너무 오래걸리고...32번 섹터에서 찾긴했는데

다이렉트로 찾는방법이 있을까요.?

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

yangcm23님~

괜찮으시면 nstyxn@gmail.com 로 메일 한번만 주시겠어요?

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

우선 e01 파일과 dd(.001)의 차이는 확실히 이해하신거죠?

그 차이로 인해서 HxD에서 봤을때 압축안된 파일(001)과 압축된 파일(e01)이 어떻게 달라보이는지도 이해되셨고요?

(아직 확실히 이해 못하셨다면 말씀해주세요!)

그 부분은 우선 이해하셨다고 가정하고, 다음질문에 대한 답변 드릴게요.

 

질문주신내용이

그렇다면 DD 파일을 Hxd 를 이용하여 MBR이 없는 NTFS나 FAT32의 부트레코드를 다이렉트로 찾는 방법이 어떤게 있을까요 ?

교재에서처럼 128번섹터나 129번 섹터에 가도 찾을수가없습니다....ㅠ.ㅜ 헥사 프로그램 이용해서 검색으로 찾으니...너무 오래걸리고...32번 섹터에서 찾긴했는데

다이렉트로 찾는방법이 있을까요.?

 

우선 이부분도 먼저 이해가 필요한 부분이 있어서 그 부분 부터 설명을 드릴게요.

1. MBR이 있는 경우

 - 보통 파티션이 여러개인 경우 MBR이 있습니다. 파티션이 여러개이니 MBR의 파티션 테이블에서 각각의 파티션의 정보를 담고 길 안내를 해준다고 생각해주세요.

 - MBR이 있는 경우 순서를 보면(0번섹터부터 뒤로 가는 순서)

   MBR - [1번파티션 BR] -[2번파티션 BR] ~ 순으로 기록이 되고요

   그렇다보니 0번섹터에는 MBR이 와야합니다 !

   

2. MBR이 없는 경우

  - 단일 파티션일 경우 입니다.

  - MBR이 없는 경우 순서는(0번섹터부터 뒤로 가는 순서)

    [1번파티션 BR]  ~ 순이며

    이 경우 0번섹터에는 첫번째 파티션의 BR이 와야합니다.

 * MBR이 있는 경우의 0번섹터는 MBR! /  MBR이 없는 경우에는 특정 파티션의 BR 이 0번섹터에 와야합니다.

   다시 말해서 MBR의 유무와 상관없이 0번섹터에는 무조건 MBR 아니면 특정 파티션의 BR이 와야합니다!!

다시 질문주신 내용으로 돌아가서,

교재에서처럼 128번섹터나 129번 섹터에 가도 찾을수가없습니다

이 말씀이 조금 헷갈리긴 하는데, 제가 올려드린 연습용 이미지가 아니라, 가지고 계신 USB를 이미징한 후에 HxD로 보신걸 말씀하시는걸까요?

제가 올려드린 연습용 이미지는 MBR 있었던것으로 기억을 합니다. 그래서 교재에도 0번섹터의 MBR에서 파티션 테이블을 확인해서 각각의 파티션의 시작섹터를 찾아 들어가는 방법을 말씀드렸던것 같아요.

만약 가지고 계신 USB로 연습을 하신 경우에 대해서 말씀을 하신거라면, 당연히 교재에 있는것과는 다른 결과가 나올겁니다!

BR이라는 것이 각각의 파티션의 첫번째 섹터에 위치하기때문에 BR섹터의 번호는 절대적인게 아닙니다.

예를 들어서 섹터 1개당 1MB이고, USB의 총 크기가 100MB라고 가정해볼게요.

단일 파티션인 경우 0번섹터에 BR이 있기때문에 이 경우에는 0번섹터에 BR이 있을거예요.

만약 2개의 파티션으로 나눠놓았고, 1번 파티션 40MB, 2번 파티션 40MB 이렇게 되어있다면

우선 다중파티션이기때문에 0번섹터에는 MBR이 있을 겁니다.

그리고 0번을 포함해서 몇개의 섹터가 차지하고 있을텐데

MBR을 포함해서 관련 섹터가 10개라고 가정해볼게요. 

그러면 10개의 섹터가 끝나면 이제야 파티션이 자리하게 되는데 먼저 1번 파티션이 시작이 됩니다.

그렇게 되면 

0번섹터 : MBR

1번~9번섹터 : 관련 섹터

10~49번섹터 : 1번 파티션(10번섹터는 1번파티션의 BR)

50번~99번섹터 : 2번 파티션(50번 섹터는 2번 파티션의 BR)

이렇게 구성이 됩니다.

 

만약 1번 파티션이 10MB, 2번 파티션 10MB 그리고 나머지는 비어있는 공간일 경우에는

0번섹터 : MBR

1번~9번섹터 : 관련 섹터

10~19번섹터 : 1번 파티션(10번섹터는 1번파티션의 BR)

20번~39번섹터 : 2번 파티션(20번 섹터는 2번 파티션의 BR)

이렇게 2번 파티션의 BR의 위치가 달라지는게 보이시죠?

이런것처럼 BR은 각각의 파티션의 첫번째 섹터일뿐이지 디스크 구성에 따라서 절대적인 위치(섹터번호)는 변할수밖에 없습니다.

아마 교재에서 BR이 128번이라고 나온것은 그 예제 이미지의 경우를 이야기 한 것일뿐,

다 다르다는걸 기억해주세요!!!

 

정리해볼게요.

1. 0번섹터에는 MBR이 오거나, 아니면 특정 파티션의 시작인 BR이 와야합니다!

2. 0번섹터를 보고 이게 MBR인지, BR인지 구분을 하는 연습을 하셔야하며, 

    지금처럼 아직은 익숙치 않아서 직관적으로 보이지 않는게 당연할때는, 가정을 해보고 단계별로 확인을 해보세요.

   1) MBR로 가정한 경우 

       - 0번 섹터 끝부분에 파티션 테이블처럼 보이는게 있는지 확인하고 그 파티션 테이블의 정보를 바탕으로 각각의 파티션 시작섹터를 확인해서 이동한 후

          파티션의 BR이 맞는경우에는 0번섹터는 MBR

        - 파티션의 시작섹터로 갔으나 값이 00으로 가득차 있거나, BR로 볼수없는 상황이라면 그 BR이 훼손된건 아닌지 의심해보고

          그 경우 확인을 위해서 해당 파티션의 파일시스템에 맞게(FAT32, NTFS, exFAT) 백업본이 저장되는 섹터를 찾아서 그 위치에 BR의 백업이 있는지 확인

          > 있다면, BR로 보였던 섹터는 훼손된것이고, 그 파티션의 BR이 맞으며, 0번섹터는 MBR

    2) BR로 가정한 경우

       - MBR이 없는 경우 0번 섹터는 파티션의 시작인 BR이 와야하는데, 훼손된 것으로 보일경우 해당 파티션의 BR 백업 섹터를 찾아야하는데

         이 경우 해당 파티션의 파일시스템(FAT32,NTFS,exFAT)에 따라서 차이가 있습니다.

         FAT32의 백업 : BR섹터 + 6번 섹터에 위치 / NTFS : 해당 파티션의 마지막 섹터에 위치(이건 총 섹터수를 확인후 계산을 해야하는데, MBR이 없는 경우 문자열 검색을 통해서 수동으로 해야합니다) / exFAT : BR섹터 + 12번 섹터에 위치

        - 0번섹터가 BR이라고 가정했을경우, 다음 섹터인 1번섹터를 보고 문자열에 우리가 알만한 특이한 내용이 있는지(RRaA 또는 BOOTMGR)

          확인

  이런 과정들을 거쳐서 0번섹터가 MBR인지 BR인지를 확인해야합니다!

처음에는 매우 헷갈리는 부분들이고 연습을 수차례 하셔야 내 것이 되는 부분이예요. 익숙해지면 정말 기계적으로 아무생각없이 바로 해결할수있는 부분이 되기도 하고요.

우선은 MBR과 각 파일시스템의 BR 구조, 그리고 BR복구에 대한 강의를 이해가 되실때까지 반복하시면서 연습해보시고, 추가로 가지고 계신 USB 등으로도 어떻게 다르게 나오는지를 계속 연습해보세요

분명 어느순간 아! 하고 이해가 되실거예요~

강의에 다 나오는 얘기긴하지만 최근에 질문주신 분이 계셔서 올렸던 답변인데, 조금 간결히 보실수 있는 각 파일시스템 BR을 확인하는 방법에 대한 게시물 링크를 함께 올려드리니 참고해주세요

https://www.inflearn.com/community/questions/1415700/mbr-br-%EA%B5%AC%EB%B6%84-%EB%B0%A9%EB%B2%95-%EB%AC%B8%EC%9D%98%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

0

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

.....이해가 안됩니다...구조를 해석하여 보여주는게 Tree view 같은 기능정보 아닌가요??

다른 프로그램에서의 동일 이미지파일의 헥사 값을 보여주는 기능은 동일한거 아닌가요?

만약 답변처럼 포멧이나 접근방식의 차이라고 하면 강의용 샘플 이미지도 그렇게 보여져야 되는거 아닌가 싶습니다.

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

yangcm23님~

DD 파일과 e01파일의 차이점과 각각의 파일이 HxD에서 확인시에 다르게 나온다는점은 이해가 되셨을까요?

그 부분이 이해가 되셨다면, HxD에서 보이는 내용이 정상(?)입니다!
하지만 FTK Imager에서는 HxD에서처럼 보여야 하는데도 불구하고 DD파일을 보는것처럼 편하게 원래의 구조로 변환해서 보여주는 기능이 있다고 생각을 하셔야할것 같아요.

 

강의용 샘플이미지도 그렇게 보여져야하는게 아니냐고 말씀해주셨는데요,
그 말씀은 강의용 샘플이미지(e01인 경우) hxd에서 봤을때와 FTK Imager에서 봤을때 다르게 나와야하는데 같은 화면이 나온다는 말씀이실까요? 제가 질문의 뜻을 정확히는 이해를 못한것 같은데, 동일한 파일을 가지고 설명드리는게 이해하시는데 도움이 될것 같습니다.
말씀하신 강의용 샘플이 어떤 강의의 수업자료(첨부파일)인지(섹션 번호와 강의영상 제목),
그리고 첨부파일이 여러개일경우 말씀하셨던 특정한 파일명을 말씀해주시면 그 파일로 비교해서 답변을 드릴게요~

0

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

안녕하세요 yangcm23님!

FTK Imager와 HxD에서 같은 파일이 다르게 보이는 이유는
HxD에서는 있는 그대로, FTK Imager에서는 선택한 파티션의 섹터의 구조를 파악해서 보여줌으로써, 보여주는 방식이 다르기때문입니다.

우선 이 상황을 이해하려면 DD 파일과 E01파일의 차이를 이해하셔야합니다.
DD파일(raw) : 날것이라는 의미의 Raw 파일로 있는 그대로 이미징하는 방식
E01파일 : 원본을 압축해서 용량을 줄여서 이미징하는 방식
쉽게 말해서 압축을 했느냐, 안했느냐의 차이입니다.

E01의 경우 압축을 하기때문에 우리가 알고 있는 기존의 구조로 보여지지가 않습니다.
그래서 HxD에서 e01 파일을 열어보면 우리가 배웠던 구조가 아닌 알수없는 내용들만 확인이 가능한데,
동일한 e01을 FTK Imager에서 봤을때는 FTK Imager 왼쪽 상단의 에비던스 트리에서 어떤 부분을 선택했는지(파티션 등)와 선택한 파티션에 대한 정보를 E01파일이라고해도 다시 풀어서 우리가 알아볼수 있는 구조로 표현을 해주는 기능이 있습니다.
말로만 설명드리면 헷갈리실테니 yangcm23님이 하신것처럼 예제 파일을 보면서 설명해드릴게요.

우선 파티션이 2개로 나눠져있는 가상디스크를 FTK Imager를 이용해서 각각 DD(.001)파일과 E01(.e01) 파일로 이미징을 했습니다.

먼저 .e01 파일을 HxD에서 열어봤을때는 아래와 같은 화면이 나옵니다.

image.png

0번섹터의 문자열 시작부분을 보시면 'EVF'라는 문자열이 보이시죠?
이 문자열이 의미하는건 e01파일로 압축되어 이미징된 파일이라는 의미입니다.
저 내용이 보인다면 e01 파일이고, 압축이 되었기때문에 우리가 기대했던 구조를 확인이 어렵다는것을 뜻합니다.

동일한 e01 파일을 FTK Imager에서 열어보면 아래와 같습니다.

image.png

우선 FTK Imager에서 확인하실때 주의하실점은 왼쪽 상단의 에비던스 트리에서 선택한 부분의 정보를
헥스뷰로 보여준다는 것입니다. 위의 이미지는 최상단의 test.e01 부분을 선택했을때 이며 이 경우
이미지파일의 맨 처음인 0번섹터 (위의 스샷에서 하단에 phy sec = 0 이 보이시죠? 0번섹터라는 의미입니다)를 보여주며, 스샷에서 확인할수 있는것은 0번섹터는 MBR로 보이며, 그렇기 때문에 0번섹터 끝에 55AA 라는 시그니처가 있고, 그 위로 16자리씩 4개의 파티션 테이블이 존재, 그 중 2개의 파티션 테이블이 있다는것을 확인할 수 있습니다.

e01파일은 압축을 했기때문에 우리가 알고 있는 그 형태로 보이지 않는다고 했는데 왜 FTK Imager에서는 다르게 보일까요? 이유는 FTK Imager에서 [우리를 위해서] 원래의 구조로 보여주기때문입니다.
e01이니 우리가 알아볼수없는 내용으로 보여야 정상인데, 나름 분석해서 보여준다고 이해하시면 될것 같아요.

에비던스트리에서 다른것을 선택해볼까요?
위 스샷에서 에비던스 트리의 Partition1[50MB]를 선택하면 위와는 또 다른 헥스뷰를 보여줍니다.

image.png

Partition 1을 선택하면 왼쪽 하단에 파티션 인포메이션에서 시작섹터가 128번임을 보여주고
우측 하단에는 Phy sec=128, 128번 섹터의 헥스값을 보여줍니다. 바로 위에서 test.E01 을 선택했을때와 다른 모습이죠? 선택한 파티션이 시작하는 섹터, 즉 해당 파티션의 BR로 바로 넘어가서 보여주는겁니다.

이처럼 FTK Imager에서는 나름 분석해서 우리가 보기 편하게 보여주는 기능이 있기때문에 e01이든 dd파일이든 원래의 구조를 확인할수 있습니다.
반면에 HxD에서는 그런 기능이 없기때문에 있는 그대로를 보여주게 되고요.

정리하자면,

  • DD는 원래의 구조를 그대로 이미징하는것 / e01은 압축해서 용량을 줄여서 이미징하는것. 단 압축을 하기때문에 우리가 알던 그 구조로 보이지 않으며, 0번섹터의 문자열 시작부분에 EVF라는 내용을 확인 가능

  • HxD에서는 그 파일을 있는 그대로 보여줌 / FTK Imager에서는 파일 형식이 무엇이든 조금은 분석해서 우리가 알아볼만한 구조로 바꿔서 보여줌

  • FTK Imager에서는 왼쪽 상단 에비던스 트리에서 선택한 것이 무엇이냐에 따라서 우측 하단의 헥스뷰에 보여주는 내용도 그에 맞게 바뀌어 보여줌

     

 

파티션 복구 강의에서 제가 말씀드렸던 부분 기억이 나실까요?
FTK Imager에서 확인하니 특정 파티션이 접근이 안되는 경우 파티션 복구를 해야하는데
이럴때는 e01파일로는 복구가 불가능하니(=압축되었기때문) 반드시 DD파일로 다시 한번 이미징을 한 후에 DD파일을 가지고 복구를 해야합니다!

또한, FTK Imager와 HxD는 성격이 약간 다른 프로그램입니다.
HxD는 해당 이미지를 섹터별로 보여주고, 수정이 가능하게끔 하는 프로그램이고
FTK Imager는 기본적인 분석을 해주면서 정보를 확인하는 프로그램인데,
파티션이 훼손되어 복구해야하는 상황이라면 FTK Imager에서 상태확인과 기타 도움이 될만한 정보들을 확인을 하고 그 내용을 바탕으로 HxD에서 이미지파일을 불러와 수정한다고 생각해주세요~(FTK Imager에서는 수정을 할수가없습니다~)

 

 






0

안녕하세요, 인프런 AI 인턴입니다. yangcm23님께서 문의하신 내용을 바탕으로 해결에 도움을 드리기 위해 답변을 드리겠습니다.

질문 주신 내용에서 FTK Imager와 HxD에서 동일한 USB 이미징(E01) 파일을 열 때 보이는 값이 다르다는 부분과, 동일 USB를 DD 파일로 이미징 했을 때도 기대하지 않는 값이 현출되는 상황을 겪으셨다고 하셨습니다. 이는 주로 몇 가지 원인에서 비롯될 수 있습니다.

① FTK Imager와 HxD에서 E01 파일의 값이 다른 이유

  • 파일 포맷의 차이: E01 파일은 EnCase 포렌식 이미지 파일 형식으로서, 파일에는 원본 데이터 외에도 메타데이터와 해시 정보 등이 포함되어 있습니다. FTK Imager에서는 이러한 데이터 구조를 해석하여 보여주지만, HxD에서는 그저 헥사 값으로만 표현됩니다. 이 때문에 E01 파일을 HxD로 볼 때 예상치 못한 데이터가 포함되어 보일 수 있습니다.
  • 해당 소프트웨어의 접근 방식 차이: FTK Imager는 포렌식 분석을 위해 설계된 도구로 데이터 구조에 기반한 해석을 제공합니다. 반면 HxD는 단순한 헥스 에디터이기 때문에 구조적 정보를 해석하지 않습니다.

② 동일 USB로 DD 파일로 이미징할 때의 차이

  • 이미지 파일 형태의 차이: DD 파일은 단순히 원본 디스크의 바이너리 데이터를 그대로 복제한 것입니다. 따라서 E01 파일과의 근본적인 차이는 E01 이미지가 추가적인 메타데이터를 포함하고 있다는 점입니다.
  • 실제 데이터 차이 여부 확인: FTK Imager나 HxD를 통해 DD 파일을 열 경우, 해당 툴들이 E01이나 DD의 특정 구조를 직접적으로 처리하지 않기 때문에, 다르게 해석될 수 있는 여지가 있습니다.

위의 정보들로 문제의 원인을 파악하는 데 도움이 되길 바랍니다. 추가적으로 포렌식 작업을 수행할 때는 사용된 소프트웨어의 이미지 파일 지원 형태와 결과 표현 방식을 정확히 이해하는 것이 중요합니다.

아래는 관련된 질문을 다룬 게시물입니다. 참고하셔서 문제 해결에 도움이 되기를 바랍니다:

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

yangcm23님의 프로필 이미지
yangcm23

작성한 질문수

질문하기