디지털포렌식과 친해지기
  • 디지털포렌식전문가 2급 실기와 친해지기(실기)
    • 1. 디지털 포렌식 실기 준비하기
      • 1. BIT, BYTE, 파일 그리고 Hash
      • 2. 섹터와 사본 이미지 생성
        • 2-1. FTK Imager 활용 물리이미징(Registry 쓰기방지)
        • 2-2. EnCase 활용 물리이미징(EnCase 쓰기방지)
        • (연습용) 가상디스크 만들기
      • 3. 파티션과 파일시스템 복구
        • 3-1) 파티션과 파티션 테이블
          • 3-1.1) GPT 헤더, 파티션 Entry 복구
        • 3-2) 파일시스템과 파일시스템 복구
        • 3-3) 파일시스템 복구 실전 연습
      • 4-1. 무료도구 활용 분석연습
        • 0) 이미지 획득 및 파일시스템 복구
        • 1) 저장매체와 파일시스템 분석
        • 2) 파일과 친해지기
        • 3-1) 파일 관련 분석 1
        • 3-2) 파일 관련 분석 2
        • 4-1) 윈도우 아티팩트1
        • 4-2) 윈도우 아티팩트2
        • 5) 주요 응용 프로그램 아티팩트
          • 5-1) Sqlite 열어보기
        • 6) 키워드 검색 / Base64 Decode
        • 7) bitlocker
        • 8) 가상머신(참고)
        • 무료도구 활용 분석연습 정리
      • 4-2. EnCase 활용 분석연습
        • 0) 이미지 획득 및 파일시스템 복구
        • 1) 저장매체와 파일시스템 분석
        • 2) 파일과 친해지기
        • 3-1) 파일 관련 분석 1
        • 3-2) 파일 관련 분석 2
        • 4-1) 윈도우 아티팩트1
        • 4-2) 윈도우 아티팩트2
        • 5) 주요 응용 프로그램 아티팩트
          • 5-1) Sqlite 열어보기
        • 6) 키워드 검색 / Base64 Decode
        • 7) bitlocker
        • 8) 가상머신(참고)
        • EnCase를 활용한 분석연습 정리
      • 5. 주관식 - 기본 절차 및 증거법 관련
        • (정리 중) 디지털 증거관련 주요 판례
      • 6. 답안 제출 및 보고서 작성
      • 7. 요령 및 주의사항
    • 2. 실력 다지기
      • 1. 문제 저장매체 만들고 풀어보기
        • 기초 연습문제1-분석해보기(무료도구)
        • 기초 연습문제1-분석해보기(EnCase)
      • 2. 파일시스템 복구 연습
      • 3. NTFS 로그 분석 연습
    • 3. 실전 연습 문제
      • 2018 실전 연습 문제
        • 2018 실전 연습 - 분석해보기(무료도구)
        • 2018 실전 연습 - 분석해보기(EnCase)
      • 2019 실전 연습 문제
        • 2019 실전 연습 - 분석해보기(무료도구)
        • 2019 실전 연습 - 분석해보기(EnCase)
      • 2020 실전 연습 문제
        • 2020 실전 연습 - 분석해보기(무료도구)
        • 2020 실전 연습 - 분석해보기(EnCase)
      • 2023 실전 연습 문제(종합유형)
        • 2023 실전 연습 - 분석해보기(무료도구)
        • 2023 실전 연습 - 분석해보기(EnCase)
      • 2024 실전 연습 문제
        • 2024 실전 연습 - 분석해보기(무료도구)
        • 2024 실전 연습 - 분석해보기(EnCase)
    • 4. 기출 유형
  • 디지털포렌식과 친해지기
    • 1. BIT의 저장
      • 0) 준비사항!
        • 0-1) 주요 분석 도구 간단 소개 및 설정
        • 0-2) Python 을 이용한 개발 환경 구성
        • 0-3) Python 소스로 실행파일 만들기
      • 1) BIT, BYTES와 파일 그리고 Hash
        • 1-1) Hex Viewer 만들기
        • 1-2) BIT의 저장(참고)
      • 2) 저장매체와 섹터 그리고 물리이미징
        • 2-1) 가상 디스크 설정
        • 2-2) 물리이미징(raw) 실습
        • 2-3) 물리이미징 수집 도구 만들기(기초)
      • 3) 파티션
        • 3-1) MBR 파티션 테이블 구조
        • 3-2) GPT(GUID Partition Table) 구조
        • 3-3) 파티션 분석 도구 만들기(기초)
      • 4) 파일시스템 기초 분석
        • 4-1) 파일시스템 직접 만들어 보기
        • 4-2) FAT32 분석
          • 4-2.1) FAT32 분석(BR, Directory Entry - 데이터의 접근)
          • 4-2.2) FAT32 분석 2(FAT, LFN, 삭제)
          • 4-2.3) FAT32 분석 3 (특징과 분석 도구)
        • 4-3) NTFS 기초 분석
          • 4-3.1) NTFS 기초 분석(NTFS BR과 DATA 영역)
          • 4-3.2) $MFT와 MFT Entry
          • 4-3.3) MFT Entry의 주요 속성1($SI,$FILE,$DATA)
          • 4-3.4) MFT Entry의 주요 속성2(인덱스1, resident/Nonresident)
          • 4-3.5) MFT Entry 찾기(인덱스2, $ATTRIBUTE_LIST)
          • 4-3.6) NTFS 에서 파일의 접근 정리
          • 4-3.7) NTFS 주요 메타데이터 파일
          • MFT Entry 분석용
      • 5) 파티션과 파일시스템
      • 6) 사본 이미지 생성(논리/물리이미징)
      • 7) 파일과 친해지기
Powered by GitBook
On this page
  • 1. 키워드 검색
  • 1-1) 속성 검색(Condition)
  • 1-2) 해시 값 검색
  • 1-3) 키워드 검색
  • 1-4) 색인 기능의 활용
  • 2. Base64 Decode
  1. 디지털포렌식전문가 2급 실기와 친해지기(실기)
  2. 1. 디지털 포렌식 실기 준비하기
  3. 4-2. EnCase 활용 분석연습

6) 키워드 검색 / Base64 Decode

Previous5-1) Sqlite 열어보기Next7) bitlocker

Last updated 10 days ago

지금까지는 검색 기능 없이 발견된 주요 증거 파일에 대해 분석하는 부분을 살펴 보았습니다.

실제 시험에서 시나리오와 관련된 파일명 등이 예상될 경우 키워드 검색을 활용하면 보다 빠르게 주요 파일을 찾거나 할 수 있을 것입니다.

추가로 문자를 표현하는 매우 다양한 인코딩 방식이 있는데 그 중에서 시험에서 주로 출제되었던 Base64 인코딩 되어 있는 문자를 디코딩하여 시험에 활용했던 부분을 살펴보겠습니다.

1. 키워드 검색

  • Autopsy에서 키워드를 미리 입력하여 검색하는 방법과 색인을 통해 보다 쉽게 검색이 가능하도록 하는 기능이 있습니다.

  • 이를 활용하여 실제 시험에서 어느정도 파일 구조와 시나리오 등이 익숙해졌을 때 필요한 검색 기능을 활용하는 것을 추천합니다. 다만 검색의 경우 상당히 오랜 시간이 소요되기 때문에 감안하고 활용해야 합니다.

1-1) 속성 검색(Condition)

  1. 파일명, 확장자와 같이 테이블에서 확인되는 속성들을 검색하여 봅시다. 우측 하단에서 Condition 탭에서 User 폴더 선택 후 New를 선택하여 검색 조건을 추가하여 봅시다.

    - Function Name에서 검색조건 명을 설정할 수 있으며 - Properties에서 검색하고자 하는 속성을 선택 한 뒤 - Operator에서 속성을 어떻게 검색할 수 있는지 선택할 수 있습니다. - Value 에서 해당 내역들을 추가할 수 있습니다. Name을 Find로 설정 후 Value에 검색할 키워드를 여러 개 추가할 수 있습니다. (기타 옵션들은 직접 해보시면 금방 이해할 수 있을 것입니다.)

  2. 검색할 대상들은 Filter 대상(Current View, Current device, All Evidence Files)을 선택할 수 있습니다. 일반적으로는 플래이트를 선택하여 하위 파일을 모두 Table에 표시한 상태에서 추가한 Condition 1 을 더블클릭 한 뒤 Filter - Current View를 선택 후 OK를 눌러 검색을 진행할 수 있습니다.

    검색 결과를 확인할 수 있으며 [Filter : Condition 1]을 클릭 할 경우 뒤로 Condition Filter를 종료하여 이전 상태로 확인이 가능합니다.

  3. 이런 Condition을 저장해 놓고 여러 폴더를 돌아가면서 검색하거나 아래와 같이 최상위를 선택한 뒤 한번에 검색도 가능합니다.

    실제 시험에서는 특정 파일명, 확장자, 용량 등을 알게 되어 검색이 필요한 경우 활용할 수 있습니다.

1-2) 해시 값 검색

  1. 최근에는 출제되지 않고 있으나, 해시값을 이용한 검색을 하는 법을 알고 있어야 합니다. 먼저 전체 파일에 대한 해시값 계산을 먼저 해야 합니다. 프로세스 기능을 이용하여 전체 파일을 대상으로 해시값을 획득할 수 있습니다.

    프로세스 옵션에서 Hash analysis를 체크 합니다. 만약 시험에서 SHA256, SHA512 해시값을 찾아야 하거나 답안 작성에 활용해야 할 경우 Hash analysis를 선택하여 옵션을 추가할 수 있습니다.

    프로세스가 끝난 후 [Refresh]를 클릭 시 해시값 내용 확인이 가능합니다.

  2. 또는 몇 개의 파일만 먼저 해시값 획득을 할 수 있습니다. 해시값을 계산할 파일만 먼저 체크한 뒤 우클릭 - Entries - Hash\Sig Selected 를 선택합니다.

    필요한 해시값 부분을 체크 한 뒤 OK 를 눌러 진행합니다.

    해시값 계산 이후 [Refresh]를 선택 하면 계산된 해시값을 확인할 수 있습니다. 소수의 파일들은 매우 빠른 속도로 계산이 되기 때문에 유용하게 사용할 수 있습니다.

  3. Condition을 새로 추가한 뒤 MD5를 선택 후 해시값을 한번 검색해보도록 하겠습니다. 해시값의 경우 find Operator이 없어 Matches 를 선택 후 해시값을 입력하여 검색에 활용하여 봅시다.

    해당 Condition을 적용해보면 금방 검색결과를 확인할 수 있습니다.

1-3) 키워드 검색

1-3-1) 프로세스 키워드 검색

  1. 키워드 검색의 경우 저장매체 전체를 대상으로 키워드 검색 해야 할 경우 프로세스를 시작하여 검색을 할 수 있습니다.

    Search for Keywords 클릭 하여 검색할 키워드를 추가해야 합니다. 키워드 리스트 관리 메뉴에서 New를 선택하여 키워드를 추가합니다.

    추가할 키워드를 입력 합니다. 또한 옵션으로 UTF8, Unicode를 체크하고 Code Page에서 Korean 도 체크합니다.

    New를 이용하여 키워드 여러개를 추가한 뒤 OK를 선택합니다.

    추가로 옵션들이 있는데 파일시스템 구조나 분석 대상을 상세히 파악한 뒤에 사용여부를체크하시는 것을 추천합니다. 상당히 시간이 많이 걸리거나, 추가 설정 이후 활용할 수 있습니다.

  • Search entry slack: 파일의 Slack 공간(남은 할당 공간)을 검색하여, 이전 데이터의 흔적이나 숨겨진 데이터를 찾음.

  • Undelete entries before searching: 삭제된 파일 및 디렉토리를 복구하여 검색에 포함.

  • Use initialized size: 파일의 초기화된 크기만을 기준으로 검색하여, 불필요한 더미 데이터나 비활성화된 공간을 무시하고 검색.

  • Search only slack area of known items in Hash Library: 해시 라이브러리에 등록된 파일의 Slack 영역만 검색하여, 숨겨진 정보나 악성 코드 등을 탐지.

  1. 검색 키워드 리스트 등록 후 프로세스에서 OK를 눌러 진행합니다. 키워드 검색은 많은 시간이 소요되기 때문에 충분한 시간을 확보한 뒤에 진행해야 합니다.

    View - Keyword Hits 창에서 검색 결과를 확인할 수 있습니다. 키워드의 Items 의 경우 키워드가 검색된 파일의 개수이고 Hits의 경우 파일에서 어떤 부분이 검색된 것인지 표시가 되고 있습니다. 해당 숫자를 누른 뒤 파일을 클릭 한 뒤 하단의 Hex, Text, Trascript 등에서 확인이 가능합니다. 만약 잘 보이지 않는 경우 Codepage를 바꿔가면서 확인해봐야 합니다.

1-3-2) Raw Search Selected 를 이용한 검색

  1. 이제 선택한 파일만을 대상으로 키워드 검색을 할 수 있는 기능을 알아보도록 하겠습니다. 먼저 특정 폴더를 선택 한 뒤 [Raw Search Selected] - [New Raw Search Selected]를 선택합니다. ex) 아래 경로 C\Users\web-bit\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\

    프로세스 키워드 리스트 추가와 동일한 방식으로 키워드를 추가합니다.(UTF8, Korean 체크) OK를 눌러 검색을 진행할 수 있습니다.

    다른 파일을 선택 후 동일한 키워드 검색이 필요할 경우 체크 후 Raw Search Selected 1로 저장한 키워드 리스트를 선택하면 검색을 동일하게 할 수 있습니다.

  2. 소수의 파일을 대상으로 키워드 검색을 하였기 때문에 키워드 검색이 금방 완료되었을 것입니다. View - Keyword Hits 창에서 검색 결과를 확인할 수 있습니다. Raw Search Selected 1 폴더내에서 검색한 결과를 확인할 수 있습니다.

  • Raw Search Selected의 경우 프로세스에 의한 검색보다 빠른 검색이 가능합니다. 아래와 같이 원하는 경로 내의 파일내에서 검색이 가능하기 때문에 아래와 같이 다양한 방면으로 활용하는 것을 추천합니다.

1-4) 색인 기능의 활용

  • 색인 검색(Index Search)은 디지털 포렌식 분석 시 대량의 데이터를 신속하게 검색하기 위해 사용되는 중요한 기능입니다. 색인 검색은 키워드 검색과 관련이 있으며, 색인(Index)을 사전에 생성해 놓고 이 색인을 기반으로 검색 작업을 수행하는 방식입니다. 이를 통해 대량의 데이터에서도 빠르고 효율적인 검색이 가능합니다. 실제 시험에서는 정말 필요한 분석을 빠르게 마무리 하고 바로 색인 검색해두는 것을 추천합니다. 다만 Index 검색의 경우 한글 등을 완벽히 지원하는 것은 아닐 수 있으니 참고용으로 활용해야 하며 정확한 건 키워드 검색으로 하는 것이 좋은거 같습니다. (EnCase 버전, 윈도우 버전에 따라서 결과가 정상적으로 안되는 케이스도 있었습니다.ㅠㅠ)

  1. 색인 검색 기능 활용을 위해 프로세스를 실행 해보도록 하겠습니다.

    [Index text and metadata] 클릭하여 Default, Chinese, Japanese, and Korean을 선택 합니다. Enabled 를 체크 한 뒤 OK 클릭하여 진행합니다.

  2. 색인 프로세스가 끝나면 View - Indexed Items 에서 검색 및 결과를 확인할 수 있습니다. 검색창([Run] 버튼 밑에 창) 에 키워드 입력 후 [Run]을 클릭하거나, 엔터를 입력하면 검색 결과가 하단에 출력 됩니다.

    Logic 옵션을 통해서 조건을 추가할 수도 있습니다. 다만 키워드 검색에서는 검색이 되었던 부분이 Index에서는 검색되지 않을 수 도 있습니다. 유니코드로 저장된 "포렌식", "010-1111-2222" 이런건 평문으로 저장되어 있는데도 검색이 안되는 경우도 발생하네요!!

  • 색인 검색은 사용해보시면 알겠지만, 파일명 검색등을 빠르게 하는데 상당히 도움이 되는걸 알 수 있을 것입니다. 일일이 검색을 하는게 아니기 때문에 검색어가 계속 바뀌거나 추가될 경우에 매우 유용할 수 있을 것입니다.

2. Base64 Decode

  • Base64는 주로 텍스트 기반 시스템(예: 이메일, URL, JSON)에서 이진 데이터를 안전하게 전송하거나 저장하기 위해 사용됩니다. 빈도가 많은 것은 아니지만 기출 문제 중에서 Base 64로 인코딩 되어 있는 것을 해석하는 문제도 출제된 적이 있기 때문에 살펴보도록 하겠습니다.

  • Encase에서는 Base64로 되어 있는 부분을 디코딩 해주는 기능이 포함되어 있습니다. 다만 한글의 경우 파악이 어려울 수도 있으며, 이 경우 윈도우의 기능을 이용하여 분석해볼 수 있습니다. Base 64의 특징으로는 "영문~~~==" 이런 구조를 가집니다. 뒤에 "=" 또는"=="이 있는 경우가 많습니다. 이러한 경우 Base64 디코딩 시도를 해볼 필요가 있는 것입니다.(다만 필수는 아닙니다.)

  1. D드라이브의 "5. Base64인코딩" 폴더에서 text.txt를 살펴보겠습니다. Text에서는 한눈에 보기에는 잘 알아보기 어려운 데이터가 있습니다. 이 부분을 드래그하여 선택 후 우측 Decode - Text - Base64 Encoded를 선택하면 우측에 디코딩한 내용을 확인할 수 있습니다.

  2. 만약 위의 방식으로 내용을 확인할 수 없을 경우 해당 파일을 선택하여 우클릭 - Entries - Copy Files를 선택하여 파일을 추출하여 봅시다. 추출한 파일이 있는 폴더에서 Shift + 우클릭을 한 뒤 [여기에 PowerShell 창 열기] 를 선택합니다.

    이 후 아래 명령어를 입력하여 base64를 해석한 파일을 만들 수 있습니다. > certutil -decode "base64 파일" "원하는 파일명" > certutil -decode text.txt 디코딩.txt 생성된 파일을 열어보면 base64가 해석되어 있습니다. EnCase에서 내용 확인이 어려운 경우 이 방식으로 내용 확인이 가능합니다.

  3. 실제 시험에서는 아래와 같이 JPG의 끝(FF D9) 뒤에 Base64로 데이터를 숨겨서 특정 값을 저장하는 경우가 있었습니다.

    만약 파일을 추출한 뒤 HxD를 이용하여 FF D9 뒷부분을 복사하여 새 파일로 복사 붙여넣기 하여 저장한 뒤 certutil 명령어를 이용하여 디코딩 해볼 수 있을 것입니다.

  • base64 인코딩 방식의 경우 인터넷에서 많이 사용하는 방식이며, 이를 디코딩 하여야 하는 문제가 출제되었습니다. 다만 Encase와 같은 상용 도구가 아닌 시험에서 제공하는 무료도구에서는 base64를 디코딩 하는 방법이 없어서 윈도우 certutil 기능을 활용해야 합니다.

키워드 검색은 시나리오 분석에서 매우 효율적인 기능으로 충분히 연습을 하여두고 시험에서도 충분히 활용하는 것을 추천합니다. base64를 제외하고 많이 알려진 인코딩 방식을 디코딩 하는 문제는 출제되지 않은 것으로 보입니다. 따라서 최소 base64를 디코딩 하는 것은 알고 있어야 할 것입니다.