Информация о запуске программ в Windows играет важную роль в компьютерной форензике. Мы уже рассказывали про поиск артефактов в Windows. Сегодня познакомлю вас с методами поиска и получения информации о запуске исполняемых программах Windows.
Еще по теме: Расследование взлома компьютера Windows
Получение информации о запуске программ Windows
Для анализа истории запущенных приложений в Windows существует множество инструментов.
Prefetch
Файлы трассировки лежат в
1 |
C:\Windows\Prefetch |
Из них можно почерпнуть имя выполняемого файла, количество запусков, списки файлов, с которыми взаимодействовал исполняемый файл, а также временные метки: время и дату первого запуска, время изменения и время последних семи запусков.
Утилиты для анализа:
В серверных версиях Windows запись данных по умолчанию отключена.
Запускайте WinPrefetchView, переходите на вкладку Options —> Advanced Options и указывайте путь к файлам Prefetch.
На скрине выше мы видим, что запускалась еще и динамическая библиотека AFXML.DLL.
Всегда обращайте внимание на используемые файлы.
Amcache
Amcache — куст реестра Windows, который хранит информацию о запущенных приложениях, путь, временную метку первого запуска и SHA-1-хеш файла. Этот файл вы найдете здесь:
1 |
C:\Windows\appcompat\Programs\Amcache.hve |
В Windows 8 эти артефакты хранятся в файле RecentFileCache.bcf. Структура этого куста реестра описана в статье Leveraging the Windows Amcache.hve File in Forensic Investigations.
Также в каталоге C:\Windows\appcompat\Programs\Install хранится информация о каждой установленной программе.
Утилиты для анализа:
- AmcacheParser извлекает данные, содержащиеся в Amcache.hve;
- RecentFileCacheParser.exe извлекает данные из файла RecentFileCache.bcf;
- python-registry-amcache.
При запуске AmcacheParser.exe используйте следующую команду:
1 |
.\AmcacheParser.exe -f "Amcache.hve" --csv "путь выгрузки" |
Результат смотрим в файле Amcache_UnassociatedFileEntries.csv. Хеш‑сумму SHA-1 можете сразу пробить на VirusTotal.
Shimcache
Shimcache — это механизм, который обеспечивает обратную совместимость старых приложений с более новыми версиями Windows. Его параметры хранятся в кусте реестра SYSTEM:
1 |
C:\Windows\System32\config |
Ключи:
- CurrentControlSet\Control\Session;
- Manager\AppCompatCache\AppCompatCache.
В кеше можно найти путь к файлу, размер файла, время последнего изменения, время последнего обновления Shimcache, флаг выполнения процесса. В зависимости от версии Windows этот список может слегка различаться.
Анализировать кеш удобно утилитой AppCompatCacheParser.exe:
1 |
.\AppCompatCacheParser.exe -f "SYSTEM" --csv ".\report" |
UserAssist
В файле куста реестра пользователя NTUSER.DAT есть ключ UserAssist, помогающий отслеживать выполняемые программы. Здесь можно найти данные о приложениях, запущенных определенным пользователем через проводник Windows. Исполняемые файлы, запущенные из командной строки, не отображаются. Информация записана в двоичном виде.
Ключи реестра UserAssist хранятся вот в этой ветке:
1 |
Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count\ |
GUID для Windows 7 и выше:
{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA} — запуск исполняемого файла;
{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F} — запуск исполняемого файла с помощью символической ссылки.
Каждое значение UserAssist закодировано в формате ROT13. Среди данных есть информация о числе запусков исполняемого файла или ссылки, а также метка времени последнего выполнения.
Для парсинга этого ключа реестра можно воспользоваться утилитой 4Discovery.
Заключение
Получение информации о запуске программа в Windows — важная задача. Рассмотренные методы и инструменты могут использоваться в зависимости от конкретных целей. Понимание, как получать эту информацию, поможет в расследовании инцидентов.
ПОЛЕЗНЫЕ ССЫЛКИ: