Во время проведения компьютерно-криминалистической экспертизы операционной системы Windows важно понять, когда и каким образом был запущен определенный процесс. Чтобы идентифицировать эту деятельность, мы можем извлечь из целевой системы набор артефактов, полезных для сбора доказательств выполнения определенной программы.
Мы уже рассказывали как узнать какие программы запускались на компьютере. В той статье мы касались истории запуска программ в реестре Windows, но акцент больше ставили на программах. В сегодняшней статье я расскажу про ветки и ключи реестра в которых сохраняется история запуска программ и процессов Windows.
UserAssist
Каждая запущенная GUI-программа Windows оставляет историю в ключе реестра:
1 |
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.
Служба сохраняет историю запуска исполняемых файлов. Среди которой: полный путь к исполняемому файлу, который был запущен в системе, дату (время последнего исполнения), и его расположение. История запуска исполняемых файлов находится здесь:
1 |
HKLM\SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID} |
RecentApps
Запуск последних программ отслеживается и сохраняется в ключе RecentApps:
1 |
HKCU\Software\Microsoft\Windows\Current Version\Search\RecentApps |
Каждый ключ GUID — это запущенное ранее приложение.
- AppID — название запущенного приложения.
- LastAccessTime — время запуска в UTC.
- LaunchCount — количество запуска программы.
ShimCache
База данных совместимости приложений Windows используется операционной системой для определения возможных проблем совместимости приложений с исполняемыми файлами и отслеживает имя файла исполняемого файла, размер файла, время последнего изменения.
Последние 1024 программы, выполненные в операционной системе Windows, можно найти в этом ключе:
1 |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache |
Для более подробного анализа ShimCache вы можете использовать инструмент ShimCacheParser.py.
Примечание:
- В Windows 7/8/10 содержится не более 1024 записей
- LastUpdateTime не существует в системах Win7/8/10
Списки переходов
Панель задач Windows 7-10 (список переходов) спроектирована таким образом, чтобы пользователи могли быстро получить доступ к элементам, которые они часто или недавно использовали.
Данные, хранящиеся в папке:
1 |
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations |
где каждый будет иметь уникальный файл, добавленный с AppID связанного приложения.
Файлы списков переходов AutomaticDestinations представляют собой OLE Compound Files, содержащие несколько потоков, из которых:
- Шестнадцатеричное число, например. «1a»
- DestList
Каждый из шестнадцатеричных нумерованных потоков содержит данные, аналогичные данным Windows Shortcut: данные могут быть извлечены и проанализированы с помощью анализатора LNK, например lnk-parse.
Prefetch
Файлы предварительной выборки Windows предназначены для ускорения процесса запуска приложения. Файлы Prefetch хранятся здесь»
1 |
%windir%\Prefetch |
и содержит имя исполняемого файла, список DLL Unicode, используемый этим исполняемым файлом, количество попыток выполнения исполняемого файла и временную метку, указывающую на последний запуск программы.
В этой папке хранится информация для последних 128 исполняемых файлов на Win7 и 1024 на Windows8 и Windows 10.
Файл предварительной выборки может анализироваться и анализироваться с использованием таких инструментов, как PeCMD
Еще по теме: Создание дампа памяти всех процессов Windows
в BAM времени запуска нет.
RecentApps отсутствует как ветка.
Мое почтение. Как получить исполняемый файл ShimCacheParser? Программированием я не занимаюсь.