3. 파일 분석 유형 연습

기본 개념 / 반복 연습용

최근 시험에서도 다양하게 안티포렌식 기법들을 하나의 파일에 여러개를 적용한 경우도 늘어나고 있으며, 분할 압축 관련한 문제도 출제되는 듯 합니다. 아래 연습을 통해 문제를 해결해보고, 여러분들이 문제를 직접 만드는 사람의 관전에서 이런 저런 시도를 하고, 다시 풀어보는 과정을 하다보면 많은 도움이 될 것입니다.

1. 주요 파일 분석 유형 풀어보기

항상 꾸준히 출제되는 주요 문제 유형을 간단히 연습해보도록 하겠습니다.

  • 아래 분석 연습 파일 다운로드

  1. 다짜고짜 한번 분석을 해보도록 하겠습니다. 먼저 파일을 열어보면 아래와 같이 보이며 파일명, 파일 내용이 의심스러운 파일 입니다.

  2. 우선 문서 파일의 경우 압축해제가 가능합니다. 실제로 EnCase 에서는 View-File Structure에서 추출하지 않고 바로 확인이 가능합니다. 파일의 확장자를 압축파일 zip로 변경한 후 압축을 해제 합니다. 해당 폴더를 보면 이미지.jpg가 발견됩니다. (실제 압축해제한 폴더의 가장 처음에는 jpg나 기타 문서 파일 같은게 위치하지 않습니다.)

  3. 해당 이미지를 열어보겠습니다. 그러나 정상적으로 열리지 않습니다. 이럴땐 확장자가 바뀌었거나, 시그니처가 훼손된 것을 의심해봅니다.

  4. HxD로 해당 이미지를 열어보면 시그니처가 훼손된 것을 알 수 있습니다. 정상 jpg 파일 아무거나 만들어서 비교해보거나, 시험에서는 정상 jpg 그림을 찾아서 비교해서 시그니처를 확인합니다.

  5. 정상 시그니처로 수정 후 이미지를 열어보면 하단에 password가 포함된 이미지를 확인할 수 있습니다. 뭔가 이 암호를 이용하는 무엇인가가 있는거 같습니다.

  6. JPG의 푸터인 FF D9를 검색해보도록 하겠습니다. FF D9 뒤에 새로운 파일이 존재합니다. D0 CF~~ 로 시작하는 경우 문서파일(hwp, pptx, xlsx, docx)에 해당합니다.

  7. FF D9 뒤 부터 전체를 복사하여 새로 파일을 생성하여 보겠습니다. 생성한 파일의 시그니처를 보면 D0 CF ~ 로 시작 하는데 이는 문서 파일의 시그니처 입니다. 파일을 저장할 때 확장자의 경우 문서파일에 해당하는 확장자를 돌아가면서 변경해보면서 열어 보도록 합니다. (실제 시험에서는 무슨 확장자인지 바로 알긴 쉽지 않으니 docx, pptx, xlsx, hwp 등 변경하면서 시도해봅니다.)

확장자를 변경하면서 해당 파일 복구 실습 후 확인 해보기
  1. 확장자를 xlsx 엑셀 파일로 변경해서 열어보면 암호를 입력하라고 하고 위에서 이미지에서 찾은 암호를 입력하여 봅시다.

  2. 정상적으로 암호를 해제할 경우 아래와 같이 내용이 확인이 가능합니다.

  1. 정리하면 해당 파일은 1. 문서파일 내에 시그니처가 훼손된 이미지를 압축형식으로 숨겨두었고 2. 해당 이미지를 시그니처 복구하면 비밀번호가 있었습니다. 3. 해당 이미지는 스테가노그래피로 암호가 걸린 문서 파일이 숨겨져 있었고 4. 암호가 걸린 문서를 확장자 변경 후 실행할때 암호를 활용하면 내용을 확인할 수 있습니다.

증거파일을 숨기는 기출 유형으로 문서 파일 내에 파일 숨기기, 파일 내 파일 숨기기 형태입니다. 이러한 방식이 하나의 파일에서 모두 포함될 수 있고, 여러 파일에 나눠져 있을 수 있습니다. 의심스런 파일들을 대상으로 이런식의 분석을 할 수 있어야 합니다.

확장자가 다른 파일의 경우 EnCase나 Autopsy 등으로 찾는 연습을 통해 시그니처와 확장자가 다를 때 어떤식으로 찾을 수 있는지 꼭 연습이 되어야 합니다.

연습할 때마다 내가 어떤 원리로 파일을 복구하였는지 답안 작성시에도 설명할 수 있어야 합니다.

2. 주요 분할 압축 파일 연습 문제

  • 아래 문제 해결을 위해 기본적으로 알고 있어야 하는 부분은 분할 압축 파일에 대해 알고 있어야 합니다. [동일한 내용이며 도구는 크게 중요치 않으니 둘 중 아무거나 참고!] (무료도구) > 3-2.1) 분할 압축 파일 (EnCase) > 3-2.1) 분할 압축 파일

  • 분할 압축 연습 다운로드

  1. 연습 문제를 한번 풀어보도록 하겠습니다. EnCase, Autopsy에 추가해서 분석하여도 좋고 HxD만 가지고 분석해도 충분히 가능합니다.

  2. 문제 연습 문제 폴더 내에서 아래 문제를 해결 하세요. 1. \Users\test\Desktop\ZIP 테스트.zip 파일의 분할 압축 파일을 찾아 정상적으로 압축 해제 2. \Users\test\Documents\ 경로의 egg 파일에 맞는 분할 압축 파일을 찾아 정상적으로 압축 해제 3. \Users\test\Download\ 경로의 7z.001 파일과 매칭되는 분할 압축 파일을 찾아 정상적으로 압축 해제 어렵지 않으니 연습 문제 폴더 내에 전부다 하나하나 살펴보다 보면 찾을 수 있습니다.

직접 해결 해보고 맞는지 확인 하거나 해결이 어려운 경우 참고

1번 문제

  1. \Users\test\Desktop\ZIP 테스트.zip를 먼저 살펴보겠습니다 해당 파일을 HxD로 열어보면 시그니처를 확인할 수 없습니다. 다만 맨 밑으로 내려보면 50 4B (PK) 등이 보입니다. 조금 더 정확히 보려면 zip 압축파일의 50 4B 05 06 EOCD (End of Central Directory 레코드의 시그니처) 를 확인할 수 있습니다. 즉, 분할 압축파일의 마지막 파일에 해당합니다. 그렇다면 처음 파일인 Z01을 찾아야 합니다.

  2. Users\test 폴더를 보면 여러가지 파일이 있는데 이 중 zip 파일이 있습니다. 시그니처부터 50 4B (PK)로 시작하는 zip 압축파일 입니다. 분할 압축일 경우 이 파일이 가장 처음인 z01 파일일 것 입니다. 해당 파일을 압축해보려고 하면 정상적으로 압축 해제가 되지 않습니다. (사실 일부가 되긴 합니다.) *이 경로는 윈도우에서 Registry 중 사용자 레지스트리 NTUSER.DAT를 추출하는 경로 입니다. 실제로 이 경로에 불필요한 압축파일이 있는 것으로 의심해 볼 수 있는 것입니다. (NTUSER.DAT.zip의 경우 평소에 존재하지 않는 파일 입니다.) > 가장 최근 기출 유형(2025 상반기)으로 예상 되는 경로입니다.

  3. 해당 파일을 복사한 뒤 zip 파일과 같은 경로에 놓고 파일명을 zip 파일과 동일하게 하고 확장자를 z01로 변경합니다.

  1. 압축 해제한 파일이 정상적으로 압축 해제가 되면 아래 이미지를 확인할 수 있습니다.

2번 문제

  1. \Users\test\Documents\ 경로를 살펴보겠습니다. egg 분할 파일이 위치하고 있으며 1,4번이 있으나 2,3번이 없네요! 찾아보도록 하겠습니다.

  2. EnCase나 Autopsy에서는 쉽게 찾을 수 있지만 우리는 모든 파일을 하나하나 HxD로 열어보다보면 Users\test\Desktop\프로그램 경로에서 확장자는 exe 이지만시그니처가 45 47 47 41 (EGGA) 가진 파일을 찾을 수 있습니다.

  3. 우선 해당 파일을 복사해서 egg가 있던 경로에 복사합니다. 파일 용량을 보면 딱 2배인 것을 확인할 수 있습니다.

  4. FTP_Util.exe 파일을 다시 HxD로 열어서 45 47 47 41 (EGGA)를 검색 해보면 중간에 시그니처가 다시 시작되는 것을 확인할 수 있습니다. 즉, vol2, vol3가 합쳐진 것 처럼 예상됩니다.

  5. 해당 시그니처 기준으로 앞부분을 복사해서 "EGG 테스트.vol2.egg"를 생성하고 시그니처 포함 뒷부분 전체를 복사해서 "EGG 테스트.vol3.egg"로 생성합니다.

  6. 정상적으로 압축이 해제 된다면 아래 이미지가 확인이 됩니다. vol2, vol3 파일명이 반대가 된다면 일부만 복구될 것입니다.

3번 문제

  1. \Users\test\Download\ 경로를 한번 살펴보겠습니다. 7z.001 파일이 발견됩니다. 해당 파일을 HxD로 살펴보면 7z로 시작합니다. 즉, 이 파일은 7z의 시작 파일이라는 것입니다. 다만 압축 해제를 시도하면 정상적으로 압축해제가 되지 않습니다.

  2. 해당 파일의 마지막 부분을 보면 파일명스러운 것도 안보이고 딱 섹터/클러스터 단위로 끊기는 느낌입니다. 파일명도 그렇고 마지막 파일스럽지가 않습니다. 즉, 7z의 마지막 파일 스러운것을 찾아야 합니다.

  3. \Windows\System32\Config 폴더를 보면 다른 파일과 다르게 REGISTRY 파일이 발견됩니다. (용량만 봐도 티가 납니다.) 실제로 해당 경로에는 REGISTRY 은 없습니다.

    [Win] + [R] 누른 뒤 "%systemroot%\system32\config" 또는 "C:\WINDOWS\system32\config" 확인해서 보면 해당 경로를 확인할 수 있습니다. 이 경로의 경우 레지스트리를 추출하는 경로 입니다. 그런데 REGISTRY라는 파일은 존재 하지 않는 아티팩트 입니다. 일부러 이렇게 숨긴 것입니다.

  4. 의심스런 REGISTRY 파일을 복사한뒤 7z가 있는 폴더에 복사 한 뒤 동일한 파일명으로 변경 후 확장자를 002로 변경합니다.

  5. 정상적으로 압축해제가 된다면 아래와 같이 이미지가 확인 됩니다.

  • 문제 해결 후 다시 한번 생각해보기

    • 여러분이 만약 문제를 만드는 입장이라고 생각하고 한번 생각해보도록 하겠습니다. egg파일의 경우 vol2, vol3의 또한 EGGA 시그니처가 존재합니다. 따라서 어디에 숨기든 조합을 어떻게든 해볼 시도를 할 수 있습니다.

    • 그런데 만약 zip의z02,z03, 7z의 7z.002, 7z.003 등 중간에 헤더나 푸터에 시그니처가 아예 없는 부분을 따로 어딘가 숨겨놓게 된다면 데이터가 처음부터 끝까지 암호화 된 파일처럼 보이게 됩니다. 사실 여러분이 이런 파일을 만들어서 4시간 이내에 풀어야 하는 파일로 만들려면 매우 눈에 띄거나 의심스러운 파일로 만들어야 할 것 입니다.

    • 추가로 포렌식 전문가라면 꼭 확인해야 할 경로에 은근슬쩍 넣어둘 수도 있을 것입니다. 레지스트리 경로 등에 포함할 수 있을 것 입니다. \Windows\System32\Config -> Windows의 레지스트리 경로 \Users\{USER_NAME} -> User의 레지스트리 경로 이러한 경로에 존재하지 않거나 불필요 하지만 그럴듯한 파일명으로 숨겨둘 수 있을 것 입니다. (압축파일, exe 파일 등) - 기출 유형으로 파악 중

3. 직접 만들어보기

직접 여러 유형 분석을 위해선 도구를 설치해야 합니다. 개인적으로도 압축프로그램을 여러개 설치하고 하는걸 굉장히 싫어하긴 하나, 연습 및 분석을 위해선 어쩔 수 없네요ㅠ

3-1) 문서 파일에 파일 숨기기

  • 문서 파일에 구조적으로 숨기기 위해선 z7을 활용합니다.

  1. 문서파일(docx, xlsx, pptx, hwpx / hwp는 안됨) 우클릭 후 7-zip 에서 압축파일 열기를 선택합니다.

  2. 넣고자 하는 파일에 드래그해서 넣을 수 있습니다. 원한다면 폴더도 생성하고, 원하는 경로에 넣을 수도 있습니다. 만약 시험문제로 아래 구조를 잘 아는 사람들을 대상으로 하고자 한다면 아래 docx에 불필요하지만 그럴듯한 폴더명으로 만든다면 찾기가 어려울 수 있을 듯 하네요! 만약 분석가 입장에선 해당 파일 구조별로 필요한 폴더명을 다 알아야 한다는 전제가 되겠네요!

    참고로 word의 경우 word\media\ 구조 내에 문서에 사용되었던 미디어 파일을 바로 확인할 수 있습니다. 문서 파일의 내용이 매우 많거나, 숨겨진 이미지를 찾을 때 활용하기도 합니다.

  3. 확인을 위해서 확장자를 zip로 변경하면 확인이 가능합니다.

3-2) 시그니처 훼손 및 파일 합치기(스테가노그래피)

  1. 이미 여러번의 연습을 통해 시그니처 훼손 자체는 매우 쉬울 것이라 생각합니다. 원하는이미지 파일을 HxD를 이용해서 연 뒤 시그니처 값을 변경 후 저장합니다. 사실 혼란을 주기 위해선 50 4B(PK) 같이 다른 파일의 정상 시그니처로 수정할 수 도 있을 것입니다. > 실제 시험에서 이럴 경우 상당한 시간이 걸릴 것입니다.

  2. 시그니처 훼손한 파일을 Ctrl + A를 눌러 전체 선택 후 복사합니다.

  3. 숨기고 싶은 정상 파일 맨 뒤에 붙여넣기 삽입(Ctrl + V)를 하여 추가 한 뒤 저장합니다. 추가한 정상 파일을 열게되면 파일이 열리게 됩니다. (만약 저장 버튼을 누르면 삽입하여 추가한 데이터는 날아가게 됩니다.)

  4. 복원을 하고자 한다면 당연하게도 역순으로 하면 됩니다! 직접 한번 해보시기 바랍니다. 이렇게 숨긴 파일을 같이 공부하는 지인들과 교환해서 복원하는 연습을 몇번씩 하게 되면 충분히 의심스런 파일을 찾았을 때 굉장히 빠르게 복구를 할 수 있을 것입니다. (혼자 한, 두번 정도로는 속도가 빨라지지 않을 것 입니다. 알면서도 반복하는게 매우 중요합니다.)

3-3) 분할 압축 파일 만들기

  1. 분할 압축할 적당한 크기의 파일을 선택 후 우클릭 - 반디집으로 압축하기 선택 한 뒤 분할 압축 옵션을 선택합니다.

    7-zip으로 분할 압축 할 경우 압축 유형에서 zip 또는 7z로 선택 뒤 하단에 볼륨, 바이트 분할의 분할하고자하는 사이즈를 설정합니다.

  2. egg 파일의 경우 알집으로 압축하기 선택 후 알집으로 압축하기를 선택 합니다. 참고로분할 압축 할 때 최소 64KB이상으로 설정해야 합니다.

  • 직접 문제를 다양한 형태로 만들고, Hex값을 살펴보다 보면 단순히 문제만 해결하는 것 보다는 실력이 빠르게 상승할 것입니다.

결국 시험에서 주요 증거 파일은 여러가지 방식으로 숨겨져 있는데 찾는 방식을 알면 풀고, 모를 경우 손을 댈수 없기 때문에 시험에 출제되었던 유형은 가급적 연습해보시길 추천합니다. 최근 분할 압축 유형이 새로 출제되면서 실제 시험 후기를 들어보면 처음 접하는 결국 풀지 못한 케이스로 알고 있습니다. 다만 꼭 못찾는다고 해서 무조건 합격 못하는건 아니기 때문에 다양한 아티팩트와 함께 아는 부분을 최대한 작성하시길 권고합니다. (많은 분들이 이 유형을 해결하지 못해서 합격 못햇다고 생각했으나 실제로 합격한 케이스도 상당히 많습니다.)

Last updated