Мы продолжаем цикл статей, посвящённых исследованию цифровых следов в компьютерах с ОС Windows. Если вы следите за нашими публикациями, наверняка заметили: с каждой новой темой анализ становится всё сложнее, ведь взятые по отдельности артефакты не дают всей картины. Современная криминалистика во многом опирается на сопоставление данных из разных источников. Собирая и сопоставляя данные из разных источников, специалисты восстанавливают целостную картину происшествия и формируют надёжную доказательную базу.
На сей раз мы рассмотрим артефакты файловой системы, автоматически создаваемые операционными системами Windows 10 и Windows 11, сосредоточившись на файлах, не привязанных к конкретным пользователям; в первую очередь — расположенным в каталоге C:\Windows. Анализ этих артефактов может помочь понять, какие программы запускались, определить неавторизованный доступ, увидеть признаки того, что кто-то активно работал за компьютером.
Чтобы не уходить далеко в сторону, несколько крупных тем мы сознательно опустим. Файлы кустов реестра Windows и журналы событий (.evtx) выходят за рамки этого материала; вы можете изучить криминалистический анализ журналов событий Windows 10 и 11, а также исследование реестра Windows. Мы также не будем разбирать файлы сторонних и даже встроенных в системе программ, включая артефакты встроенных приложений вроде Microsoft Edge, если они находятся за пределами системной папки. Наконец, каталог C:\ProgramData\ — где хранятся общие конфигурации приложений и некоторые системные данные — мы разберём в отдельной статье.
Примечание: текст рассчитан на читателя, который хорошо понимает внутреннее устройство Windows, структуру файловых систем и стандартные методы сбора криминалистических данных. Эта статья — техническая справка для опытных экспертов и специалистов по безопасности. Поведение артефактов и их доказательная ценность могут заметно различаться. На это влияют такие факторы, как версия сборки ОС, её редакция (клиентская или серверная), политики аудита, настройки журналирования, лимиты хранения данных и аппаратная поддержка (например, Modern Standby). Перед тем как делать окончательные выводы, документируйте эти параметры.
На практике жёстко заданные пути не всегда ведут туда, куда вы рассчитываете. Если во время экспресс-анализа работающей системы или при автоматизированном сборе данных полагаться на жёстко прошитые пути вроде C:\Windows\, можно ошибиться. Особенно это касается систем с несколькими ОС или сложных конфигураций. При исследовании работающей системы лучше начинать с анализа переменных среды Windows, таких как %windir% или %SystemRoot%, а не использовать сразу C:\Windows. В большинстве случаев активная установка Windows будет именно в этой папке, но в редких случаях (например, если злоумышленник загрузил систему с внешнего накопителя, и вы застали этот момент) в ней может оказаться неактивная версия системы. Переменные среды укажут на активный системный каталог.
Кроме того, Windows использует ряд скрытых служебных папок, таких как %AppData% и %LocalAppData%, а также пути к профилям пользователей в %UserProfile% (или %HomeDrive%%HomePath%). Эти папки содержат множество артефактов, связанных с конкретным пользователем. Мы вернёмся к ним в другой статье, а пока сосредоточимся на общесистемных артефактах в каталоге Windows.
В Windows есть большие массивы данных, которые постоянно меняются и редко помогают на первом этапе. Разбор таких данных отнимает время, засоряет хронологию и даёт много противоречивых сигналов. Обычно их лучше сразу исключить из первичного просмотра. При необходимости вы всегда сможете вернуться к ним, если расследование напрямую затрагивает соответствующую подсистему:
%WinDir%\Temp\*): Набор остатков от установщиков и «мусорных» файлов приложений. Содержимое меняется постоянно, а временные метки здесь нередко бывают некорректными, что сильно усложняет построение чёткой хронологии.%WinDir%\Prefetch\ReadyBoot\*.etl): Файлы ETL, которые используются для оптимизации загрузки через SuperFetch/SysMain. Они быстро перезаписываются и в основном содержат показатели производительности. Это не то место, где нужно искать следы запуска программ в первую очередь.%SystemDrive%\PerfLogs\*и %WinDir%\System32\LogFiles\WMI\*): Данные счётчиков производительности для мониторинга в реальном времени. Приоритет этих данных в качестве цифровых доказательств, как правило, низкий. Исключение — если вы расследуете злоупотребление ресурсами, попытки искусственно замедлить систему или работу средств профилирования.%WinDir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\Windows Defender*): Обновления Защитника Windows и временные файлы, иногда в огромном количестве. Могут быть полезны, если расследование сфокусировано на самом Defender, но в остальных случаях это, скорее, шум.База данных System Resource Utilization Monitor (SRUM)
Подсистема SRUM появилась ещё в Windows 8 и до сих пор используется в актуальных версиях системы вплоть до самых последних обновлений Windows 11. Как следует из названия System Resource Usage Monitor, подсистема SRUM отслеживает и фиксирует информацию об использовании ресурсов различными приложениями. В базу данных попадает информация о сетевых соединениях, а также о том, какие приложения или процессы запускались, в каком режиме (активном или фоновом) работали и когда они были завершены. Эти данные хранятся в течение 30 дней (этот период можно переопределить редактированием групповых политик) в файле SRUDB.dat. Формат файла — двоичный ESE (Extensible Storage Engine), с которым работают также службы Windows Search, Active Directory и Exchange.
Подсистема мониторинга SRUM работает в фоновом режиме без каких-либо уведомлений. В результате о ней не знает большинство пользователей, в результате чего в базе SRUM часто можно найти информацию о событиях, которые были вычищены из других источников (например, системного журнала событий или файлов Jump Lists).
Более подробно об этих данных мы писали в статье Анализ событий из системной базы SRUM.
%WinDir%\System32\sru\SRUDB.datSOFTWARE для получения контекста о глобальных сетевых профилях.Файлы Windows Prefetch
Файлы Prefetch — это артефакты кэширования, которые создаёт механизм предварительной выборки Windows (Prefetcher/SysMain) для ускорения запуска приложений. В самом начале после запуска приложения (обычно это около десяти секунд) Windows отслеживает файлы и страницы памяти, к которым обращается программа, и сохраняет краткую сводку на диск.
%WinDir%\Prefetch*.pf.pf, это может указывать на запуск соответствующего исполняемого файла..pf может сохраниться, пока его не перезапишут или не удалят.Базы данных Program Compatibility Assistant (PCA)
Служба PCA (PcaSvc) отслеживает устаревшие приложения и применяет настройки совместимости, чтобы старые программы работали в новых сборках Windows. Начиная с Windows 11 22H2, исследователи отмечают появление текстовых файлов телеметрии PCA (например, PcaAppLaunchDic.txt и PcaGeneralDb*.txt) в директории appcompat.
%WinDir%\appcompat\pca\PcaAppLaunchDic.txt и %WinDir%\appcompat\pca\PcaGeneralDb*.txtNTUSER.DAT (особенно с разделом UserAssist). Сверяйте с журналом Security.evtx (событие Event ID 4624 — Успешный вход в систему), чтобы установить причастность конкретного пользователя.Сведения о запуске Windows Diagnostic Infrastructure (WDI StartupInfo)
Каждому приложению из автозагрузки присваивается степень влияния на запуск Windows; эти данные отображаются в Диспетчере задач (Изучение автозагрузки Windows с помощью Windows Performance Analyzer). К примеру, степень влияния оценивается как «высокая», если приложение использует более 1 секунды времени процессора или свыше 3 МБ дисковых операций. Механизм StartupInfo собирает показатели производительности приложений во время загрузки ОС и генерирует XML-журналы, которые можно связать с конкретными SID пользователей.
%WinDir%\System32\WDI\LogFiles\StartupInfo\<SID>_StartupInfo<index>.xmlNTUSER.DAT и SOFTWARE. Используйте событие Event ID 4624 из Security.evtx, чтобы зафиксировать временное окно входа в систему.Следы Modern Standby и SleepStudy
На системах с поддержкой Modern Standby (или там, где есть данные SleepStudy) Windows создаёт связанные с этой функцией файлы ETL и отчёты. Они нужны для отслеживания переходов между состояниями питания и расхода заряда батареи. В зависимости от устройства и сборки это могут быть файлы наподобие UserNotPresentSession.etl.
%WinDir%\System32\SleepStudy\*.etlРепозиторий Windows Management Instrumentation (WMI)
WMI — базовый административный механизм. Он хранит определения классов, экземпляры и компоненты подписки на события в бинарных файлах репозитория собственного формата (включая OBJECTS.DATA, INDEX.BTR и MAPPING.MAP). Имеет смысл анализировать, если есть подозрение на заражение вредоносным ПО или взлом системы.
%WinDir%\System32\wbem\Repository\ (и %WinDir%\System32\wbem\AutoRecover\)wbem\AutoRecover. Это помогает восстановить закрепление после перестроения репозитория.Microsoft-Windows-WMI-Activity/Operational и Microsoft-Windows-PowerShell/Operational. Событие Event ID 4104 из журналов PowerShell (журналирование блоков скриптов) особенно полезно, если оно включено и содержит нужные фрагменты кода.Журналы устройств и приложений SetupAPI
Механизм SetupAPI управляет установкой устройств и драйверов; события записываются в журналы setupapi.*.log.
%WinDir%\inf\setupapi.*.logUSBSTOR и MountedDevices в кусте реестра SYSTEM. Это поможет связать физическое оборудование с буквами дисков. Затем сравните это с артефактами ShellBags, чтобы подтвердить факты просмотра файлов пользователем.Журналы событий Wi-Fi (WLAN AutoConfig)
Windows может сохранять события для диагностики беспроводных систем (например, в файле Wifi.etl). Они привязаны к службе автонастройки WLAN (WLAN AutoConfig) и соответствующим источникам из журнала событий (Event Logs).
%WinDir%\System32\LogFiles\WMI\Wifi.etlSOFTWARE (например, Microsoft\Windows NT\CurrentVersion\NetworkList). Это добавит долгосрочный контекст о сохранённых и ранее обнаруженных сетях.Метрики использования ПО (SUM) и журналирование доступа пользователей (UAL) (только для Windows Server)
Механизм UAL отслеживает входящие клиентские запросы к ролям Windows Server и сохраняет данные в базах ESE в каталоге %WinDir%\System32\LogFiles\Sum\. В основном это серверный артефакт, но о нём стоит помнить, если вы ведёте расследования, где задействованы и клиентские машины, и серверы.
%WinDir%\System32\LogFiles\Sum\Следующие артефакты обычно менее критичны для расследований краж данных или несанкционированного доступа. О них полезно знать, но они редко стоят затраченного времени. Исключение — если ваша гипотеза прямо указывает на эти источники.
Журналы установки Windows и подсистемы Panther
Движок Panther генерирует журналы (такие как setupact.log и setuperr.log), которые документируют процесс установки и обновления Windows.
%WinDir%\Panther\и файлы setuperr.log и setupact.log в подпапкахSYSTEM.Дампы сбоев системы Windows (Минидампы)
При серьёзных сбоях, известных как «экран смерти», Windows может сохранить данные о сбое на диск (в зависимости от системных настроек). Это включает небольшие файлы дампов в каталоге Minidump.
%WinDir%\Minidump*.dmp (и полный дамп в %WinDir%\MEMORY.DMP)Журналы трассировки событий AutoLogger
Некоторые диагностические подсистемы обходят стандартный просмотрщик событий (Event Viewer) и пишут данные напрямую в бинарные файлы .etl. Пример — файл AutoLogger-Diagtrack-Listener.etl.
%WinDir%\System32\LogFiles\WMI\AutoLogger-Diagtrack-Listener.etlКэш шрифтов Windows
Windows кэширует метрики шрифтов в двоичных файлах (таких как FNTCACHE.DAT) для ускорения отрисовки текста.
%WinDir%\System32\FNTCACHE.DATNTUSER.DAT).Как и ранее описанные артефакты реестра и системных журналов, артефакты файловой системы нельзя использовать для полноценной реконструкции инцидента в отрыве от других источников. Перекрёстный анализ и сопоставление данных из нескольких источников — необходимая часть работы специалиста. И здесь важно понимать не только то, какие именно артефакты существуют в системе, но и то, как они связаны между собой. Сопоставление информации из файлов, записей в системном журнале и ключей реестра позволяет не просто установить факты, но и убедительно обосновать свою точку зрения в суде.
Для ускорение сбора данных из различных источников мы разработали продукт Elcomsoft Quick Triage, предназначенный для быстрого сбора широкого спектра системных артефактов с работающих систем, образов дисков или смонтированных томов. Но помните: даже лучшие в мире программы не установят взаимосвязи, не проведут вас за ручку через все этапы расследования и тем более — не примут решение за вас. Наш продукт поможет собрать, отфильтровать и систематизировать данные, но для установления фактов, интерпретации мотивов и выстраивания чёткой хронологии по-прежнему требуются усилия и профессиональный опыт специалиста.
Мы благодарны членам сообщества криминалистов, чьи исследования продолжают развивать нашу отрасль:
Elcomsoft Quick Triage поможет быстро извлечь и проанализировать самые важные данные из множества источников с исследуемого компьютера на ранних этапах расследования как на выезде, так и в лаборатории.