본문 바로가기

Forensics/Windows Forensics

쉘백(ShellBag)

윈도우는 폴더 및 바탕화면의 보기 기본 설정을 기록하여, 사용자가 다시 방문할 때 이전 위치와 설정을 기억할 수 있도록 한다. 이러한 GUI 기본 설정은 레지스트리 내 ShellBag 키를 통해 저장된다.

 

ShellBag은 User Registry Hive(예: NTUSER.DAT, UsrClass.dat) 내에 존재하며, 사용자가 열람한 폴더(로컬, 네트워크, USB 등)에 대한 정보를 저장한다. 이를 통해 사용자가 특정 폴더에 접근한 시각을 확인할 수 있으며, 폴더가 삭제된 후에도 관련 정보를 유지하기 때문에 삭제된 폴더의 위치나 속성을 추적할 수 있다. 또한, 폴더의 삭제 및 덮어쓰기에 대한 기록도 남아 있어 디지털 포렌식 분석에서 중요한 역할을 한다.

 

레지스트리 내 ShellBag은 Bags와 BagMRU 두 가지 주요 키로 구성된다. BagMRU 키는 폴더의 이름과 경로를 저장하며, Bags 키는 창 크기, 위치, 보기 설정 등의 정보를 저장한다.

 

1. 레지스트리 경로

  • HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags
  • HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\BagMRU

 

ShellBags Explorer 프로그램을 이용하여 접근한 폴더 정보를 확인할 수 있다.

 

2. 구조 확인

 

 

 

Block

 

범위(Hex) 크기(Byte) 이름 설명
0x00 - 0x01 2 Block Size 블록 크기
0x02 - 0x03 2 Type 0x31(Directory), 0x32(File)
0x04 - 0x07 4 File Size 파일 크기
0x08 - 0x0B 4 Modification Time 수정 시각
0x0C - 0x0D 2 Type 0x10(Directory), 0x20(Zip File)
0x0E - 0x-- 가변적 Short Name 파일/폴더명 짧게 표기,
이름의 크기에 따라 다름

Extension Block

 

범위(Hex) 크기(Byte) 이름 설명
0x18 - 0x19 2 Extension Block Size 익스텐션 블록 크기
0x1A - 0x1B 2 Version  
0x1C - 0x1F 4 Signature 0xBEEF0004
0x20 - 0x23 4 Create Time 생성 시각
0x24 - 0x27 4 Last Access Time 마지막 접근 시각
0x28 - 0x2B 4 Identifier 0x2E (Windows 8.1, Windows 10)
0x2C - 0x2F 4 MFT Entry Number  
0x30 - 0x31 2 Reserved Area 예약 영역
0x32 - 0x33 2 MFT Sequence Number  
0x34 - 0x41 14 Reserved Area 예약 영역
0x42 - 0x45 4 Checksum 각각 파일/폴더의 고윳값
0x46 - 0x-- 가변적 File Name 파일/폴더명 표기,
이름의 크기에 따라 다름
0x-- - +0x4 4 Extension Block Offset  

 

'Forensics > Windows Forensics' 카테고리의 다른 글

Volume Shadow Copy  (0) 2025.02.23
USB 장치 분석  (0) 2025.02.20
Printer Spooler 분석  (0) 2025.02.19
휴지통(Recycle Bin) 분석  (0) 2025.02.19
윈도우 포렌식 개요  (0) 2025.02.18