안녕하세요. 도깬리 포렌식스 입니다.
오늘은 ShellBags와 Prefetch에 대해 알아 봅니다. 모두 화이팅 하세요!!!
ShellBags
ShellBags는 윈도우 XP 시절부터 존재하였으나, 최근에 와서야 포렌식 조사자들이 그것의 잠재적인 가치를 인식하게 된 아티팩츠입니다.
이것은 윈도우 사용자가 네트워크 폴더와 이동식 디바이스 등을 대상으로 윈도우 탐색기로 열람하였을 때 폴더의 크기, 위치, 컨텐츠 뷰에 대한 사용자의 설정을 저장한 것 입니다.
예를 들어, 어떤 사용자가 USB 디바이스에서 사진이 저장된 어떤 폴더에 접근하였다면, 윈도우 탐색기의 기본적인 뷰는 디폴트 뷰 입니다. 그러나 사용자는 매번 그 폴더를 열 때마다 그 이후 썸네일 뷰가 될 수 있도록 디폴트 뷰를 썸네일 뷰로 바꾸려고 합니다. 사용자는 아이콘 선택사항 중 하나로써 윈도우 탐색기 툴바의 보기 드랍 다운 메뉴에서 Details의 옵션을 바꿀 수 있습니다. 이때 윈도우(Vista, 7, 8, 10)은 사용자의 UsrClass.dat 파일에서의 이러한 설정을 저장하게 됩니다. 다만 윈도우 XP에서는 설정이 NTUSER.dat 파일에 저장됩니다.
ShellBags 아티팩츠는 조사자에게 폴더 설정, 윈도우 탐색기에서의 로컬 브라우징 히스토리에 대한 사용자의 추가적인 행위를 인식하게 합니다. Link 파일과 Jump Lists처럼 분석대상 시스템에 더 이상 존재하지 않는 파일과 폴더에 대한 잠재적인 증거로 활용됩니다.
운영체제 버전별 Shellbags 아티팩츠의 위치는 다음과 같습니다.
Window XP – NTUSER.dat에 위치
Software\Microsoft\Windows\Shell
Software\Microsoft\Windows\Shell\NoRoam
Window Vista, 7, 8, 10 – UsrClass.dat에 위치
Local Settings\Software\Microsoft\Windows\Shell\Bags
Local Settings\Software\Microsoft\Windows\Shell\BagMRU
AXIOM은 윈도우 Vista, 7, 8, 10에서의 Shellbags 아티팩츠를 다음 경로의 UsrClass.dat 파일에서 파싱합니다.
Users\<username>\AppData\Local\Microsoft\UsrClass.dat
다음과 같은 정보를 확인할 수 있습니다.
- 폴더 경로
- 윈도우 탐색기에서의 마지막 접근 일시
- 시스템 타임스탬프
- 폴더의 내용에 대한 열람 모드 설정
Prefetch
AXIOM은 Windows Prefetch 아티팩츠를 파싱합니다.
위치는 Windows\Prefetch 입니다
윈도우 프리페칭 기능은 Windows Server 2003, Windows XP에서 처음 소개되었습니다.
다음과 같이 2개의 프리페칭이 존재합니다.
Boot prefetching
컴퓨터의 부팅하는 과정에서 접근하는 파일의 데이터를 모으고 부팅 속도를 빠르게 합니다.
포렌식의 관점에서는 부트 프리페치는 가치가 별로 없습니다.
Application prefetching
마지막 8개의 어플리케이션 구동 흔적을 확인할 수 있습니다.
기본적으로 프리페치 서비스는 2개 유형 모두 흔적을 남깁니다.
그러나 System 하이브에서의 PrefetchParameters 키의 EnablePrefetcher 값으로 하나만 적용할 지, 둘 다 적용할 지, 또는 모두 적용하지 않을 것인지 선택 할 수 있습니다.
어플리케이션이 처음으로 호스트 시스템에서 구동될 때, 해당 파일인 *. pf 파일이 Prefetch 폴더에 생성됩니다.
어플리케이션 프리페치의 목적은 윈도우가 어플리케이션을 로드 하는 시간을 줄이기 위함 입니다.
Prefetch 폴더에 저장되는 파일은 실행되는 어플리케이션의 이름을 기반으로 알파벳 순서대로 열거됩니다.
*.pf 파일의 이름 명명규칙은 어플리케이션 이름과 .exe로 시작되고, 그 뒤를 이어 전용 해시값이 표시되며, 그리고 .pf 확장자를 갖습니다.
예) CHROME.EXE-5FE990A0.pf
Prefetch 폴더에는 Layout.ini 폴더가 존재하는데, 이것은 부트 프로세스와 호스트 어플리케이션과 관련된 경로, 모든 dependencies가 기록되어 있습니다.
layout.ini 파일 안의 각 엔트리는 그것들이 로드되는 때 순서대로 기록됩니다.
마이크로소프트에 따르면, Prefetch 파일은 데이터 오브젝트로 취급되며, 따라서 최대 저장 용량은 XP의 경우에는 126개의 엔트리로 설정되어 있고, Vista, 7, 8, 10의 경우에는 129개의 엔트리로 설정되어 있습니다.
엔트리의 최대 숫자에 도달하면, 윈도우는 자동으로 32개의 엔트리를 제외하고 모두 삭제합니다. 선입선출(FIFO) 규칙에 따라 가장 최근의 32개의 엔트리가 남아 있을 것 입니다.
NTUSER.dat 파일 안의 UserAssist 키는 어플리케이션의 구동에 관한 흔적(어플리케이션 이름, 최근 구동 일시, 구동 횟수)을 특정 윈도우 사용자와 맵핑시켜 줍니다.
윈도우의 Prefetch 파일도 비슷한 정보를 제공하는데, 사용자 측면이기 보다는 시스템 측면의 데이터 입니다.
Prefetch (*.pf) 파일안에 저장된 데이터(윈도우 10 이전 버전)는 압축되어 있지 않고, 해석하는데 있어 상대적으로 직관적입니다.
Pretetch 파일의 구조
Windows XP
offset 0-11
Header
offset 4-7
“SCCA” record entry header
offset 16
Application Name (variable length)
offset 120-127
Date/Time of Last Launch
offset 144-147
Number of Launches
Windows 7/8
offset 0-11
Header
offset 4-7
“SCCA” record entry header
offset 16
Applicaton Name (variable length)
offset 128-135
Date/Time of Last Launch
offset 152-155
Number of Launches
Windows 10
윈도우 10의 Prefetch와 SuperFetch 파일은 XPRESS HUFFMAN 알고리즘(또는 일명 ‘MAM 포맷’)으로 압축되어 있습니다.
윈도우 8에서도 MAM을 사용하여 슈퍼패치 파일을 압축하였으나, 프리패치 파일은 압축하지 않았습니다. Checksum이 Superfetch 파일에만 존재하고, Prefetch 파일에는 존재 하지 않았습니다.
압축하는 이유는 저장 공간을 줄이려는 의도도 있었겠으나, 하드디스크 드라이브에 대한 Input/output 속도를 줄이기 위한 목적이었을 수도 있습니다.
Prefetch setting in the registry
Prefetch와 Superfetch 기능은 부팅이 이루어지는 동안, 그 다음에 사용자가 구동할 때 로드되는 어플리케이션을 모니터링합니다.
기본적으로 운영체제는 모든 것을 모니터링하지만, 사용자는 프리패치/슈퍼패치가 어떤 활동을 모니터링 할 것인지 선택할 수 있을 뿐만 아니라, 완전히 비활성화 시킬 수도 있습니다.
만약 위 기능이 임의적으로 비활성화 되어 있다면, 사용자가 고의로 로컬 시스템에서의 어플리케이션 사용 현황에 대한 조사를 미리 차단하기 위한 것으로 볼 여지도 있습니다.
System 하이브 안의 다음 경로에서 확인 가능하다.
System\ControlSet###\Control\Session Manager\Memory Management\PrefetchParameters
2개의 값이 있는데, 이것은 Prefetch/Superfetch 서비스의 상태를 나타내는 것 입니다.
EnablePrefetcher
EnableSuperfetch
각 값은 서비스의 상태를 다음과 같이 나타냅니다.
0 : Service disabled
1 : Application only
2 : Boot process only
3 : Application and boot process (default)
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : Magnet AXIOM Examinations (AX200)
'AXIOM' 카테고리의 다른 글
[AXIOM] 모바일 아티팩츠 분석 기능 (1) (0) | 2023.04.06 |
---|---|
[AXIOM] 윈도우 이벤트 로그 분석기능 (0) | 2023.04.04 |
[AXIOM] Jump Lists 분석 (0) | 2023.03.30 |
[AXIOM] Link Files와 Recent Docs (0) | 2023.03.28 |
[AXIOM] Mounted Devices, MountPoints2, UserAssist (0) | 2023.03.26 |