Digital-Forensic

[DF] Windows 11 Artifact(Pca) Analysis

Y30L 2023. 8. 31. 12:54

최근 6개월 간 포렌식에 관해서 공부를 거의 진행하지 않아, 포렌식에 대해서 공부를 다시 해야겠다라고 마음을 먹은 후 관련 자료를 찾다 Windows 11 Artifact 와 관련된 자료를 발견하였다.

 

New Windows 11 Pro (22H2) Evidence of Execution Artifact! - AboutDFIR - The Definitive Compendium Project

By: Andrew Rathbun and Lucas Gonzalez Background In the last week of December 2022, on the Digital Forensics Discord Server, some discussion was brought up by a member in the #computer-forensics channel asking if anyone knew a Windows 11 folder path of int

aboutdfir.com

 

해당 포스팅을 토대로 하여 PCA 관련 여러가지 정보를 찾기 위해 노력하였으나, 자료의 양이 턱없이 부족하였고 최대한 위 포스팅을 참고하여 실습 및 분석을 진행하였다.


1. PCA란?

Program Compatibility Assistant의 약자로 프로그램 호환성 관리자를 의미하며 이전 버전에 맞춰 설계된 응용 프로그램을 실행할 수 있도록 도와주는 기능을 수행한다.

 

 

2. PCA 내 파일 구성 요소

PCA는 C:\Windows\appcompat\pca 경로에 존재하며 PcaAppLaunchDic, PcaGeneralDb0, PcaGeneralDb1로 구성되어 있다.

PCA

2.1 PcaAppLaunchDic

PcaAppLaunchDic는 지정된 실행 파일의 마지막 실행 시간을 기록하는 파일로 실행 파일의 경로 | 타임스탬프 포맷으로 작성되며, 실제로 파일을 열어보면 다음과 같다.

PcaAppLaunchDic(Pytho 실행 전)

해당 파일을 보던 중, 해당 파일의 타임스탬프 값이 실시간으로 반영되어 업데이트 되는지 아니면 특정 시점(별도의 설정된 값)을 기준으로 하여 타임스탬프 값이 업데이트되는 건지 궁금증이 생겨 Python.exe 파일을 실행하였다.

Python.exe을 실행한 결과 실행 즉시 해당 타임스탬프 값이 반영되어 업데이트되는 것으로 보아 실시간으로 반영되는 것을 알 수 있다.

PcaAppLaunchDic(Python 실행 후)

 

2.2  PcaGeneralDb0

PcaGeneralDb0에는 실행시간 | 실행 상태 | 실행가능한 경로 | 파일에 대한 설명 | 제조사 | 파일 버전 | ProgramID | 종료 코드 포맷으로 값이 저장되며 해당 파일 내 종료 코드를 가진 기록을 다수 확인하였다.

(이미지가 작은 관계로 클릭 후 확인)

PcaGeneralDb0

더보기

ProgramID 란?
프로그램별 고유한 ID 값으로 Amcache(경로 : %SystemDrive%\Windows\AppCompt\Programs\Amcache.hve)를 AmcacheParser을 사용하여 파싱하고 파싱한 파일의 UnassociatedFileEntries에서 확인할 수 있다. 

Amcache 내 존재하는 ProgramID

2.3 PcaGeneralDb1

로컬 PC에는 해당 파일에 아무 값도 존재하지 않아 공개데이터를 활용하여 분석을 진행하였다. 아래에 존재하는 PcaGeneralDb1의 파일을 보면 PcaGeneralDb0.txt와 거의 동일한 것을 알 수 있다.

PcaGeneralDb1

 

 

3. 결론

특정 실행 파일의 오류 코드 및 실행 시간(타임스탬프)와 같은 정보가 존재하기 때문에 프리패치와 유사한 형태의 기능으로 분석에 사용될 수 있을 것으로 생각한다.