1. KAPE(Kroll Artifact Parser and Extractor)
1.1 개요
KAPE를 이용하면 포렌식 아티팩트를 수집하고 분석하는 일련의 과정을 자동화할 수 있으며, 원하는 분석 행위만을 빠르게 수행할 수 있어 효율적이다. 특히 목적에 맞게 사용자가 커스텀하여 이용할 수 있다.
1.2 프로세스

1.3 내용
2. 설치
2.1 사이트 접속 및 정보 입력


2.2 메일 확인 및 다운로드 버튼 클릭

2.3 다운로드 파일 확인

| 파일/폴더명 | 설명 |
| Documentation | 사용 계약 조항, 매뉴얼이 저장된 텍스트 파일이 포함된 폴더 |
| Modules | 분석 방법을 지정하는 폴더, 모듈을 사전 정의한 .mkape 파일들 포함 |
| Targets | 수집 대상을 지정하는 폴더, 타겟을 사전 정의한 .tkape 파일들 포함 |
| ChangeLog.txt | 버전 업데이트 정보 파일 |
| Get-KAPEUpdate.ps1 | 최신 버전으로 업데이트 할 수 있는 파워쉘 스크립트 |
| gkape.exe | GUI 버전 KAPE 프로그램 |
| kape.exe | CLI 버전 KAPE 프로그램, 관리자 권한으로 실행 |
Targets: 수집 대상을 지정하는 폴더, tkape라는 확장자 파일로 수집 대상을 지정할 수 있음
Modules: 분석 방법을 지정하는 폴더, mkape라는 확장자 파일을 통해 분석 도구와 커맨드를 지정할 수 있음
3. gkape.exe의 Target Opation 사용 방법
3.1 파일 실행 시 화면

3.2 Use Tartget Options 선택

1) Target 수집 설정
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Use Target options | Target 수집 기능 활성화 | |
| Target source | 수집 대상 소스 경로 (예: C: 드라이브, 이미지 마운트 경로) | --tsource <PATH> |
| Target destination | 수집 결과 저장 경로 1) Add %d: 날짜를 폴더명에 자동 추가 2) Add %m: 머신명(호스트명) 자동 추가 |
--tdest <PATH> 1) --tdest <PATH>%d 2) --tdest <PATH>%m |
| Flush | 기존 tdest 디렉터리 삭제 후 재생성 | --tflush |
2) Targets 목록
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Selected | 해당 Target 사용 여부 체크 | --target <NAME> |
| Name | Target 이름 | |
| Folder | Target 파일이 위치한 분류 폴더 | |
| Description | 수집 대상 요약 설명 | |
| 검색 아이콘 | Target 빠른 검색 |
3) Targets 처리 옵션
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Process VSCs | VSS(Volume Shadow Copy) 포함 수집 | --vss |
| Deduplicate | SHA-1 기반 중복 제거 + SHA-1 exclusions SHA-1 해시 값을 포함하는 텍스트 파일이 주어지면, 해당 해시값과 일치하는 파일은 복사하지 않음 제외된 파일은 skiplog.csv, copylog.txt 파일에 기록 |
--tdd false (체크 해제 시) --hex <PATH> |
| Container | 수집 결과 저장 형식 1) None: 일반 디렉터리 2) VHDX / VHD: 가상 디스크 컨테이너 3) Zip: ZIP 파일 |
--<Container> <Base name> |
| Base name | 컨테이너 또는 결과 파일 기본 이름 | |
| Zip container | 컨테이너 자체를 ZIP으로 압축 | --zv false (체크 해제 시) |
| Transfer | 원격 전송 옵션 (환경별 사용) |
4) Target variables
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Target variables | .tkape 파일에서 변수 교체에 사용할 키:값 쌍의 목록을 지정 Target 내부에서 사용하는 변수 정의 |
--tvars <Key>:<Value> |
| Key / Value | 키:값 쌍 | |
| Add | 변수 추가 |
3.3 Excute! 버튼을 눌러 실행
1) 기다리기

2) cmd에서 kape.exe로 수행

3.4 출력 결과 확인
C:\lab\kape_log20251223T011144
│ 2025-12-23T02_11_36_7660327_ConsoleLog.txt
│ 2025-12-23T02_11_36_7660327_CopyLog.csv
│
└─C
└─ $MFT
4. gkape.exe의 Module Opation 사용 방법
4.1 Use Module Options 선택

1) Module 분석 설정
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Use Module options | Module 기반 파싱 기능 활성화 | |
| Module source | 분석 대상 입력 경로 | --msource <PATH> |
| Module destination | 분석 결과 저장 경로 1) Add %d: 날짜를 폴더명에 자동 추가 2) Add %m: 머신명(호스트명) 자동 추가 |
--mdest <PATH> 1) --mdest <PATH>%d 2) --mdest <PATH>%m |
| Flush | 기존 mdest 삭제 후 재생성 | --mflush |
| Zip | 분석 결과 ZIP 압축 | --mzip |
2) Module 목록
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Name | Module 이름 (예: !EZParser) | --module <NAME> |
| Category | 분석 유형 분류 | |
| Description | 모듈 기능 설명 |
3) Modules 처리 옵션
| 항목 | 설명 | kape.exe 명령어 옵션 |
| Export format | 분석 결과 출력 형식 지정 1) csv 2) json 3) html |
--mef <Export format> 1) --mef csv 2) --mef json 3) --mef html |
| Module variables | 모듈 실행 시 전달할 변수 | --mvar <KEY>:<VALUE> |
4.2 실행
4.3 결과 확인
5. target
5.1 CompoundTargetTemplate.template 파일 분석
Description: Name of application/artifact here # Required
Author: Your name here # Required
Version: 1.0 # Required
Id: Unique GUID here # Required
RecreateDirectories: true # Required
Targets:
-
Name: CompoundTarget1 # Required
Category: Category # Required
Path: CompoundTarget1.tkape # Required
Comments: "Comments go here" # Optional
-
Name: CompoundTarget2
Category: Category
Path: CompoundTarget2.tkape
-
Name: CompoundTarget3
Category: Category
Path: CompoundTarget3.tkape
-
Name: CompoundTarget4
Category: Category
Path: CompoundTarget4.tkape
-
Name: CompoundTarget5
Category: Category
Path: CompoundTarget5.tkape
-
Name: CompoundTarget6
Category: Category
Path: CompoundTarget6.tkape
# Documentation
# Please delete all Required/Optional comments above. N/A if no Documentation present. End with new line.
1) 상위 메타데이터
| 항목 | 필수 여부 | 설명 | 작성 가이드 |
| Description | Required | Compound Target의 목적 설명 | 수집 목적을 한 문장으로 명확히 기술 |
| Author | Required | Target 작성자 | 개인 이름 또는 팀/조직명 |
| Version | Required | Target 버전 | 일반적으로 1.0 고정 |
| Targets | Required | 포함할 하위 Target 목록 | 여러 개의 .tkape를 묶는 핵심 영역 |
| Id | Required | Compound Target 식별자 | 실행 시 --target에 사용되는 이름 (고유해야 함) |
| RecreateDirectories | Required | 원본 디렉터리 구조 유지 여부 | true 권장 (포렌식 무결성 유지 목적) |
2) Targets 블록
| 항목 | 필수 여부 | 설명 | 해석 |
| Name | Required | 하위 Target의 표시 이름 | 사람이 보기 위한 논리적 이름 |
| Category | Required | 분류용 카테고리 | IR / Execution / Registry 등 목적 기준 분류 |
| Path | Required | 참조할 Target 파일 경로 | 동일 폴더 내 *.tkape 파일명 |
| Comments | Optional | 설명 또는 메모 | 수집 범위, 주의사항, 설계 의도 기재 |
5.2 Target 파일 분석 - EventLogs
Description: Event logs
Author: Eric Zimmerman
Version: 1.0
Id: d95784d9-bd1c-472b-aeef-de5d9ecc7aaa
RecreateDirectories: true
Targets:
-
Name: Event logs XP
Category: EventLogs
Path: C:\Windows\System32\config\
FileMask: '*.evt'
-
Name: Event logs Win7+
Category: EventLogs
Path: C:\Windows\System32\winevt\logs\
FileMask: '*.evtx'
-
Name: Event logs Win7+
Category: EventLogs
Path: C:\Windows.old\Windows\System32\winevt\logs\
FileMask: '*.evtx'
# Documentation
# https://www.youtube.com/watch?v=qjeA1a5n0LQ
1) 상위 메타데이터
| 항목 | 값 | 설명 |
| Description | Event logs | Windows 이벤트 로그 수집용 Target |
| Author | Eric Zimmerman | KAPE 기본 Target 작성자 |
| Version | 1.0 | 변경 관리용 식별자 |
| Id | d95784d9-bd1c-472b-aeef-de5d9ecc7aaa | GUI/CLI에서 사용하는 실제 Target 이름 |
| RecreateDirectories | true | 원본 경로 보존 → 포렌식 무결성 유지 |
2) Targets 블록 - Event logs Win7+
| 항목 | 값 | 설명 |
| Name | Event logs Win7+ | 이전 OS 이벤트 로그 |
| Category | EventLogs | 이벤트 로그 분류 |
| Path | C:\Windows\System32\winevt\logs\ | OS 업그레이드 이전 로그 |
| FileMask | *.evtx | evtx 형식 로그 |
5.3 커스터마이징 테스트 (까마귀님)
1) 목적: $MFT와 $LogFile 동시에 수집
2) 작성
Description: MyFileSystem
Author: Present4n6
Version: 1.0
Id: 2b3d01e2-0000-0000-0000-6cb6e2069001
RecreateDirectories: True
Targets:
-
Name: $MFT
Category: FileSystem
Path: C:\
Recursive: true
FileMask: $MFT
AlwaysAddToQueue: true
-
Name: $LogFile
Category: FileSystem
Path: C:\
Recursive: true
FileMask: $LogFile
AlwaysAddToQueue: true
# Documentation
# present4n6.tistory.com
3) \KAPE\Targets\!Local에 .tkape 확장자로 저장

4) 실행

5) 결과 확인 (성공)
1231_myfilesystem_test
│ 2025-12-30T18_40_01_2579682_ConsoleLog.txt
│ 2025-12-30T18_40_01_2579682_CopyLog.csv
│
└─C
$LogFile
$MFT

5.4 주의사항
1) 들여쓰기를 할 때 Tab이 아니라 스페이스바로 간격을 맞춰주어야 KAPE가 인식함
2) Id 값은 임의로 지정한 고유한 값이면 됨
3) Github에 명시된 기존의 .tkape 파일이 아닌 사용자가 임의로 생성한 .tkape의 경우 !Local 폴더에 저장을 하도록 되어 있음