Всем привет! Меня зовут Сергей Кислухин, я работаю аналитиком 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 используемая для мониторинга производительности системы.

    • Содержит путь к файлу, время запуска и количество переданных и загруженных байт.

    • %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:

    • Реестр использования приложений на панели задач.

    • 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 хранит огромное количество артефактов, которые могут указывать на активность пользователей и приложений. Конечно, невозможно знать все, но подобная шпаргалка по основным артефактам может значительно упростить работу по расследованию инцидентов, особенно если доступ к привычным источникам данных ограничен или они оказались недоступны.

Комментарии (1)


  1. VoodooCat
    08.09.2024 20:36

    Откройте для себя еще Thunderbolt - это самое лучшее средство полностью скомпроментировать любую систему. :)