프리패치
: Windows 운영체제에서 응용프로그램을 시작할 때 성능을 향상하기 위한 파일
- 실행 정보를 프리패치 파일로 미리 저장해두고, 메모리에 프리패치 파일을 미리 로드함으로써
응용프로그램 실행 시 실행속도를 빠르게 한다.
1. 부트 프리패치 - windows 부팅 시 동작하는 기능(windows 7 이전)
2. 응용프로그램 프리패치
💡프리패치 분석을 통해 알 수 있는 것
- 실행 파일 이름, 실행 파일 경로
- 실행파일 실행 횟수, 최초 실행시간, 마지막 ..
- 실행된 볼륨 정보
프리패치 동작원리
[FileName]-[FilePathHash].pf
//실행된 응용프로그램 이름(대문자 변환)
//응용프로그램 위치 경로를 이용해 계산한 해시값
C:\Windows\Prefetch
- 응용프로그램 실행 10초 지난 후 생성 → 10초 내로 실행된 프로그램은 프리패치 생성 x
- 프리패치 최대 개수는 windows 10 기준 1024
- 기본 압축 저장 → 압축 프리패치 시그니처 : MAM → 압축 해제 시 시그니처 : SCCA
device path : 볼륨 정보를 포함한 경로 → 응용프로그램이 실행된 볼륨 정보
index : 응용프로그램 실행과정에서 로드된 순서
❕점검사항
1. 외부 저장장치 프로그램 실행
2. 응용프로그램 삭제된 경우 MISSING PATH
3. 정상 프로세스에서 의심스러운 동작이 의심되는 경우 DLL injection
응용프로그램 캐시
: 응용프로그램 실행 시 여러 기능을 지원하기 위해 운영체제에 기록하는 데이터
MUICache
: 여러 언어를 지원하기 위해 프로그램 이름을 저장해둔 캐시
해당 캐시를 참고해 국가별 언어 데이터를 가져옴
- 레지스트리의 일종
❗프로그램 한 번이라도 실행 시 MUICache 목록에 존재하고, 별도의 삭제 메커니즘이 없어 오래된 실행 기록이라도 사라지지 않는다 !
- 외부 저장장치에서 실행되었는지 여부 알 수 있음
- 실행 없이도 등록되는 경우가 간혹 있음
📁 저장 위치
HKEY_USERS\<SID>\Software\Microsoft\Windows\ShellNoRoam\MUICache
또는
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache
AmCache
📁 저장 위치
C:\Windows\appcompat\Programs
: 응용프로그램 호환성 관리자와 관련된 레지스트리 하이브 파일
- 응용프로그램의 실행정보 저장 캐시 데이터 (실행 시 확실히 기록)
❕응용체제 소프트웨어-드라이버 호환성 문제로 인한 오류 방지를 위해 AE 에서는 실행파일의 전체 경로를 저장해둔다.
또한, 작업스케줄러의 ProgramDataUpdater 는 기본적으로 하루에 1번 캐시데이터 업데이트
❗프로그램이 삭제되어도 사라지지 않기 때문에, 삭제된 파일 흔적 찾는 데에 용이함
❗신뢰도 가장 높음
ShimCache(AppCompatCache)
: windows 에서 실행된 적 있는 프로그램의 흔적을 레지스트리에 캐시해 놓는 기능
- 응용 프로그램 간의 호환성 문제 해결 을 위해 만들어진 기능이지만, 디지털 포렌식에서는 프로그램 실행 기록 추적에 활용된다.
- 실행 파일의 경로, 실행 여부(단순히 존재했거나 로드되었을 수도 있음), 마지막 수정시간 정보 저장(실행시간은 아님)
- 삭제 프로그램 흔적
📁 저장 위치
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache (레지스트리)
SYSTEM 하이브 파일 안에 포함됨 (%SystemRoot%\System32\config\SYSTEM)
❗밀웨어 분석 / 타임라인 분석 / 삭제된 프로그램 흔적
❗실행기록이 아닌 '캐시 기록' - '실행된 적이 있다'는 추정 가능
🆚 Muicache vs AmCache vs Shimcache
실행 시간 | ❌ 없음 | ✅ 있음 (정확) | ⚠️ 없음 또는 부정확 |
실행 여부 | ⚠️ 추정 | ✅ 실행된 것 확실함 | ⚠️ 추정 (확실하지 않음) |
삭제된 파일 영향 | ✅ 영향 없음 | ✅ 영향 없음 | ✅ 영향 없음 |
사용자 정보 포함 | ✅ 포함 (SID 기반) | ⚠️ 일부 포함 가능 | ❌ 없음 |
접근 난이도 | 👍 쉬움 (레지스트리에서 확인 가능) | 👎 높음 (전용 도구 필요) | ⚠️ 중간 (레지스트리 하이브 분석 필요) |
저장 위치 | HKEY_CURRENT_USER... 등 - 레지스트리 항목 |
C:\Windows\AppCompat\Programs\Amcache.hve - 레지스트리 하이브 형식의 '별도 파일' - 시스팀 부팅 시 로드되지 않는다. |
레지스트리 SYSTEM 하이브 안 - 레지스트리 하이브 '내'에 저장된 캐시 (분석 시 하이브 추출!) |
포함 정보 | 파일 경로 + 창 이름 정도 | 파일 경로, 해시, 타임스탬프 등 | 파일 경로, 수정 시간 |
'Digital Forensics > Memory Forensics' 카테고리의 다른 글
[메모리 포렌식] 기타 플러그인 (3) (0) | 2025.04.26 |
---|---|
[메모리 포렌식] 프로세스 덤프 분석 플러그인 (2) (0) | 2025.04.25 |
[메모리 포렌식] 프로세스 목록 확인하기 (0) | 2025.04.25 |