해당 아티팩트에 대해서 잘못 알고 있던 부분이 있어서 다시 정리한다.
우선 해당 Artifact는 레지스트리의 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache
경로에 저장된다.
Prefetch처럼 응용 Application의 실행 정보(횟수, 시간 정보, 관련한 .pf파일)만을 기록하고 있는 아티팩트라고 생각했는데, 아니었다.
우선 128개만을 기록하고 있는 pf 와는 달리 제한이 없다. 그러니까, 정보가 휘발되지 않아 먼 과거의 정보까지도 확인할 수 있다는 점이다.
다만 유사하게 응용 Application의 실행 흔적은 확인할 수 있다는 점은 공통이다.
차이점이라고 한다면, "호환성"에 문제가 있는 파일에 대해 정보를 저장한다는 점이다.
Windows에서 Application과 OS 간 호환성 문제가 발생한다면 해당 정보를 Shimcache에 저장하게 된다. 그러니까 정상 프로그램도 마찬가지겠지만, 악성 프로그램의 버전 정보나 실행환경이 호환되지 않아 문제가 발생한다면 해당 정보는 Shimcache에 기록된다는 것이다.
Offset | Length | Mean |
---|---|---|
0-3 | 4 | 시그니처 |
4-7 | 4 | 미확인 |
8-1B | 4 | Entry 길이 |
1C-1D | 2 | 경로 길이 |
1E-? | 가변 | 경로 값 |
?-?+8 | 8 | 마지막 수정 시간 |
?+9-?+10 | 1 | 데이터 길이 |
?+11-?+11+Data Length | 가변 | 데이터 값 |
?+11+Data Length-?+11+Data Length + 3 | 3 | Padding |
시그니처는 31 30 74 73, 10ts이고 해당 도표를 기반으로 내꺼를 분석하면 이렇게 된다.
도구:
https://github.com/EricZimmerman/AppCompatCacheParser
Shimcache 분석해줘잉.
https://www.koreascience.or.kr/article/CFKO202125036451369.pdf