• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    해결됨

질문입니다!

23.10.28 18:35 작성 조회수 340

1

안녕하세요! 질문이 있습니다!(우선 1~3번 질문의 경우 너무 기초적인 질문이라 죄송하다는 말씀드리며 시작합니다) 
  1. 순서관련
증거물이 담긴 USB를 연결하기 전 무결성 유지를 위해 '쓰기방지', '자동실행 OFF' 등을 먼저한 후증거물 USB를 연결하고 이미징 작업 진행, 이미징 작업 완료 후 증거물 USB 제거 및 쓰기방지 해제.이 순서가 맞나요? 
  1. 이미징 할때 처음에는 E01 형식으로 이미징 하고 파티션 등 복구가 필요할 경우 다시 raw(dd) 형식으로 이미징하자고 하셨던 것 같은데
시간관계상 처음부터 E01 형식이 아닌 raw(dd) 형식으로 이미징하고 진행해도 크게 상관 없을까요? 
  1. 분석도구로(AUTOPSY) 분석할때는 어떤 형식의 이미징파일로 진행하는게 맞을까요?(강의에서 봤던것 같은데 기억이..죄송합니다) 
    4. 시험현장에서 Registry Viewer 혹은 레가를 이용하여 레지스트리를 수집하고자 할때 어떻게? 어떤 파일?을 오픈해야하나요?(질문이 광범위해서 죄송합니다)

    5. BCWIPE를 이용하여 삭제한 경우
    "BCWipe는 어떠한 데이터가 저장되었는지 알 수 없도록 하기 위해 MFT 영역의 Flag 및 Name을 변형하였다. NTFS 파일시스템에서 삭제된 파일의 Flag 값은 ‘0x0000’인데, BCWipe는 Flag 값을 ‘0x0200’(디렉터리 파일)으로 변경하였다. 삭제된 파일 Name의 경우 파일 Name 값에 ‘~BCWipe.tmp’값을 기록하였다. 때문에 Name 값 분석을 통해 BCWipe의 사용 여부를 알 수 있다."

    위 문장과 관련하여 혼자 연습해보는데 플레그 값의 위치는 어디인지.. Name 값은 어디있는지 찾을 수가 없더라구요.. 알려주실 수 있을까요?
     

답변 2

·

답변을 작성해보세요.

1

Jee님 혹시 이메일 받으셨을까요? 오늘 다시보내드렸는데 혹시라도 메일 또 못받으셨다면 제 메일로 다른 이메일주소한번 부탁드릴게요~

1

안녕하세요 Jee님!

질문순서대로 답변 드릴게요~

 

  1. 시험장에서의 순서관련

-네. 알고 계신순서가 맞습니다. 조금 더 자세하게 말씀을 드리면,
(무결성유지 단계부터 설명을 드리겠습니다.)

1) 쓰기방지 설정 : 레지스트리 또는 Encase FastBloc SE로 쓰기방지 설정

2) 자동실행 금지 설정 : 이 부분은 하지 않는다고 문제가 될 확률은 크게 없습니다. 다만 해주시면 더 좋겠죠?

3) 증거 USB 연결

4) 증거 USB의 이미지 생성(E01)

5) 생성한 이미지 파일을 FTK Imager에서 열어보고 파티션 복구가 필요한지 확인

5-1) 파티션 복구가 필요한 경우 아직 연결되어있는 증거 USB를 dd형식(001)으로 한번 더 이미징

6) 이미징이 완료되었다면 증거 USB 제거 후 쓰기방지 해제

7) 파티션 복구가 필요한 경, FTK Imager에서 확인한 정보와 HxD에서 MBR 및 BR 분석 정보를 바탕으로
파티션 복구

8) 파티션 복구 완료 후 Encase, Autopsy로 분석 시작 및 법이론 문제와 이론적인 문제 작성 시작

9) Encase, Autopsy에서 분석이 완료되면 쉽게 풀수 있는 문제(특정 파일의 정보 확인 등)를 먼저 해결
- 문제와 관련된 부분 캡쳐도 동시에 진행
(당장 해당 문제의 보고서 작성이 어렵다면 우선 캡쳐한 내용을 한글 파일등에 붙여만 놓고 나중에 정리)

10) 시나리오와 관련된 부분은 찾아야할 증거를 간략하게 정리 후에 증거 탐색
- 의심되는 파일을 찾을때마다 메모장 등에 해당파일에 대한 정보(파일명, 위치, 해당 의심파일이 어떤 내용과
연결되는지 등)를 간략하게 기록해서 보고서 작성시 정리된 상태로 한 번에 작성하기 위함
- 캡쳐
- 의심파일은 관련 문제 폴더에 추출.(최종적으로 보고서 작성시에 한 번에 추출해도 무관하나 혹시라도
놓칠수 있기때문에 이 부분은 개인의 판단하에 결정)

11) 보고서 작성
- 탐색하면서 확인한 정보를 바탕으로 문제에 대한 풀이과정과 그에 대한 증거를 논리적으로 정리
12) 보고서, 추출한 증거파일들, 이미지파일(최초 생성한 E01파일)등을 제출용 USB에 복사

13) 제출 및 시험 종료

* 무결성 유지 단계 이전의 전체적인 과정은 교재(autopsy기준) P32부터 참고해주세요~

 

  1. 증거 USB의 이미지생성시의 포맷

단순히 분석을 위해서라면 말씀하신대로 포맷은 (e01 or DD) 크게 중요하지 않습니다.
(물론 BR 복구는 DD로만 가능한건 논외로 하고요)
제가 e01을 먼저 생성하시라고 말씀드리는 이유는, 답안 제출과 관련이 있습니다.
최근에는 작성한 보고서나 증거파일, 이미지파일 등을 제출용 USB에 복사후에 답안 제출을 하는 것으로 알고 있는데, 제가 시험을 봤을때만해도 DVD에 복사해서(DVD를 구워서) 제출을 했거든요.

그러다보니 용량문제(DD 이미지는 USB용량과 동일하다고 생각해도 되기때문에 DVD에 다 담을수가 없었죠)
때문에 제출을 위해서는 어쩔수없이 e01 파일을 제출할 수 밖에 없었습니다.

물론 이제는 USB에 담아서 제출을 하기때문에(제출용 USB의 용량이 어느정도 알지는 못합니다만)
DD 이미지를 복사해서 제출을 할 수도 있겠지만, USB에 복사가 가능하더라도 복사하는 시간도 그만큼 오래걸리겠죠.

또 이미지파일(e01이든 DD든) 제출을 안 한 경우도 있다보니 반드시 e01을 최초 생성을 해야할 이유가 약해진것도 사실입니다.
그러다보니 현재시점에서 이 문제는 이렇게 하는게 정석이다라고 말하기는 어렵고, 개인의 선택이라고 보셔도 무방할것 같습니다.

그럼에도 제가 e01을 먼저 생성하시라고 권해드리는건, 강의가 입문자를 위한 강의이다보니 선택을 하는게 어려우신 분들이 있을수 있거든요. 각각의 선택지에 대해서 장단점이 명확히 보이지 않다보니 그것 자체로 고민하시는 분들이 계셔서 하나의 가이드를 드린다고 생각해주시면 좋을 것 같습니다.

다만 시험의 형태가 일관적이지 않고 매회마다 계속 바뀌다보니 언제 또 이미지 파일을 제출해야할지 모르기때문에 되도록이면 e01파일로 최초 생성을 하시고, 파티션 복구가 필요하다면 dd로 재생성한다라고 생각을 해주시면 좋겠습니다.

중요한 건 이미지를 제출하라고 했을 경우에, 어떤 포맷(e01 or dd)으로 이미지를 생성하셨는지와 상관없이 파티션 복구 등을 시도하지 않은 최초 생성한 이미지를 제출해 주셔야 합니다!

 

  1. Autopsy 사용시의 이미지파일 포맷

어떤 포맷이든(e01 or dd) 상관없습니다. 생성하신 이미지 그대로 사용하시면 됩니다 :)

 

  1. 레지스트리 파일 수집 및 분석

레지스트리 분석을 위해서 Rega라는 프로그램을 안내해드렸는데요, 이 프로그램에서 분석을 하기 위해서는
레지스트리 파일이 필요합니다.
증거 USB에 윈도우즈가 설치된 흔적이 있다면 이 레지스트리 파일을 추출을 할 수가 있습니다.
(다시 얘기하면, 윈도우즈가 설치가 안됐다면 레지스트리 분석을 할 필요가 없겠죠)

추출해야하는 파일과, 해당 파일의 위치에 대해서는

강의 영상 [섹션 10. 정보확인방법] - [[Autopsy]정보확인법 6] (5분 54초부터)을 참고해주세요~

 

  1. BCWIPE를 이용하여 삭제한 파일의 흔적을 MFT에서 확인하는 방법

답변을 드리기 앞서서, 이 부분은 입문 수준을 많이 벗어나는 파트입니다. 입문-초급-중급-고급으로 과정이
나뉜다고 하면, 중급이상이라고 생각을 하셔야할 것 같아요.
난이도가 있는 파트이다보니 2급시험에서 출제가 될 확률은 매우 낮다고 생각을 해서 강의 내용에 포함을
하지 않았습니다. (요즘 계속 드리는 말씀이지만, 20회 시험의 경우 때문에 확신이 줄긴 했습니다만...)
제대로 하자면 최소 강의 한 편 분량은 되기때문에, 자세한 설명은 드리기 어렵지만 궁금해하시는 부분만
간략하게(그래도 조금 길긴합니다;) 말씀드릴게요~

우선 설명드리기 전에 이해를 돕기 위해서 기본적인 몇 가지만 말씀을 드리면요,

1)BC Wipe : 삭제하려는 파일이 저장되어있던 섹터에 임의의 값을 집어넣어 복구가 불가능하게 삭제하는
프로그램입니다.

2) MFT(Master File Table)
- NTFS 파일 시스템에서 볼륨에 존재하는 모든 파일과 디렉토리(폴더)에 대한 정보를 담고 있는 테이블
- 파일과 디렉토리가 삭제 등 변경될 경우 기록되어지는 곳

3) 윈도우즈에서 파일을 삭제할 경우,
① 파일이 휴지통에 들어간 경우
② 휴지통에 있던 파일을 삭제할 경우(휴지통을 비울경우)
③ 휴지통을 거치지 않고 강제로 바로 삭제할 경우(Shift를 누른상태에서 파일 삭제)
④ BC Wipe를 이용해서 삭제할 경우
위 ①~④의 상황에 따라 MFT에 기록되는 내용이 달라지게 됩니다!

4) MFT는 파일로 관리가 되는데, 3)의 변화를 확인하기 위해서는 $MFT 파일을 HxD 확인
- $MFT는 볼륨의 루트에 위치하는데, 탐색기로는 보이지 않으며, 볼륨을 이미징 해서 FTK Imager등으로
열어보면 $MFT 등 관련 파일 확인가능

5) 파일이 삭제되어 휴지통에 들어가면 Windows에서는 이 파일을 관리하기 위해서

  • $I 로 시작하는 파일과 $R로 시작하는 파일로 나누어서 관리를 하게 되며 각각의 파일의 확장자는 삭제된
    원본파일의 확장자와 동일.(예: 삭제된원본파일명 forensic.txt > $I0ABCDEF / $R0ABCDEF)

  • $I~ 파일 : 삭제된 파일에 대한 원래의 이름을 포함한 저장경로, 삭제된 일시 등의 정보 포함
    $R~ 파일 : 실제로 삭제된 파일

     

     

     

     

    6) MFT는 하나의 파일이나 디렉토리에 대한 정보를 담기 위해서 1024bytes로 고정된 MFT Entry가 있습니다
    (파일이 1개라면, 각각의 파일에 대한 정보를 담기 위한 MFT Entry가 10개 존재)

     

     

     

     

    7) 각각의 MFT Entry는 시작점에 'FILE'이라는 시그니처를 갖는데

     

     

    8) $MFT 파일을 Hxd에 불러온 뒤, 스크롤을 내리면서 문자열을 확인하거나 찾기(Ctrl+F)로 특정 문자열을
    입력하여 검색

     할 수 있습니다.

    image

    설명 드리기 위해서 제가 임의로 100MB NTFS 파일시스템 볼륨을 하나 만들어서 미리 생성해놓은
    4개의 텍스트(.txt)파일을 새로만든 볼륨에 복사한 뒤 방법을 달리해서 삭제 해봤습니다.

  • filedelete_test.txt - BC Wipe를 이용해서 삭제

  • recycle1.txt - 일반삭제(휴지통으로 들어간 경우)

  • recycle2.txt - 일반삭제 후(휴지통에 들어간 상태) 휴지통에서 완전히 삭제(휴지통 비우는 방법 등)

  • recycle3.txt - 파일 삭제전에 Shift를 누른 상태에서 파일삭제(휴지통을 거치지 않고 바로 삭제)

     

     

     

     

    위의 4가지 방법으로 각각 삭제를 했을때, MFT에서는 어떻게 나오는지 확인을 해보면,

     

     

 

  • recycle1.txt - 일반삭제(휴지통으로 들어간 경우)

     

    [MFT Entry1]

    image[MFT Entry2]

    imagerecycle1.txt 파일을 삭제하여 휴지통에 들어가게 되면 이 파일은 $R6S1SBC.txt 와 $I6S1SBC.txt 로 관리가 되며

     

    각각 MFT Entry를 갖습니다.

     

    $R6S1SBC.txt 파일은 원본이었던 recycle1.txt 파일을 의미하고
    $I6S1SBC.txt는 휴지통에 들어간 파일이 휴지통에 들어가기 전 저장위치와 파일명의 정보를 담고 있습니다.

    위 그림에서 두번째 줄에 0x 01 00으로 빨간 박스가 쳐진 부분이 각각의 MFT Entry의 헤더 중 'Flags'에 해당하는 부분으로 해당 파일이나 폴더의 상태를 뜻합니다.

  • 0x 00 00 : 삭제된 파일

  • 0x 01 00 : 할당된 파일(삭제되지않은 일반상태)

  • 0x 02 00 : 삭제된 폴더

  • 0x 03 00 : 할당된 폴더(삭제되지않은 일반상태)

이 MFT Entry의 Flags을 보면 0x 01 00 이므로 할당된 파일 상태인것을 확인할 수 있습니다.
> 휴지통에 들어간 것은 삭제하려고 '분류'만 해놓았을뿐 실제로 삭제된건 아니기때문 !

 

  • recycle2.txt - 일반삭제 후(휴지통에 들어간 상태) 휴지통에서 완전히 삭제(휴지통 비우는 방법 등)

     

    [MFT Entry3]

image[MFT Entry4]

imagerecycle2.txt 파일을 삭제해서 휴지통에 들어간 뒤, 휴지통 비우기나 휴지통 내에서 recycle2.txt파일을 클릭하여 완전삭제를 하게 되면 이미 휴지통에 들어갔을때부터 $I4J0X6O.txt와 $R4J0X6O.txt로 나뉘어서 관리가 되며, 완전히 삭제된 후라면 MFT 엔트리 헤더의 Flags의 값이 0x 00 00 으로 변하게 되어 '삭제된 파일'임을 알 수 있습니다.

 

  • recycle3.txt - 파일 삭제전에 Shift를 누른 상태에서 파일삭제(휴지통을 거치지 않고 바로 삭제)

     

    [MFT Entry5]

imagerecycle5.txt를 Shfit+삭제를 하게되면 휴지통을 거치지 않고 바로 완전삭제 되기때문에 $I 파일과 $R파일로 관리되지 않으며, 이 경우 MFT Entry의 헤더 Flags을 확인하면 0x 00 00 으로 '삭제된 파일'임을 확인할 수 있습니다.

 

  • filedelete_test.txt - BC Wipe를 이용해서 삭제

     

    [MFT Entry6]

     

    imagefiledelete_test.txt 파일을 BC Wipe 프로그램을 이용해서 삭제를 한 경우, Shift+삭제와 마찬가지로 휴지통에 들어가지 않고 삭제가 되어서 $I와 $R파일로 관리 되지 않으며, MFT Entry 헤더의 Flags 값은 0x 02 00 으로 '삭제된 폴더'로 표시 됩니다. 또한 Shift+삭제한 파일의 MFT Entry에서는 삭제된 파일명을 확인할 수 있었으나 BC Wipe로 삭제한 경우 삭제된 파일명을 확인할 수 있던 부분에 'BCWipe.tmp'라는 내용을 보여줌으로써 삭제된 파일명을 확인할 수 없습니다.

이해 되실까요? 조금 어렵죠? 최대한 간단히 쓴다고 쓴건데 그래도 꽤 기네요 ;

도움이 되셨으면 합니다~

그리고 기초적인 질문도 괜찮습니다. 입문자를 위한 강의이니 절대 부담갖지 말고 질문주세요 :)

Jee님의 프로필

Jee

질문자

2023.10.29

답변 너무 감사합니다.

 

4번 질문관련해서 강의에서 윈도우 설치 정보 얻는 정도로만 생각을 했어서 생각을 넓히지 못했었습니다 ㅎㅎ

레지스트리를 분석하기 위해서는 SYSTEM, SOFTWARE, SECURITY, SAM, NTUSER.DAT, UsrClass.dat의 파일을 추출하여 분석기에 넣고 돌리면 된다는 것을 다시 깨달았습니다.

 

5번 질문관련해서 질문 드린 의도는 문제로 나왔을 경우 '어떠한 분석 화면과 어떠한 파일들로 BC WIPE를 사용했다! 라는 BC WIPE 사용 흔적을 찾아 제출하는 정도'의 수준에서 질문드렸던겁니다! 근데 그 이상을 설명해주시니 감사할따름입니다.

 

항상 자세하고 친절하고 신속하게 답변해 주셔서 너무 감사합니다!