본문 바로가기
Forensics/윈도우 아티팩트

[Windows Forensic Artifacts - 2] Prefetch

by sseddi 2022. 4. 3.
728x90

윈도우 프리패치

- 윈도우 XP부터 운영체제에서 제공하는 메모리 관리 기법 중 하나 

   메모리 관리 기법에는 프리패치 외에 가상 메모리, 슈퍼패치, 레디부스트가 있다.

- 실행파일을 메모리로 로딩 시 효율을 올리기 위해 개발

   컴퓨터에 장착된 드라이버와 서비스, 폴더 정보, 어플리케이션 정보 등을 미리 읽음 -> 사용자가 파일을 실행할 경우 미리 저장된 정보를 메모리에서 실행하여 실행 속도를 향상 -> 즉, 응용 프로그램을 빨리 실행시키기 위해 이전에 사용했던 정보를 저장, 불러오기를 통해 속도를 높인다. (인터넷 브라우저 캐시와 비슷)

- 응용 프로그램의 이름, 실행 횟수, 마지막 실행 시간, 볼륨 정보 등 저장

   Layout.ini 파일에는 프리패치 파일에 대한 목록 저장

- 윈도우 부팅, 응용 프로그램 시작 시 성능 향상을 위해 프리패치 파일을 모두 메모리에 로드

 

Tip) 사용자가 실행한 응용 프로그램 이름 / 실행 횟수 / 마지막 실행 시간, 참조 목록, 파일시스템 시간 정보를 통한 타임라인 분석이 포렌식 관점에서 중요하다.

프리패치 파일은 다양한 정보가 저장되어 있으므로 포렌식적으로 중요한 정보 활용 가능!!

+) 프리패치 파일의 성능을 향상 시킨 슈퍼패치도 존재

 

 

프리패치 파일의 분류

부트 프리패칭

- 윈도우는 부팅 중 다양한 파일을 사용

- 부팅과 관련된 파일은 저장매체에 흩어져 있거나 단편화되어 있을 수 있음, 그 경우 부팅 속도 저하

- 프리패치에 의해 시스템이 부팅을 시작한 후 최대 120초까지 모니터링

- 부팅 시 사용되는 코드와 데이터를 모니터링한 후 결과를 파일에 저장

- 부트 프리패칭된 파일을 이용하여 부팅시 속도 향상

 

참조 목록을 통해 부팅 과정에서 로드되는 악성코드 확인 가능

 

응용 프로그램 프리패칭

- 응용 프로그램 초기 실행 시 캐시 관리자는 처음 10초를 모니터링

- 10초동안 메모리에 로드한 코드와 데이터의 일부 혹은 전체를 파일로 생성하는데, 그게 바로 프리패치 파일

- 프리패칭 된 응용 프로그램 다시 실행 시 프리패치 파일을 이용해 초기 실행 속도 향상

- 파일 개수는 최대 128개로 제한되어 이를 초과할 시 가장 오래된 파일을 삭제

 

프리패치 목록을 통해 악성코드의 직접 실행 흔적 발견

참조 목록을 통해 참조된 혹은 삽입된 악성흔적 발견

참조 목록을 통해 프로그램 관련 파일 목록 확인 

 

고려사항

- 원본 실행파일이 제거되어도 프리패치 파일은 시스템에 남아있다.

- 프리패치 파일이 존재하지 않는다고 특정 프로그램이 실행되지 않았다는 의미는 아니다.

- 윈도우 XP 이후의 모든 운영체제에서 프리패치 파일을 생성하는 것은 아니다.

 

사용할 수 있는 툴

Prefetch Manager (XP/2003/Vista)

WinPrefetchView

 

Practice

자신의 시스템에서 프리패치 파일 흔적 확인

 

비할당 영역에서 프리패치 파일 카빙한 후 분석

프리패치 파일은 최대 128개의 파일을 유지하고, 새로운 응용 프로그램이 실행되면 가장 오래 사용하지 않은 응용 프로그램의 프리패치 파일이 삭제되고 새 응용 프로그램 프리패치 파일이 추가된다. 이때 삭제는 일반삭제이므로 비할당영역에서 프리패치 파일을 카빙해볼 수 있다. - 상당히 많은 파일 발견 가능 예상

 

+) 비할당 영역 파일 카빙

실습 추가하기

 

 

Reference

http://www.forensic-artifacts.com/windows-forensics/prefetch

https://github.com/proneer/Slides/tree/master/Windows

https://ws1004-4n6.notion.site/Prefetch-Structure-Analysis-071a648fdb4445d9bfee8be3a6e4e107

https://br4gon.tistory.com/2?category=647596 

http://forensic-proof.com/archives/6103

728x90

댓글