본문 바로가기
정보보안/Forensic

[Forensic] 윈도우 응용프로그램 실행 흔적 아티팩트(prefetch, amcache, Jump List)

by Murl0c 2021. 6. 24.
반응형

윈도우에서 프로그램 실행의 흔적을 찾기 위한 아티팩트에는 프리패치(prefetch)와 암캐쉬(Amcache)가 있다.

1. 프리패치(Prefetch)

윈도우 XP부터 운영체제에서 제공하는 메모리 관리 정책으로 실행파일을 메모리로 로딩 시 효율적으로 사용하기 위해 개발되었다. 실행 파일이 사용되는 시스템 자원을 특정 파일에 사전에 저장한 뒤 사용자가 파일을 실행할 경우 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상하는 개념이다.

 

 - 부트 프리패칭

 시스템이 부팅을 시작한 후 최대 120초까지 모니터링을 한 뒤 부팅 시 사용되는 코드와 데이터 결과를 파일에 저장하여 차후 부팅 시 속도를 향상시키는 목적으로 사용

 

 - 응용프로그램 프리패칭

 응용프로그램을 초기에 실행할 때 캐쉬 관리자가 처음 10초 동안 모니터링을 통해 메모리에 로드한 코드와 데이터의 일부 혹은 전체를 파일로 생성하여 저장한 뒤, 프리패칭 된 응용프로그램을 다시 실행할 경우 프리패치 파일을 이용하여 초기 실행 속도를 향상하는데 목적이 있다. 파일 개수는 최대 128개로 최대 한계를 넘으면 가장 오래된 프리패치 파일을 삭제한다.

 

프리패치 파일을 통해 응용프로그램의 이름, 실행 횟수, 마지막 실행 시간, 최초 실행 시간(프리패치 파일의 생성시간),  실행된 볼륨의 정보, 파일이 실행될 때 참조하는 파일의 목록(DLL, SDB, INI 등)을 알 수 있다.

 

 - 파일 경로 : %SYSTEMROOT%\Prefetch

 

 

윈도우 프리패치는 정보는 NirSoft에서 개발한 WinPrefetchView로 분석할 수 있다.

https://www.nirsoft.net/utils/win_prefetch_view.html

 

 

2. 암캐시(Amcache)

프로그램 호환성 관리자와 관련된 레지스트리 하이브 파일로 응용 프로그램의 실행 정보를 저장한다. 실행한 파일의 경로, 최초 실행시간, 마지막 변경 시간, 생성 시간, 해쉬 값을 확인할 수 있으며 프리패치 파일과 병행하면 프로그램 실행의 전체적인 타임라인 구성이 가능하다.

 

 - 파일 경로 : %SYSTEMROOT%\AppCompat\Programs\Amcache.hve

 

 

암캐시는 ArmcacheParser를 이용해서 분석할 수 있다.

https://ericzimmerman.github.io/#!index.md

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

- 명령어 : AmcacheParser.exe -f [Amcache 파일 경로] --csv [저장 경로]

 

 

각 항목 별로 분석 결과가 csv 확장자 파일로 저장된다.

 

3. 점프 리스트(Jump List)

운영체제 설치 이후부터 지속적으로 사용자의 응용 프로그램 사용 로그를 저장한다. 레지스트리의 각 응용프로그램 MRU 보다 더 많은 정보를 저장하고 있다.

 

Recent : 사용자가 최근 접근한 파일이나 폴더

Frequent : 사용자가 빈번히 접근한 파일이나 폴더

Tasks : 응용프로그램에서 지원하는 작업 목록

Pinned : 사용자가 고정한 작업 목록

 

 - 저장 경로 : %AppData%\Roaming\Microsoft\Windows\Recent(최근 문서)

 

반응형