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

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fc0bf7b5-e121-4e2e-91eb-5a9dce05613c/Untitled.png

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

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d3f3616a-aed8-4a2f-a945-a21dd0294ff4/Untitled.png

Windows 10 ShellBag Aanlysis

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