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

KAPE (Kroll Artifact Parser And Extractor) - (3) Module의 이해 및 실행

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

 

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

 

5. KAPE 의 Module

 

KAPE - Module

 

Module도 Target과 화면 구성이 비슷해서 사용하는데는 큰 어려움이 없을 것입니다.

Use Module options : Module 설정을 활성화합니다. (Target과 Module의 창을 모두 활성화하여 동시에 수행할 수 있습니다.)

Module options

  • Module source : 모듈 대상 경로를 지정합니다. (Target과 Module을 동시에 수행하는 경우 비워도 괜찮습니다.)
  •      Target Container 옵션이 None인 경우 : 처리할 파일들이 모두 포함된 디렉터리를 소스로 지정
  •      Target Container 옵션이 VHDX, VHD인 경우 : VHD를 시스템에 마운트한 후, 마운트된 드라이브를 소스로 지정
  •      Target Container 옵션이 Zip 인 경우 : Zip 압축 해제 후, 처리될 파일들이 모두 포함된 디렉터리를 소스로 지정
  • Module destination : 모듈 수행 결과물이 저장될 경로를 지정합니다.
  • Flush : 입력한 경로와 동일한 폴더가 존재하면 삭제 후 생성합니다.
  • Add %d : 폴더명 뒤에 날짜를 덧붙혀줍니다.
  • Add %m : 폴더명 뒤에 데스크탑 이름을 덧붙혀줍니다.

 

 

 

KAPE - Module

 

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

 

KAPE - 

  • 항목 선택 : 필드에서 우클릭을 하면 전체 선택, 전체 선택 해제, 선택 반전을 수행할 수 있습니다.
  • Export Format : Module 처리된 데이터를 출력할 형식을 지정합니다. 지정한 형식이 모듈에 존재하지 않을 경우 모듈 파일에 명시된 첫 번째 형식으로 출력됩니다.
  • Module variables : .mkape 파일에서 변수 교체에 사용할 키:값 쌍 목록을 지정합니다.

Other options

  • Debug messages : 디버그 메시지 활성화 여부를 나타냅니다. 활성화 시 백그라운드에서 수행하는 작업에 대한 자세한 내용이 표시됩니다.
  • Trace messages : 추적 메시지 활성화 여부를 나타냅니다. 활성화 시 KAPE가 실행될 때 수행하는 작업에 대한 더 많은 정보가 생성됩니다.
  • Ignore FTK warnning : FTK 사용 시 경고 무시 활성화 여부를 나타냅니다. FTK를 사용중인 경우 발생하는 경고를 무시합니다. KAPE는 Arsenal Image Mounter 사용을 권장합니다. FTK Imager 사용 시 경고 출력 후 처리를 중단합니다.
  • Zip password : zip 관련 옵션을 사용할 때, zip의 암호를 입력합니다.
  • Retain local copies : 옵션 활성화 시, Target에서 Transfer 옵션을 통해 전송된 파일의 로컬 사본은 업로드 후 삭제되지 않습니다.

 

KAPE - Module

 

Module 실행은 Target과 똑같이 우측 하단의 Execute!를 누르면 됩니다.

저는 Target으로 Amcache, 파일 시스템 데이터를 뽑아냈기 때문에 Module도 관련 옵션을 지정해주고 실행했습니다.

 

KAPE 동작

 

Target과 마찬가지로 콘솔 창이 뜬 뒤 동작하게 됩니다. 작업이 완료되면 아무 키나 눌러 종료해주시면 됩니다.

 

KAPE Module 처리 결과물

 

선택했던 모듈에 해당하는 프로그램이 동작하고 csv 형태로 결과물을 생성한 것을 확인할 수 있습니다.

KAPE에서 출력 형태를 Default로 설정했기 때문에 module에 명시된 우선 출력 형태로 출력이 된 것입니다.

결과물은 Amcache Parser를 별도로 동작했을 때와 똑같이 생성됩니다. 결국 KAPE의 module은 외부 프로그램을 연계해주는 역할에 불과하니까요.

 


 

6. Module processing flow chart

 

KAPE - Module Processing flow chart

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

  1. flush 옵션이 활성화되어 있으면 기존 폴더를 삭제하고 생성합니다.
  2. 모듈을 확장하고 실행할 프로세서들을 찾습니다.
  3. x86 CPU를 사용중일 경우 x86 version을 찾고 존재하면 실행정보를 업데이트합니다.
  4. msource에 명시된 파일에 해당하는 프로세서를 실행합니다.
  5. 모듈에 해당하는 카테고리를 폴더에 생성 후 결과물을 저장합니다.
  6. 압축 옵션이 활성화된 경우 결과물을 압축한 후 폴더들을 삭제합니다.

 


 

7. Container processing flow chart

 

KAPE - Container Processing flow chart

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

컨테이너 옵션 중 vhd, vhdx, zip 를 사용할 경우 플로우 차트는 위와 같습니다.

 

다음 포스팅에서는 target과 module의 설정 파일에 대해서 알아보고 커스터마이징 해보도록 하겠습니다.