Всем привет! Меня зовут Сергей Кислухин, я работаю аналитиком 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).
-
Версия ОС и Дата установки:
SOFTWARE\Microsoft\Windows NT\CurrentVersion
-
Часовой пояс:
SYSTEM\CurrentControlSet\Control\TimeZoneInformation
-
Имя хоста:
SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
>ComputerName
-
Сетевые интерфейсы:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\*
-
Установленные антивирусные программы и их статус:
SOFTWARE\Microsoft\Security Center\Provider\Av\*
-
Список установленных патчей и обновлений системы:
SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\*
-
Перечень пользователей:
SAM\Domains\Accounts\Users
SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%
-
Членство пользователя в группах:
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\GroupMembership
-
Переменные среды пользователя:
NTUSER.DAT\Environment
>Path
-
Время последнего входа в систему:
SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI
-
Установленные программы:
SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
Выполнение команд (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:
Скрипт .ps1, выполняющийся при запуске оболочки PowerShell.
-
Файлы:
%SystemRoot%\System32\WindowsPowerShell\v1.0\*profile.ps1
%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\*profile.ps1
%UserProfile%\Documents\*profile.ps1
-
Планировщик заданий 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\*
:qmgr.db
(илиqmgr0.dat
иqmgr1.dat
) - сами задания;edb.log
- журнал транзакций.
Анализ: BitsParser.
-
Журналы антивируса:
Вредоносные команды могут сохраняться в результате детектирования движком поведенческого анализа.
Содержит информацию о зафиксированных вредоносных объектах на хосте.
Windows Defender: Журнал Microsoft-Windows-Windows-Defender/Operational.evtx +
%ProgramData%\Microsoft\Windows Defender\Scans\History\*
-
Службы:
Фоновые приложения, обеспечивающие функциональность операционной системы и запускающиеся без участия пользователя.
Содержат путь до исполняемого файла (иногда с командой) и тип его запуска (автоматически или вручную).
SYSTEM\CurrentControlSet\Services\*
+ Журнал System.evtx -> event_id 7034-7045
-
Файлы гибернации, подкачки и аварийные дампы (дампы / части оперативной памяти):
Файл гибернации содержит дамп оперативной памяти, созданный при переходе системы в состояние гибернации. В нем могут находиться данные активных или уже завершенных процессов.
Файл подкачки служит для временного хранения данных из оперативной памяти, когда ее недостаточно. В нем могут храниться фрагменты памяти, включая данные завершенных процессов, пароли, фрагменты документов и т. д.
Файл дампа режима ядра (файл аварийного дампа), сохраняется при возникновении синих экранов смерти. Содержимое варьируется в зависимости от настроек в реестре.
Файл гибернации:
%SystemDrive%\hiberfil.sys
. Файлы подкачки:%SystemDrive%\pagefile.sys
+%SystemDrive%\swapfile.sys.
Файлы аварийного дампа:%SystemRoot%\MEMORY.DMP
+%SystemRoot%\Minidump.dmp
Анализ: Volatility, Strings, PhotoRec, MemProcFS
Выполнение приложений (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 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:
Реестр использования приложений на панели задач.
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FeatureUsage\AppBadgeUpdated\*
-
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
NTUSER.DAT\SOFTWARE\Microsoft\Office\*\Word\Reading Locations\*
-
Удаленно подключенные диски
NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\*
-
Общие ресурсы не по умолчанию:
SYSTEM\CurrentControlSet\LanmanServer\Shares
Удаленные элементы и существование файлов (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
файл содержит полное содержимое этого удаленного файла.%SystemDrive%\$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)
Артефакты сетевой активности полезны для расследования сетевой активности, анализа взаимодействий с внешними ресурсами и выявления возможных каналов команд и управления. Они могут показать, с какими сетями и ресурсами взаимодействовала система, что важно для выявления атак.
-
Сети, к которым подключался компьютер:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList
-
Правила Брандмауэра Windows:
SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\*
SRUM (упоминался ранее) - содержит количество переданных и принятых байт из сети приложением.
-
Браузеры:
Хранит истории посещения веб-страниц, cookies, загрузки, кеш страниц и данные онлайн-форм.
-
Данные хранятся базах данных SQLite в папке профиля пользователя:
Firefox:
%Appdata%\Mozilla\Firefox\Profiles\*
Chromium:
%LocalAppdata%\Google\Chrome\User Data\%PROFILE%
История открытия некоторых видов файлов:
%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\CurrentControlSet\Enum\USBSTOR\*
-
Буква, назначенная системой подключенному устройству:
SYSTEM\MountedDevices
-
Название устройства:
SOFTWARE\Microsoft\Windows Portable Devices\Devices\*\FriendlyName
-
Информация об устройствах и связанных с ними идентификаторах файловых систем (история форматирований носителя):
SOFTWARE\Microsoft\Windows NT\CurrentVersion\EMDMgmt
-
Device Association Manager (DAM):
Отслеживает связи между устройствами и драйверами.
SYSTEM\CurrentControlSet\Services\dam\state\UserSettings\{USER_SID}
+SYSTEM\CurrentControlSet\Services\dam\UserSettings\{USER_SID}
Выводы
Windows хранит огромное количество артефактов, которые могут указывать на активность пользователей и приложений. Конечно, невозможно знать все, но подобная шпаргалка по основным артефактам может значительно упростить работу по расследованию инцидентов, особенно если доступ к привычным источникам данных ограничен или они оказались недоступны.
VoodooCat
Откройте для себя еще Thunderbolt - это самое лучшее средство полностью скомпроментировать любую систему. :)