Компьютерная форензика — это процесс сбора, анализа и интерпретации цифровых данных для расследования инцидентов, выявления преступлений и восстановления информации. Один из важных этапов этого процесса является извлечение временных меток (timestamp) и создание таймлайна событий, который позволяет восстановить хронологию действий и событий в Windows.
Еще по теме: История запуска программ Windows
Что такое временные метки Windows
Временные метки — это информация о времени, связанная с цифровыми данными. Они включают в себя дату и время, когда файлы были созданы, модифицированы или доступ к ним был получен. Временные метки включают три основных категории.
Таблица MFT файловой системы насчитывает более восьми временных меток. Они хранятся в атрибутах STANDART_INFO и FILE_INFO. Но помните, что злоумышленники могут изменять метку STANDART_INFO у вредоносных файлов. Сама таблица MFT хранится в корне системного диска и называется $MFT.
Извлечение временных меток и создание таймлайна
Чтобы выгрузить таблицу из образа, можете использовать R-Studio или FTK Imager.
Для анализа образа пригодятся утилиты MFTECmd или MFTExplorer.
1 |
.\MFTECmd.exe -f "MFT" --csv ".\report" |
Полученный файл .csv можно просмотреть в Excel, отфильтровав данные по дате создания, либо можешь изучать их с помощью утилиты TimeLineExplorer.
Для построения временной шкалы событий существует утилита Plaso. Исходные данные для нее лучше всего готовить с использованием скрипта psteal.py, которому можно скормить побитовый образ, либо указать путь к смонтированному диску. Psteal сохраняет данные в файл .csv, для его анализа можно воспользоваться шаблоном TIMELINE_COLOR_TEMPLATES.csv.
Подробнее о Plaso и построении таймлайнов читайте в статьях «Используем Plaso для сбора системных событий», «Используем Timesketch» и «Используем правила Sigma в Timesketch».
Еще можешь посмотреть утилиты Autopsy и AXIOM, которые тоже отлично справляются с выстраиванием таймлайна.
В Windows 10 с версии 1803 появился полезный файл под названием ActivityCache.db. Это база данных в формате SQLite, где содержится готовая временная шкала активности устройства. Здесь есть отметки обо всех открывавшихся файлах, использованных приложениях и службах. Нужный файл ты найдешь вот в этом каталоге:
1 |
C:\Users\\AppData\Local\ConnectedDevicePlatform\L. |
Если ты авторизовался от имени учетной записи Microsoft, то название последней папки будет сформировано из 16 буквенно‑цифровых символов (Microsoft ID), а при авторизации пользователя с помощью Microsoft Azure файл располагается в каталоге AAD..
Эта шкала предназначена для синхронизации между разными устройствами. В дополнение к самой базе ты найдешь файл с расширениями db-shm, включающий данные о времени, и db-wal — журнал предварительной записи, который хранит информацию перед передачей ее в ActivityCache.db. Подробное описание структуры временной шкалы и процесса записи событий можно найти в статье Windows Timeline (PDF).
В ActivityCache.db целых семь таблиц, но нужная нам инфа об активности пользователя лежит в двух таблицах: Activity_PackageId и Activity.
В таблице Activity есть следующие поля:
- AppId — объект JSON, содержащий информацию об исполняемом файле;
- StartTime и EndTime — время начала и окончания работы исполняемого файла в UTC, формат времени — Epoch Time;
- PlatformDeviceID — идентификатор устройства; это поле будет другим в случае синхронизации с облаком Microsoft;
- ActivityTypes — определяет тип активности и может иметь следующие значения: 2 (уведомление), 3 (резервное копирование / аутентификация в Azure), 5 (открытие приложения, файла или веб‑страницы), 6 (приложение используется), 10 (текст скопирован в буфер обмена), 11, 12, 15 (системные операции Windows), 16 (операции копирования или вставки);
- Payload — поле представлено в формате JSON и содержит информацию об открытом файле: имя, путь и описание.
В таблице Activity_PackageId хранится информация о приложении: расположение исполняемого файла, его имя, а также время истечения срока действия записи (поле Expiration Time). Записи в этой таблице хранятся 30 дней.
Утилиты для анализа ActivityCache.db:
- WxTCmd.exe;
- DB Browser for SQLite;
- AXIOM.
Давайте попробуем открыть этот файл в DB Browser for SQLite.
Переходим на вкладку SQL и вставляем следующий запрос SQLite. В окне вывода запроса видим вот такие поля.
Сортируя вывод по полю StartTime, удобно отслеживать хронологию действий злоумышленников.
Заключение
Извлечение временных меток и создание таймлайна событий играют важную роль в цифровой форензике, позволяя исследователям лучше понять хронологию событий и выявить ключевые моменты в расследованиях. Специализированные инструменты и методы облегчают этот процесс и обеспечивают точность в работе с данными.
ПОЛЕЗНЫЕ ССЫЛКИ: