ShellBags 란?

사용자가 로컬, 네트워크 및 이동식 저장장치 에서 접근한 폴더 정보를 Shellbags 레지스트리에 기록합니다. 최초로 폴더를 열람하면 생성 됩니다. 또한 폴더의 생성, 복사, 압축 프로그램에 의해서 실행되었을 경우에도 생성된다. 또한 User Registry Hive 파일(ntuser.dat / usrclass.dat) 의 ShellBag 의 하위 키를 의미 합니다.

NTUSER.DAT 는 데스크톱, Windows 네트워크 폴더, 원격 컴퓨터 및 원격 폴더에 대한 ShellBags 정보를 저장 합니다. USRCLASS.DAT 은 데스크톱, ZIP파일, 원격 폴더, 로컬 폴더, Windows 특수 폴더 및 가상 폴더에 대한 ShellBags 정보를 저장 합니다.

포렌식 관점에서의 아티팩트

존재하는 폴더의 삭제/덮어 쓰기에 대한 증거 추적이 가능하고, Explorer를 통한 폴더 접근에 대한 MAC 타임 추적이 가능하며, 사용자가 특정 폴더에 접근한 시간을 확인할 수 있습니다.

레지스트리 주요 경로

Shellbags 정보는 Bags 와 BagMRU 두가지 주요 레지스트리 키로 구성이 되어 있습니다.

Bags Key는 창의 크기, 위치 및 보기 모드 같은 기본 설정을 저장 하고 있습니다. BagMRU Key 는 폴더의 이름과 레코드 폴더의 경로를 트리구조 형식으로 저장 되어 있습니다.

Shellbags는 운영체제를 3가지로 나눌 수 있습니다. 1. Windows XP 2. Windows Vista 3. Windows 7,8,10

3가지 분류의 운영체제 마다 각각 shellbag을 다루는 레지스트리 아티팩트의 경로가 다르게 생성됩니다.

간략하게 각각의 운영체제에 따른 필요 파일 및 레지스트리 경로를 알아 봤습니다.

총 3종류의 운영체제로 구분을 지었지만 경로만 다를뿐 기능은 다 똑같기 때문에 가장 최신 운영체제인 Windows 10 에서 확인해 보겠습니다. 그리고 레지스트리 키를 다 확인후 레지스트리 키에는 어떠한 값을 확인 할 수 있는지도 한번 알아 보겠습니다.

Windows 10 ShellBag Path

Windows 10에서의 Shellbag 레지스트리를 확인해 보겠습니다.

HKCU\Software\Microsoft\Windows\Shell\Bags
HKCU\Software\Microsoft\Windows\Shell\BagMRU

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

Windows 10 ShellBag Aanlysis

Windows XP 에서는 위와 같이 똑같은 경로 하위에 Shellbag 관련 레지스트리가 존재 합니다.