Під час криміналістичного аналізу Windows часто важливо зрозуміти, коли і як було запущено конкретний процес.
Щоб ідентифікувати цю дію, ми можемо витягти з цільової системи набір артефактів, корисних для збирання доказів виконання програми.
UserAssist
У Windows всі програми на основі графічного інтерфейсу, що запускаються з робочого столу, відстежуються у наступному розділі реєстру:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Рахувати
Записи містять два підрозділи GUID ( Виконання виконуваного файлу CEBFF5CD, Мітка виконуваного файлу F4E57C4B ): кожен підрозділ підтримує список системних об'єктів, таких як програми, ярлики та аплети панелі управління, до яких звернувся користувач.
Значення реєстру у цих підрозділах зашифровані з використанням алгоритму ROT-13, який в основному замінює символ із позицією іншого символу 13 від нього в таблиці ASCII.
Усі значення мають кодування ROT-13, наприклад:
.exe = .RKR
.lnk = .CLOSE
Модератор фонової діяльності (БАМ)
БАМ – це служба Windows, яка контролює активність фонових додатків.
Цей сервіс з'явився у Windows 10 тільки після оновлення Fall Creators – версія 1709
Він надає повний шлях до виконуваного файлу, який був запущений у системі, а також дату / час останнього виконання та розташований у цьому шляху реєстру:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\{SID}
Гілки містять список шляхів та виконуваних файлів, а значенням кожного з них є час останнього виконання у форматі Filetime (64-бітний метод із прямим порядком байтів) в UTC:
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
Цей ключ можна використовувати для ідентифікації систем, на яких було запущено певне шкідливе ПЗ, за допомогою спеціального інструменту, такого як ShimCacheParser.py , від Mandiant (https://github.com/mandiant/ShimCacheParser)
Нотатки за параметром CacheMainSdb
- Для Windows 7/8/10 параметр містить не більше 1024 записів
- LastUpdateTime не існує в системах Win 7/8/10
Amcache
ProgramDataUpdater (завдання, пов'язана зі службою Досвід застосування) використовує файл Amcache.hve для зберігання даних про перше виконання програми (навіть портабельною зі знімного носія). Файл розташований:
в:\Windows\appcompat\Programs\Amcache.hve
Файл можна проаналізувати за допомогою плагіну amcache для програми RegRipper (https://github.com/keydet89/RegRipper2.8)
Для отримання додаткової інформації проAmcache іShimcache у криміналістичному аналізі, будь ласка, зверніться до цієї статті: Amcache та Shimcache у криміналістичному аналізі
Списки переходів (список стрибків)
Панель завдань Windows 7-10 (список переходів) розроблена для того, щоб користувачі могли "переходити" або отримувати доступ до елементів, які вони часто чи нещодавно використовували.
Дані перебувають у папці:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
Кожен запис це унікальний файл з додаванням AppID відповідного додатку.
Файли списків переходів AutomaticDestinations є Складені файли OLE, містять кілька потоків, з яких:
- шістнадцятковий номер, наприклад, "1а"
- перелік
Кожен із шістнадцяткових пронумерованих файлів містить дані, аналогічні даним ярлика Windows.
Дані можуть бути вилучені та проаналізовані за допомогою синтаксичного аналізатораLNK, наприклад, lnk-parse (https://github.com/lcorbasson/lnk-parse).
Попередня вибірка
Файли попереднього завантаження Windows призначені для прискорення процесу запуску програми. Файли Prefetch зберігаються у папці
%windir%\Prefetch
і містить ім'я файлу, що виконується, Список Unicode бібліотек DLL, використовуваних цим виконуваним файлом, лічильник кількості виконань виконуваного файлу та позначку часу, вказує час останнього запуску програми.
У цій папці зберігаються дані про останні 128 виконуваних файлах на Win7 та останніх 1024 на Win8-10.
Файл попередньоївибірки можна аналізувати та аналізувати за допомогою таких інструментів, якPeCMD (https://github.com/EricZimmerman/PECmd).