카테고리 없음

Registry Shellbag

KUO88 2017. 4. 4. 18:14

Windows OS 분석 시 레지스트리 쉘백은 중요한 아티팩트이다

그 이유는, 쉘백의 생성원리를 보면 알 수 있음


쉘백은 최초로 폴더를 열람 시 생성된다

폴더를 생성하거나 복사하는 경우에도 생성되긴 하나, 그렇지 않은 경우도 있다.


레지스트리 쉘백은 Bags와 BagMRU 두 종류가 있다.

경로는 다음과 같음


  • HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

  • HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU


  • HKCU\Software\Microsoft\Windows\Shell\Bags

  • HKCU\Software\Microsoft\Windows\Shell\BagMRU


  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU


참고로 BagMRU 에는 MRUListEX 가 있는데, 이는 최근에 열람한 순서 정보를 유지하고 있다.



중요한 것은 시간 !

생각보다 간단하진 않지만 다음 사항만 기억하면 된다

레지스트리 BagMRU key 시간에는 최초로 생성될 때의 시간이 설정된다.

  • 최초 생성 = 최초 폴더 열람

Bags key 시간이 바뀌는 경우

  • 폴더 설정 변경 시
레지스트리 key 시간이 갱신되는 경우
  • 현재 폴더 생성에 의해 상위 폴더의 key 시간이 갱신됨
  • 현대 폴더 열람에 의해 상위 폴더의 key 시간이 갱신됨 (폴더 열람 순서를 MRUListEx value로 관리하기 때문) -> 현재 폴더의 shellbag 시간은 하위 폴더가 열람됨에 따라 갱신될 수 있음을 의미함


여튼 '확실'한 것은 해당 시간에 폴더를 열람 (또는 생성, 복사) 했다는 사실이다


참조 - Zhu, Yuandong, Pavel Gladyshev, and Joshua James. "Using shellbag information to reconstruct user activities." digital investigation 6 (2009): S69-S77.