История запуска программ и процессов в реестре Windows
Life-Hack [Жизнь-Взлом]/ХакингВо время проведения компьютерно-криминалистической экспертизы операционной системы Windows важно понять, когда и каким образом был запущен определенный процесс. Чтобы идентифицировать эту деятельность, мы можем извлечь из целевой системы набор артефактов, полезных для сбора доказательств выполнения определенной программы.
В сегодняшней статье я расскажу про ветки и ключи реестра в которых сохраняется история запуска программ и процессов Windows.
UserAssist
Каждая запущенная GUI-программа Windows оставляет историю в ключе реестра:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count
Этот ключ содержит два подраздела GUID (запуск исполняемого файла CEBFF5CD, запуск файла ярлыков F4E57C4B): каждый подраздел поддерживает список системных объектов, таких как программы, ярлыки и апплеты панели управления, к которым пользователь обратился.
Значения реестра в этих подразделах зашифрованы не лучшим образом. Используется шифрование ROT-13, которое заменяет один символ другим, расположенным в 13 позиции от него в таблице ASCII.
Все значения кодируются ROT-13:
- .exe = .RKR
- .lnk = .YAX
BAM
BAM — это служба Windows, которая контролирует активность фоновых приложений. Эта служба существует только в новых версиях в Windows 10 начиная с обновления Fall Creators 1709.
Служба сохраняет историю запуска исполняемых файлов. Среди которой: полный путь к исполняемому файлу, который был запущен в системе, дату (время последнего исполнения), и его расположение. История запуска исполняемых файлов находится здесь:

HKLM\SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}
RecentApps
Запуск последних программ отслеживается и сохраняется в ключе RecentApps:
HKCU\Software\Microsoft\Windows\Current Version\Search\RecentApps
Каждый ключ GUID — это запущенное ранее приложение.

- AppID — название запущенного приложения.
- LastAccessTime — время запуска в UTC.
- LaunchCount — количество запуска программы.
ShimCache
База данных совместимости приложений Windows используется операционной системой для определения возможных проблем совместимости приложений с исполняемыми файлами и отслеживает имя файла исполняемого файла, размер файла, время последнего изменения.

Последние 1024 программы, выполненные в операционной системе Windows, можно найти в этом ключе:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
Для более подробного анализа ShimCache вы можете использовать инструмент ShimCacheParser.py.
Примечание:
- В Windows 7/8/10 содержится не более 1024 записей
- LastUpdateTime не существует в системах Win7/8/10
Списки переходов
Панель задач Windows 7-10 (список переходов) спроектирована таким образом, чтобы пользователи могли быстро получить доступ к элементам, которые они часто или недавно использовали.
Данные, хранящиеся в папке:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
где каждый будет иметь уникальный файл, добавленный с AppID связанного приложения.
Файлы списков переходов AutomaticDestinations представляют собой OLE Compound Files, содержащие несколько потоков, из которых:
- Шестнадцатеричное число, например. «1a»
- DestList
Каждый из шестнадцатеричных нумерованных потоков содержит данные, аналогичные данным Windows Shortcut: данные могут быть извлечены и проанализированы с помощью анализатора LNK, например lnk-parse.
Prefetch
Файлы предварительной выборки Windows предназначены для ускорения процесса запуска приложения. Файлы Prefetch хранятся здесь»
%windir%\Prefetch
и содержит имя исполняемого файла, список DLL Unicode, используемый этим исполняемым файлом, количество попыток выполнения исполняемого файла и временную метку, указывающую на последний запуск программы.
В этой папке хранится информация для последних 128 исполняемых файлов на Win7 и 1024 на Windows8 и Windows 10.
Файл предварительной выборки может анализироваться и анализироваться с использованием таких инструментов, как PeCMD