Открыть сервис

Shellbag: структура и криминалистическое значение

Shellbag (также shell bag, ShellBag) — это термин, обозначающий набор структур данных реестра Windows, используемых операционной системой для запоминания параметров отображения окон проводника (Windows Explorer) и папок. Данные хранятся в ветках реестра, связанных с пользовательским профилем, и содержат сведения о размере, положении окна, виде сортировки, режиме отображения (значки, таблица, плитка) и других настройках для каждой посещённой пользователем директории.

Техническая природа и механизм работы

Shellbag формируются подсистемой оболочки Windows (Shell, компонент explorer.exe) автоматически при каждом открытии папки в проводнике. Когда пользователь изменяет внешний вид окна — например, включает режим «Крупные значки», изменяет ширину колонок или сортировку — эти параметры сериализуются и сохраняются в реестре. При следующем открытии той же папки система считывает сохранённые данные и восстанавливает прежнюю конфигурацию окна.

Хранение осуществляется в бинарном формате, который не документирован корпорацией Microsoft официально. Структура записей была исследована специалистами в области компьютерной криминалистики и цифровых расследований, в первую очередь Ювалем Исраэлем (Yuval Israeli) и командой проекта «ShellBags Explorer» (Эрик Циммерман, Eric Zimmerman). Данные кодируются в виде последовательности байтов, содержащих идентификаторы, временные метки, пути и параметры представления.

Расположение в реестре

Shellbag-записи находятся в ветках реестра, относящихся к конкретному пользователю (HKEY_USERS). Основные пути хранения зависят от версии Windows:

  • Windows XP и более ранние: HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU и ...\Bags.
  • Windows Vista и новее: HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU и ...\Bags.
  • Windows 10/11: аналогично предыдущему пункту, а также дополнительные данные в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop.

Ветка BagMRU (MRU — Most Recently Used) содержит список идентификаторов (GUID или числовые ключи), соответствующих посещённым папкам в порядке недавнего использования. Ветка Bags хранит сами параметры отображения, привязанные к этим идентификаторам. Связь между ключами BagMRU и Bags осуществляется через числовые метки, что позволяет сопоставить конкретные настройки с конкретной папкой.

Криминалистическое значение

В контексте расследования компьютерных преступлений и судебной экспертизы shellbag представляют особый интерес, поскольку они позволяют восстановить историю действий пользователя на компьютере. В отличие от записей о недавно открытых файлах (Jump Lists, MRU-списки), которые легко очищаются, shellbag-данные могут сохраняться в реестре годами и переживать удаление файлов, очистку корзины и даже переустановку некоторых компонентов системы.

Что можно установить по shellbag

Анализ shellbag позволяет эксперту получить следующие сведения:

  • Перечень посещённых папок — включая системные, сетевые, съёмные диски и даже удалённые впоследствии каталоги.
  • Временные метки — в записях хранятся даты и время последнего открытия папки (LastWrite time для ключей реестра).
  • Пути к файлам и папкам — в том числе к сетевым ресурсам (UNC-пути вида \\server\share).
  • Подключение внешних носителей — факт обращения к содержимому USB-флешек, внешних дисков и карт памяти, даже если само устройство уже не подключено.
  • Использование определённых приложений — некоторые программы (например, диалоговые окна сохранения/открытия файлов) также создают записи, сходные с shellbag.

Ограничения метода

Следует учитывать, что shellbag не фиксируют факт открытия конкретного файла — только факт обращения к папке. Кроме того, данные не всегда однозначно указывают на конкретного пользователя, если учётная запись использовалась несколькими лицами. Очистка реестра утилитами (например, CCleaner) или ручное редактирование может частично или полностью уничтожить эти записи.

Методы анализа

Для извлечения и интерпретации shellbag-данных применяются специализированные инструменты. Наиболее известные из них:

  • ShellBags Explorer — программа Эрика Циммермана, позволяющая читать данные из файлов реестра (кустов) и отображать их в удобном табличном виде.
  • RegRipper — набор скриптов для анализа реестра, включающий плагины для работы с BagMRU и Bags.
  • FTK Imager и EnCase — коммерческие криминалистические платформы, имеющие встроенные модули парсинга shellbag.

Процесс анализа обычно включает следующие этапы: создание образа диска, извлечение кустов реестра (например, файла NTUSER.DAT из профиля пользователя), загрузка куста в инструмент анализа и интерпретация бинарных структур. Эксперт должен учитывать, что данные в реестре могут быть фрагментированы, а временные метки — изменены при копировании или восстановлении системы.

Судебная практика и доказательственное значение

В судебных разбирательствах shellbag-анализ используется как часть цифровой экспертизы для подтверждения или опровержения фактов доступа к определённым данным. Например, если обвиняемый отрицает, что открывал папку с конфиденциальными документами, наличие соответствующих shellbag-записей в его профиле может служить косвенным доказательством обратного. Однако такие улики редко рассматриваются как самостоятельные — обычно они дополняются анализом журналов событий Windows, файловой системы (журнал NTFS, $UsnJrnl) и другими источниками.

Важно отметить, что интерпретация shellbag требует высокой квалификации эксперта, так как структуры данных различаются между версиями Windows и могут быть подвержены ложным срабатываниям — например, при автоматической индексации или работе поисковых агентов.

Способы очистки и противодействия анализу

Пользователи, осведомлённые о криминалистическом значении shellbag, иногда пытаются удалить эти записи. Полная очистка возможна путём удаления соответствующих веток реестра вручную или с помощью специализированных утилит. Однако такие действия сами по себе могут быть зафиксированы в журналах безопасности или оставить следы в виде изменённых временных меток, что в ходе расследования может быть расценено как попытка сокрытия улик. Кроме того, использование режима «Гость» или временных профилей не гарантирует отсутствие shellbag-записей, так как система может создавать их и для таких учётных записей.

Литература и источники

  • Zimmerman, E. «ShellBags Explorer» — документация и руководство пользователя.
  • Carvey, H. «Windows Forensic Analysis Toolkit» — разделы, посвящённые анализу реестра.
  • Israeli, Y. «Shellbags: The Hidden Evidence» — исследовательская работа.
  • Документация Microsoft по структуре реестра Windows (MSDN).
Загружаем BFOmetr…