Анализ артефактов 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), пересекая источники, результаты — в таймлайн.