요즘은 문제를 풀면서 조금씩 지식을 쌓고있는 중이다.
오늘은 프리패치에 관한 문제를 풀었기 때문에 까먹지 않기 위해 프리패치에 대한 글을 하나 쓰려한다.
0. Prefetch file이란?
응용 프로그램이 특정 위치에서 처음 실행될 때 Windows에서 사전 추출 파일 생성.
쉽게말하면 시스템에서 한번이라도 실행된 적이 있는 프로그램은 프리패치 파일을 생성한다. 이런 이유로 포렌식 수사관들에게는 좋은 아티팩트라고 할 수 있다.
생성되는 포맷이 있는데 CMD.EXE-ABCDEF.pf 이런식으로 프로그램이름-hash.pf 형식으로 생성된다.
여기서 hash값은 실행파일의 path의 hash값이라고 한다.
prefetch file들은 C:\Windows\Prefetch 에 존재한다.
1. Prefetch file 생성 이유는?
프리패치 파일을 생성하면 프로그램 로딩속도가 빨라진다고 한다. 또한 128개였나? 그 정도를 max로 둬서 넘으면 예전꺼는 지워지는 것 같다.
2. NTFS ADS에 관련된 pf file
ADS란 Alternate Data Stream의 약자로 file에서의 데이터 스트림을 의미한다.
NTFS에서는 다중의 데이터 스트림을 지원하는데 파일에 하나 이상의 데이터 스트림을 담을 수 있다는 뜻이다.
그래서 ADS를 이용하여 데이터를 숨길 수 있다.
만약 h32j00.txt의 ADS에 svchost.exe를 숨기고 svchost.exe를 실행시킨다고 하면?
svchost.exe의 prefetch file이 생성되지 않고 h32j00.txt와 같은 이름의 파일이 생성된다.
정~말 신기하다!!
[참조]
1.
https://www.magnetforensics.com/blog/forensic-analysis-of-prefetch-files-in-windows/
2.
https://kali-km.tistory.com/entry/ADS
'Forensics' 카테고리의 다른 글
Little Endian & Big Endian (0) | 2020.04.26 |
---|---|
[디지털포렌식과제] Mission4 (0) | 2020.04.26 |
[디지털포렌식과제] Mission2 (0) | 2020.04.19 |
[디지털포렌식과제] Mission1 (0) | 2020.04.19 |
[PE structure] pe parser 만들기 (1) | 2020.02.22 |