Анализ артефактов Windows

Этот урок — обзорная карта артефактов Windows, которые чаще всего отвечают на вопросы расследования.

Артефакт — след деятельности в системе: запись, файл или структура, по которой можно понять, что и когда происходило.

Windows — самая распространённая ОС на рабочих станциях, и она оставляет огромное число следов. Знать, где они лежат и что означают, — половина дела. Дадим обзор ключевых источников. Главная идея форензики Windows: система постоянно «протоколирует сама себя» ради удобства и скорости, а исследователь читает эти служебные записи как летопись действий пользователя и злоумышленника.

Разбор ведут легально и по копии: своя или корпоративная машина с правом доступа либо учебный образ. Образ монтируют только для чтения, фиксируют его хеш (например, через sha256sum) и документируют каждое действие — это требование цепочки хранения доказательств и страховка от обвинений в подмене.

Реестр Windows

Реестр — иерархическая база настроек системы и приложений, но для криминалиста это ещё и кладезь следов. В нём есть данные об автозапуске (откуда стартуют программы, в т.ч. вредоносные), о подключавшихся USB-устройствах, о недавно открытых файлах, о пользователях. Физически реестр хранится в файлах-кустах (hives): SYSTEM, SOFTWARE, SAM, NTUSER.DAT.

Полезные ветки реестра:
  Run / RunOnce        -> автозапуск (закладки)
  USBSTOR              -> подключённые USB-устройства
  RecentDocs           -> недавние документы
  ShimCache/AmCache    -> следы запуска программ

Отдельно стоит подчеркнуть пару источников ShimCache (AppCompatCache в кусте SYSTEM) и AmCache.hve: они хранят сведения о когда-либо присутствовавших на диске исполняемых файлах — путь, иногда время, а AmCache ещё и SHA-1 хеш. Это бесценно, когда сам вредонос уже удалён: ссылка на него в кэше совместимости остаётся. Подключения USB реконструируют, связывая USBSTOR, ветку MountedDevices и пользовательские ключи — так выясняют серийный номер флешки и время первого/последнего подключения, что критично в делах об утечке данных.

Журналы событий (Event Log)

Windows ведёт журналы .evtx: Security, System, Application. Особенно ценен Security: входы и выходы (Event ID 4624/4625), создание процессов (4688), очистка журнала (1102 — частый признак заметания следов). По ним видно, кто, когда и откуда заходил.

Помимо трёх классических, важны специализированные журналы. Microsoft-Windows-PowerShell/Operational и Sysmon/Operational (если установлен Sysmon) дают глубину, которой нет в стандартном аудите: командные строки, хеши процессов, сетевые подключения, создание файлов. В типе входа (LogonType) различают интерактивный вход (2), сетевой (3) и удалённый рабочий стол (10) — это помогает понять, локально ли действовал злоумышленник или зашёл по сети. А множество событий 4625 с разных адресов — это типичная картина перебора паролей.

Prefetch

Файлы .pf в C:\Windows\Prefetch создаются для ускорения запуска программ, но попутно фиксируют факт и время запуска исполняемых файлов и число запусков. Это прямое доказательство того, что программа выполнялась. Помимо времени последнего запуска современный prefetch хранит до восьми предыдущих запусков и список файлов, к которым программа обращалась — иногда по нему видно, какие документы открывал вредонос. Заметим: на серверах prefetch часто отключён, а отсутствие .pf для подозрительного файла, который точно запускался, само по себе подозрительно — возможно, файлы чистили.

История браузера

Браузеры хранят историю, загрузки, кеш и cookies (часто в базах SQLite). Это помогает понять, какие сайты посещались, что скачивалось (например, вредоносная нагрузка) — в рамках расследования и права доступа. По таблице загрузок видно исходный URL и итоговый путь файла, что нередко и есть «нулевое звено»: пользователь скачал вложение с фишингового сайта. Анализ истории особенно чувствителен к приватности, поэтому его проводят строго в рамках санкционированного расследования.

Как работает под капотом

Многие из этих артефактов система создаёт для своих целей (ускорение, удобство), а криминалист использует их как побочное доказательство. Анализируют их специальными парсерами на смонтированном только для чтения образе. Удобный комбайн для быстрого сбора артефактов — KAPE, парсеры реестра — RegRipper, журналов — EvtxECmd.

Образ (RO) --> KAPE (сбор) --> парсеры:
   RegRipper  (реестр)
   EvtxECmd   (журналы .evtx)
   PECmd      (prefetch)
        -> артефакты -> в таймлайн

Сила подхода — в пересечении источников. Один артефакт можно подделать, но согласовать подделку сразу в prefetch, ShimCache, журнале 4688 и истории браузера почти нереально. Поэтому вывод о запуске вредоноса делают, когда несколько независимых артефактов указывают на одно и то же время и путь. Итог сбора сводят в единый таймлайн из предыдущего урока.

Корзина, теневые копии и LNK-файлы

Помимо «больших» источников у Windows есть множество мелких, но говорящих следов. Корзина ($Recycle.Bin) хранит удалённые файлы вместе с исходным путём и временем удаления — нередко именно там находят то, что злоумышленник пытался убрать. LNK-ярлыки и список Jump Lists фиксируют, какие документы и с каких носителей открывал пользователь, причём ярлык хранит абсолютный путь и иногда серийный номер тома — это связывает действие с конкретной флешкой. А теневые копии (Volume Shadow Copy) — это, по сути, моментальные снимки тома в прошлом: из них можно достать прежние версии файлов и реестра и увидеть систему такой, какой она была до того, как злоумышленник навёл порядок. Для расследования это машина времени: то, что удалено «сейчас», может сохраниться в снимке недельной давности.

Все эти источники объединяет одна мысль: Windows устроена так, что почти любое действие пользователя где-нибудь да отражается. Задача исследователя — знать карту этих отражений и собирать их строго по копии read-only, фиксируя каждый шаг. Особенно это важно в делах об утечке данных и злоупотреблениях: вывод «сотрудник скопировал базу на флешку в такое-то время» должен опираться на согласованные LNK, реестр USB, prefetch и журналы, а не на единственную косвенную улику.

Частые ошибки

  • Смотреть только логи. Реестр и prefetch часто дают то, чего нет в журналах.
  • Не заметить очистку журнала. Event ID 1102 — сигнал, что следы заметали.
  • Работать на живой системе бездумно. Артефакты анализируют на образе/копии RO.
  • Игнорировать NTUSER.DAT. В нём — следы конкретного пользователя.
  • Делать вывод по одному артефакту. Надёжность даёт пересечение независимых источников.

Итоги

  • Ключевые артефакты Windows: реестр (автозапуск, USB, недавнее, ShimCache/AmCache), журналы .evtx, prefetch, история браузера.
  • Prefetch доказывает факт запуска программ; Security-журнал — входы, типы входа и очистку; Sysmon/PowerShell дают глубину.
  • Анализ ведут на образе RO парсерами (KAPE, RegRipper, EvtxECmd, PECmd), пересекая источники, результаты — в таймлайн.
Проверьте себя
1. Что доказывают файлы Prefetch (.pf)?
AЧто файл был удалён
BФакт и время запуска исполняемой программы
CЧто диск зашифрован
DЧто пользователь сменил пароль
2. Какой Event ID в журнале Security часто указывает на заметание следов?
A4624 (вход)
B1102 (очистка журнала аудита)
C4688 (создание процесса)
D4625 (неуспешный вход)
3. Где в реестре искать следы подключавшихся USB-устройств?
AВ ветке Run
BВ USBSTOR
CВ RecentDocs
DВ SAM