Обзор криминалистических артефактов Windows
Всем привет! Меня зовут Сергей Кислухин, я работаю аналитиком 3 линии SOC, и мне есть чем поделиться в области реагирования на компьютерные инциденты на хостах под управлением Windows.
Введение
При расследовании инцидентов информационной безопасности на хостах под управлением Windows, специалистам приходится искать свидетельства и доказательства вредоносной активности. В типичной ситуации аналитик сталкивается с физическим диском или его образом, содержащим множество артефактов, которые не всегда легко интерпретировать. Чаще всего работники обращаются к журналам событий системы, однако их может быть недостаточно, особенно если аудит событий не настроен должным образом, а журналы либо удалены, либо сохраняются лишь на короткий срок.
Иногда даже стандартный набор артефактов, изучаемый на различных учебных программах по расследованию инцидентов может не дать полный ответ на вопрос: «Что произошло в системе?». Например, злоумышленник может успеть очистить наиболее популярные артефакты, или данные в процессе сбора или передачи могут повредиться.
Цель этой статьи — предложить наиболее полный список источников информации, которые могут быть полезны для выявления следов вредоносной активности, и, кратко, в виде шпаргалки предложить где их находить и чем анализировать.
Оглавление
Типы артефактов
Артефакты активности в Windows
Информация о системе (System Information)
Выполнение команд (Command Execution)
Выполнение приложений (Application Execution)
Открытие файлов и папок (File/Folder Opening)
Удаленные элементы и существование файлов (Deleted Items and File Existence)
Сетевая активность (Network Activity)
Использование внешних устройств/USB (External Device/USB Usage)
Выводы
Типы артефактов
Все предложенные далее артефакты можно разделить на 4 группы — источника:
Журналы событий безопасности:
Имеют расширение .evtx
Хранятся в каталоге
%SystemRoot%\System32\winevt\Logs\*
Анализ: стандартный
%SystemRoot%\System32\eventvwr.msc
, Event Log Explorer, SIEM
Реестр Windows:
Файлы:
%SystemRoot%\System32\Config\*
(SOFTWARE, SYSTEM, SAM, …)%UserProfile%\NTUSER.DAT
%LocalAppData%\Microsoft\Windows\UsrClass.dat
%SystemRoot%\AppCompat\Programs\Amcache.hve
Анализ: стандартный
%SystemRoot%\regedit.exe
, Registry Explorer, RegRipper.
Файлы системных утилит, которые используются в работе для получения быстрого доступа к ранее введенным командам или открываемым папкам и файлам.
Файлы в которых хранится системная информация (для ускорения работы или журналирования сбоев), изначально не предназначенная для форензики, но которую можно использовать для этих целей.
При возможности, для каждого артефакта приведены его описание, что он содержит, где находится и название утилиты, с помощью которой его можно проанализировать. Также по минимуму будут указываться источники в виде журналов безопасности, т.к. все равно их смотрят в первую очередь, и подробный разбор всех событий для анализа активности пользователей являются темой для отдельной статьи.
Артефакты активности в Windows
Информация о системе (System Information)
Артефакты системной информации содержат базовые параметры, которые будут необходимы для определения ключевых характеристик системы. Особенно полезны при анализе образов дисков без идентификации (например при решении заданий CTF).
Версия ОС и Дата установки:
Часовой пояс:
Имя хоста:
Сетевые интерфейсы:
Установленные антивирусные программы и их статус:
Список установленных патчей и обновлений системы:
Перечень пользователей:
Членство пользователя в группах:
Переменные среды пользователя:
Время последнего входа в систему:
Установленные программы:
Выполнение команд (Command Execution)
Главное в поиске вредоносных команд не выйти на самого себя
Артефакты, связанные с выполнением команд, помогают установить, какие команды и скрипты запускались в системе. Данные артефакты являются наиболее ценными, т.к. также могут дать информацию о путях к вредоносным приложениям или уже удаленным файлам.
Журналы событий безопасности:
Security.evtx → event_id 4688 — Был создан новый процесс (необходима настройка аудита Windows для вывода команд);
Microsoft–Windows–PowerShell/Operational.evtx, Windows PowerShell.evtx;
Microsoft-Windows-Shell-Core/Operational.evtx → event_id 9707 — Выполнение процесса из разделов реестра автозагрузки с указанием командной строки.
PowerShell Consolehost History
История введенных команд Powershell.
Содержит 4096 последних запущенных команд в Powershell (Без временных отметок выполнения команд. Единственная временная метка — время изменения файла = время запуска последней команды).
%AppData%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
Профили PowerShell:
Планировщик заданий Windows:
Файлы запланированных задач Windows, выполняющиеся по расписанию или при наступлении определенных событий.
Содержат команды и условия, при которых они должны запускаться.
%SystemRoot%\Tasks\*
,%SystemRoot%\System32\Tasks\*
,%SystemRoot%\SysWOW64\Tasks\*
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tree\*
,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks\*
Журнал Windows-TaskScheduler/Operational.evtx;
Хранилище свойств объектов WMI:
Подобие планировщика задач, но на основе WMI Event Consumer.
Содержат команды и условия, при которых они должны запускаться.
%SystemRoot%\System32\WBEM\Repository\OBJECTS.DATA
Анализ: python–cim, PyWMIPersistenceFinder.py .
Задания BITS:
Задачи механизма асинхронной передачи файлов, для удаленных подключений.
Содержат очереди из операций с файлами.
%AllUsersProfile%\Microsoft\Network\Downloader\*
:Анализ: BitsParser.
Журналы антивируса:
Вредоносные команды могут сохраняться в результате детектирования движком поведенческого анализа.
Содержит информацию о зафиксированных вредоносных объектах на хосте.
Windows Defender: Журнал Microsoft-Windows-Windows-Defender/Operational.evtx +
%ProgramData%\Microsoft\Windows Defender\Scans\History\*
Службы:
Фоновые приложения, обеспечивающие функциональность операционной системы и запускающиеся без участия пользователя.
Содержат путь до исполняемого файла (иногда с командой) и тип его запуска (автоматически или вручную).
SYSTEM\CurrentControlSet\Services\*
+ Журнал System.evtx → event_id 7034–7045
Файлы гибернации и подкачки:
Файл гибернации содержит дамп оперативной памяти, созданный при переходе системы в состояние гибернации. В нем могут находиться данные активных или уже завершенных процессов.
Файл подкачки служит для временного хранения данных из оперативной памяти, когда ее недостаточно. В нем могут храниться фрагменты памяти, включая данные завершенных процессов, пароли, фрагменты документов и т. д.
Файл гибернации
C:\hiberfil.sys
. Файл подкачкиC:\pagefile.sys
.Анализ: Volatility, Strings, PhotoRec
Выполнение приложений (Application Execution)
Суть артефактов указывающих на выполнение приложений
Артефакты выполнения приложений помогают в восстановлении последовательности действий на компьютере, определении подозрительных или нежелательных программ, а также позволяют выявить изменения в системе, связанные с их запуском.
AppCompatCache / ShimCache:
Механизм совместимости приложений Windows, который содержит список исполняемых файлов, запущенных в системе.
Содержит полные пути к файлам и временные метки последнего изменения файла (по одинаковому времени можно искать переименования и перемещения файлов).
SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
>AppCompatCache
Анализ: appcompatprocessor, AppCompatCacheParser.
Amcache:
Реестровый файл Windows, который содержит информацию о всех исполняемых файлах на хосте.
Содержит полный путь к файлу, время первого запуска файла, размер файла, хэш SHA-1 файла, информацию о программном обеспечении.
%SystemRoot%\AppCompat\Programs\Amcache.hve
Анализ: AmcacheParser, appcompatprocessor.
Windows JumpLists:
Функция панели задач Windows, которая позволяет пользователям просматривать список недавно использованных элементов.
Содержит время первого запуска приложения, путь к приложению, а также хосты, к которым осуществляется доступ через RDP.
%AppData%\Microsoft\Windows\Recent\AutomaticDestinations\*
+%AppData%\Microsoft\Windows\Recent\CustomDestinations\*
Анализ: JLECmd, JumpList Explorer.
Prefetch:
Функция Windows, которая ускоряет загрузку приложений путем кэширования данных о приложениях, которые часто используются.
Содержит информацию о файлах и директориях, которые загружаются приложением при запуске, и временные метки для этих файлов.
%SystemRoot%\Prefetch\(имя_файла)-(хэш_пути).pf
Анализ: PECmd, WinPrefetchView, TZWorks Prefetch Parser.
UserAssist
Функция Windows, которая отслеживает, какие приложения с графическим интерфейсом запускает пользователь, и сколько раз они были запущены.
Содержит информацию о запускаемых приложениях и времени последнего запуска.
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\*
RunMRU (Most Recently Used):
Команды, введенные в диалоговом окне `Выполнить` (Run).
Может указывать на запуск программы или скрипта на устройстве.
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU\*
RecentApps:
Последние приложения, открытые пользователем через меню «Пуск» или через Task Switcher (например, с помощью комбинации клавиш Alt+Tab).
Содержит приложения, которые были запущены недавно.
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Search\RecentApps\*
SRUM (Монитор использования системных ресурсов):
Функция Windows используемая для мониторинга производительности системы.
Содержит путь к файлу, время запуска и количество переданных и загруженных байт.
%SystemRoot%\System32\SRU\SRUDB.dat
Анализ: SrumECmd, srum-dump, Диспетчер задач\Журнал приложений (частичный просмотр).
Windows 10 Timeline:
Временная шкала (функционал Представления задач), открываемая через сочетание клавиш
Win+Tab
Содержат пути к файлам и время их запуска.
%LocalAppdata%\ConnectedDevicesPlatform\%Account-ID%\ActivitiesCache.db
Анализ: DB Browser for SQLite, WxTCmd.
Background Activity Moderator (BAM):
Отслеживает и контролирует активность приложений в фоновом режиме, для оптимизации производительности системы и управления использованием ресурсов.
Содержит информацию о приложениях, которые были запущены, времени их запуска и пути к исполняемому файлу.
SYSTEM\CurrentControlSet\Services\bam\state\UserSettings\{USER_SID}
+SYSTEM\CurrentControlSet\Services\bam\UserSettings\{USER_SID}
Windows Error Reporting:
Компонент Windows, который позволяет пользователям отправлять отчеты о сбоях в Microsoft. Предоставление артефактов, указывающих на выполнение программы, если вредоносная программа дает сбой во время своего выполнения.
Содержит пути к приложениям, загруженные модули, SHA1-хэш и метаданные приложения.
%ProgramData%\Microsoft\Windows\WER\*
+%LocalAppdata%\Microsoft\Windows\WER\*
+ Журнал Application.evtx → 1001 (Отчеты об ошибках).Особенности: Можно посмотреть в `Панель управления\Система и безопасность\Центр безопасности и обслуживания\Монитор стабильности системы`.
FeatureUsage:
Image File Execution Options (IFEO):
Запуск приложения под отладчиком, который указывается в реестре.
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*
+SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*
Windows Push Notification Services
Системные уведомления от приложений
Содержит имя приложения и содержимое уведомления, в котором могут быть чувствительные данные
%LocalAppdata%\Microsoft\Windows\Notifications\wpndatabase.db
+%LocalAppdata%\Microsoft\Windows\Notifications\wpndatabase.db‑wal
Анализ: Notifications.sql, walitean
Места закрепления в реестре:
Хоть и не являются отдельным артефактом, но упомянуть стоит, т.к. наличие вредоноса в хоть в одном из них, также будет свидетельствовать о вредоносной активности на хосте.
Их много, и более подробно места их нахождения и способы анализа описывал в своей предыдущей статье.
Открытие файлов и папок (File/Folder Opening)
Артефакты открытия файлов и папок могут указать, какие файлы открывались, редактировались или сохранялись. Это полезно для установления факта работы с определенными документами, анализа работы с конфиденциальной информацией и поиска следов удаленных подключений.
LNK-файлы (ярлыки):
Автоматически создаются операционной системой Windows, когда пользователь открывает локальный или удаленный файл.
Содержит путь к файлу, и временные метки как самого файла LNK, так и файла, на который он указывает.
%AppData%\Microsoft\Windows\Recent\*
+%AppData%\Microsoft\Office\Recent\*
Анализ: LECmd.
LastVisitedMRU, OpenSaveMRU, BagMRU, RecentDocs, TypedPaths, Mapped network drive
Пути к папкам и файлам из разных источников: к которым обращались приложения, открыты или сохранены через диалоговые окна `Открыть файл` и `Сохранить файл`, настроены отображения в проводнике, открыты или введены вручную через проводник, подключенные сетевые диски.
Файлы:
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU\*
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\*
SOFTWARE\Microsoft\Windows\Shell\Bags\*
+UsrClass.dat\Local Settings\Software\Microsoft\Windows\Shell\Bags\*
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\*
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths\*
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU
MS Word Reading Location
Удаленно подключенные диски
Общие ресурсы не по умолчанию:
Удаленные элементы и существование файлов (Deleted Items and File Existence)
Эти артефакты позволяют восстановить информацию о существовавших на системе файлах, даже если они были удалены или изменены. Они помогают восстановить историю файловой активности, идентифицировать удаленные файлы и доказать факт их существования в прошлом.
MFT:
Файл содержащий информацию о каждом файле и каталоге на NTFS-томе.
Содержит информацию о файле или каталоге, включая его атрибуты, такие как время создания, время последнего изменения, время последнего доступа и т.д.
Метафайл $MFT в корне тома (видим и выгружается через KAPE, FTK Imager, и т.д.)
Анализ: MFTExplorer, MFTECmd, analyzeMFT.
USN Journal:
Отслеживает изменения каждого тома (высокоуровневые записи операций, выполняемых в файловой системе).
Содержит недавние записи для каждого изменения, внесенного в данные на томе: когда файлы были созданы, переименованы (в том числе перемещены), изменены.
$Extend\$UsnJrnl в корне тома.
Анализ: MFTEcmd.
Recycle.Bin (Корзина):
Содержит файлы, перед которыми стоят
$I
и$R
и к которым добавляется расширение исходного файла.$I
файл содержит информацию об удаленном файле (размер, путь и время удаления), а$R
файл содержит полное содержимое этого удаленного файла.C:\$Recycle.Bin\{USER_SID}
Анализ: RBCmd.
Windows Search database:
Хранит индексированные данные всех файлов, папок и другого контента на компьютере.
Содержит временные метки доступа к файлам, путь и местоположение файлов, содержимое файлов, если они были проиндексированы.
%ProgramData%\Microsoft\Search\Data\Applications\Windows\Windows.edb
Анализ: ESEDatabaseView.
IconCache.db / Thumbcache:
Миниатюрные изображения файлов на компьютере.
Содержат JPG, BMP и PNG-файлы в различных размерах пикселей. Каждая миниатюра хранит уникальный идентификационный номер для каждого связанного эскиза из ThumbnailcacheID.
%LocalAppdata%/Microsoft/Windows/Explorer/thumbcache_*.db
Теневая копия:
Разностные резервные копии файлов во время работы ОС.
С:\System Volume Information.
Анализ: ShadowCopyView.
Сетевая активность (Network Activity)
Артефакты сетевой активности полезны для расследования сетевой активности, анализа взаимодействий с внешними ресурсами и выявления возможных каналов команд и управления. Они могут показать, с какими сетями и ресурсами взаимодействовала система, что важно для выявления атак.
Сети, к которым подключался компьютер:
Правила Брандмауэра Windows:
SRUM (упоминался ранее) — содержит количество переданных и принятых байт из сети приложением.
Браузеры:
Хранит истории посещения веб-страниц, cookies, загрузки, кеш страниц и данные онлайн-форм.
Данные хранятся базах данных SQLite в папке профиля пользователя:
История открытия некоторых видов файлов:
%LocalAppdata%/Microsoft/Windows/WebCache/WebCacheV*.dat
Анализ: BrowsingHistoryView, ChromeCacheView, IE10Analyzer.
Certutil History:
Кэш загруженных файлов, который содержит ценные метаданные.
Содержит кэш файла и url источника.
%UserProfile%/AppData/LocalLow/Microsoft/CryptnetUrlCache/MetaData/*
HostsFile:
Указывает, по какому IP-адресу надо обращаться к хосту.
Может содержать перенаправление на вредоносный сервер для легитимного домена.
%SystemRoot%\System32\drivers\etc\hosts
Использование внешних устройств/USB (External Device/USB Usage)
Артефакты использования USB-устройств полезны для анализа передачи данных с системы на внешние носители, что важно при расследовании утечек данных и несанкционированного копирования файлов.
Журнал установки драйверов:
Содержит дату и время первого подключения носителя.
%SystemRoot%\INF\setupapi.dev.log
Идентификаторы подключенных устройств:
Буква, назначенная системой подключенному устройству:
SYSTEM\MountedDevices
Название устройства:
Информация об устройствах и связанных с ними идентификаторах файловых систем (история форматирований носителя):
Device Association Manager (DAM):
Отслеживает связи между устройствами и драйверами.
SYSTEM\CurrentControlSet\Services\dam\state\UserSettings\{USER_SID}
+SYSTEM\CurrentControlSet\Services\dam\UserSettings\{USER_SID}
Выводы
Windows хранит огромное количество артефактов, которые могут указывать на активность пользователей и приложений. Конечно, невозможно знать все, но подобная шпаргалка по основным артефактам может значительно упростить работу по расследованию инцидентов, особенно если доступ к привычным источникам данных ограничен или они оказались недоступны.