KAPE (Kroll Artifact Parser And Extractor) - (2) Target의 이해 및 실행
DFIR Programs/KAPE

KAPE (Kroll Artifact Parser And Extractor) - (2) Target의 이해 및 실행

※ 본 포스팅은 PLAINBIT의 KAPE 문서, KAPE 공식 문서를 참고하여 작성하였습니다.

 

지난 포스팅에 이어 KAPE의 Target에 대해 알아보도록 하겠습니다.

 

3. KAPE 의 Target

 

KAPE - Target

 

gKAPE의 Target UI를 위에서부터 하나씩 내려가면서 살펴보도록 하겠습니다.

 

Use Target options : 타겟 설정을 활성화합니다.

Target options

  • Target Source : 타겟이 될 대상 볼륨을 선택합니다. (이미지 파일을 대상으로 하기 위해서는 Arsenal Imgae Mounter 도구처럼 이미지를 볼륨으로 마운트할 수 있는 도구를 사용하여 마운트 후 볼륨을 지정해주어야 합니다.)
  • Target Destination : 추출된 아티팩트가 저장될 경로를 선택합니다.
  • Flush : 입력한 경로와 동일한 폴더가 존재하면 삭제 후 생성합니다.
  • Add %d : 폴더명 뒤에 날짜를 덧붙혀줍니다.
  • Add %m : 폴더명 뒤에 데스크탑 이름을 덧붙혀줍니다.

 

KAPE - Target

 

  • Find(돋보기) : target list에 대해 검색을 지원합니다.
  • 깔때기 : 최상위 칼럼에 마우스를 갖다대면 보이는 깔때기를 통해 필터를 걸 수 있습니다.
  • 정렬 : 최상위 칼럼에 우클릭을 하면 정렬을 수행할 수 있습니다.

 

KAPE - Target

 

  • 항목 선택 : 필드에서 우클릭을 하면 전체 선택, 전체 선택 해제, 선택 반전을 수행할 수 있습니다.
  • Process VSCs : Volume Shadow Copy를 탐색한 뒤, 존재하면 마운트 후 데이터를 수집합니다.
  • Deduplicate : SHA-1 해시값을 기반으로 하여 소스 파일과 VSC를 비교한 뒤 중복되는 항목은 제외합니다.
  • Container-None : 컨테이너를 생성하지 않고 대상 디렉터리에 파일을 복사합니다.
  • VHDX : VHDX를 생성하여 데이터를 저장합니다.
  • VHD : VHD를 생성하여 데이터를 저장합니다.
  • Zip : zip 형태로 데이터를 저장합니다.

 

KAPE - Target

 

  • SHA-1 exclusions : 한 줄에 하나의 SHA-1 해시 값을 포함하는 텍스트 파일이 주어지면, 해당 해시값과 일치하는 파일은 복사하지 않습니다. 제외된 파일은 skiplog.csv, copylog.txt 파일에 기록됩니다.
  • Target variables : .tkape 파일에서 변수 교체에 사용할 키:값 쌍의 목록을 지정합니다.

 

KAPE - Target

 

이 외 기타 기능들이 있지만 조금만 다뤄보면 쉽게 알 수 있기 때문에 생략하고 넘어가겠습니다.

필요한 항목을 모두 작성한 뒤 우측 하단의 Excute!를 눌러줍니다.

 

KAPE 동작

 

gKAPE는 결국 CLI 기반의 KAPE를 동작시키는 것이기 때문에 Execute를 누르면 CLI KAPE가 동작하게 됩니다.

작업이 완료되면 아무 키나 눌러 콘솔을 종료해주면 됩니다.

 

추출된 아티팩트

 

KAPE 동작이 완료되면 지정한 target에 해당하는 아티팩트가 추출된 것을 확인할 수 있습니다.

제가 설정했던 $J, $MFT, $LogFile, Amcache에 해당하는 파일들이 모두 추출된 것을 알 수 있습니다.

ConsoleLog.txt는 KAPE가 동작하면서 남긴 로그가 저장된 파일이고 CopyLog.csv는 추출된 파일들에 대한 정보가 저장된 파일입니다.

 

CopyLog.csv 항목

CopiedTimestamp 복사를 수행한 시간 (UTC+00)
SourceFile 원본 파일 경로
DestinationFile 파일이 복사된 경로
FileSize 파일 크기
SourceFileSha1 원본 파일 SHA1 해시 값
DeferredCopy  
CreatedOnUtc 파일 생성 시간 (UTC+00)
ModifiedOnUtc 파일 수정 시간 (UTC+00)
LastAccessedOnUtc 파일 접근 시간 (UTC+00)
CopyDuration 복사에 걸린 시간

 


 

4. Target processing flow chart

 

KAPE - Target Processing flow chart

(이미지 출처 : https://ericzimmerman.github.io/KapeDocs/#!Pages\3.-Using-KAPE.md)

타겟 프로세스의 흐름도는 위와 같습니다.

  1. flush 옵션을 활성화 했을 경우 기존 폴더를 삭제하고 생성합니다.
  2. Volume Shadow Copy Service가 있으면 유효한 Volume Shadow Copy를 탐색 후 마운트 합니다.
  3. 파일 목록을 확장하고 소스에서 아티팩트를 찾습니다.
  4. VSC가 있다면 VSC에서 아티팩트를 찾습니다.
  5. Deduplicate 옵션이 활성화되어 있다면 소스에서 찾은 아티팩트와 해시 값을 비교한 후 중복되지 않는 파일을 목적지 경로에 복사한 후 원본의 타임스탬프로 재설정하고 타겟 프로세싱을 종료합니다.
  6. Deduplicate 옵션이 비활성화되어 있다면 소스와 VSC의 중복제거를 하지 않고 목적지 경로에 복사를 합니다.
  7. VSC가 없다면 소스에서 찾은 아티팩트만 목적지 경로에 복사한 후 타임스탬프를 원본의 타임스탬프로 재설정하고 타겟 프로세싱을 종료합니다.

 

설명이 부족한 감이 있지만 대충 이런 느낌으로 타겟 프로세싱이 진행된다고 이해했습니다^^;

다음에는 KAPE의 Module에 대해 포스팅해보겠습니다.