Криминалистические Артефакты: доказательства выполнения программы в системах Windows

Ботан

Злостный спам-бот
Сообщения
935
Реакции
91
Во время криминалистического анализа системы Windows часто важно понять, когда и как был запущен конкретный процесс.

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

UserAssist​


В системе Windows все программы на основе графического интерфейса, запускаемые с рабочего стола, отслеживаются в следующем разделе реестра:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count

Записи содержат два подраздела GUID ( Выполнение исполняемого файла CEBFF5CD, Выполнение файла ярлыка F4E57C4B ): каждый подраздел поддерживает список системных объектов, таких как программы, ярлыки и апплеты панели управления, к которым обратился пользователь.

Значения реестра в этих подразделах зашифрованы с использованием алгоритма ROT-13, который в основном заменяет символ с позицией другого символа 13 от него в таблице ASCII.

Все значения имеют кодировку ROT-13, например:

.exe = .RKR
.lnk = .YAX


Background Activity Moderator (BAM)​


BAM — это служба Windows, которая контролирует активность фоновых приложений.

Этот сервис появился в Windows 10 только после обновления Fall Creators — версия 1709

Он предоставляет полный путь к исполняемому файлу, который был запущен в системе, а также дату / время последнего выполнения и расположен в этом пути реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\{SID}

Ветки содержат список путей и исполняемых файлов, а значением каждого из них является время последнего выполнения в формате Filetime (64-битный метод с прямым порядком байтов) в UTC:

image.png

Пример записей

RecentApps​


!Актуально до версии Windows 10 сборки 1803 (не включительно)

Выполнение программы, запущенной в системе Win10, отслеживается в ключе RecentApps:

HKCU\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps

Каждый ключ GUID указывает на недавно запущенное приложение:

AppID = Имя приложения
LastAccessTime = Время последнего выполнения в UTC.
LaunchCount = Количество запусков

ShimCache​


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

Записи о последних 1024 выполненных программ в ОС хранятся в параметре CacheMainSdb:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\AppCompatCache

image-1.png

1024 программ которые запускались в системе

Вы можете использовать этот ключ для идентификации систем, на которых было запущено определенное вредоносное ПО, с помощью специального инструмента, такого как ShimCacheParser.py , от Mandiant (GitHub - mandiant/ShimCacheParser)

Заметки по параметру CacheMainSdb

  • Для Windows 7/8/10 параметр содержит не более 1024 записей
  • LastUpdateTime не существует в системах Win 7/ 8/10

Amcache​


ProgramDataUpdater (задача, связанная со службой Application Experience) использует файл Amcache.hve для хранения данных о первом выполнении программы (даже портабельной со съемного носителя). Файл расположен:

c:\Windows\appcompat\Programs\Amcache.hve

Файл можно проанализировать с помощью плагина amcache для программы RegRipper (https://github.com/keydet89/RegRipper2.8)

Для получения дополнительной информации об Amcache и Shimcache в криминалистическом анализе, пожалуйста, обратитесь к этой статье: Amcache и Shimcache в криминалистическом анализе

Jump Lists (список прыжков)​


Панель задач Windows 7-10 (список переходов) разработана для того, чтобы пользователи могли «переходить» или получать доступ к элементам, которые они часто или недавно использовали.

Данные находятся в папке:

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
image-3.png

Пример содержимого папки

Каждая запись это уникальный файл с добавлением AppID соответствующего приложения.

Файлы списков переходов AutomaticDestinations представляют собой OLE Compound Files, содержащие несколько потоков, из которых:

  • шестнадцатеричный номер, например, «1а»
  • список

Каждый из шестнадцатеричных пронумерованных файлов содержит данные, аналогичные данным ярлыка Windows.

Данные могут быть извлечены и проанализированы с помощью синтаксического анализатора LNK, например lnk-parse (GitHub - lcorbasson/lnk-parse: MS Windows LNK file parser).

Prefetch​


Файлы предварительной загрузки Windows предназначены для ускорения процесса запуска приложения. Файлы Prefetch хранятся в папке

%windir%\Prefetch

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

В этой папке хранятся данные о последних 128 исполняемых файлах на Win7 и последних 1024 на Win8-10.

Файл предварительной выборки можно анализировать и анализировать с помощью таких инструментов, как PeCMD (GitHub - EricZimmerman/PECmd: Prefetch Explorer Command Line).



Источник
 
Последнее редактирование модератором:
Назад
Сверху Снизу