Извлечение временных меток и создание таймлайна событий Windows

Извлечение временных меток создание таймлайна событий

Компьютерная форензика — это процесс сбора, анализа и интерпретации цифровых данных для расследования инцидентов, выявления преступлений и восстановления информации. Один из важных этапов этого процесса является извлечение временных меток (timestamp) и создание таймлайна событий, который позволяет восстановить хронологию действий и событий в Windows.

Еще по теме: История запуска программ Windows

Что такое временные метки Windows

Временные метки — это информация о времени, связанная с цифровыми данными. Они включают в себя дату и время, когда файлы были созданы, модифицированы или доступ к ним был получен. Временные метки включают три основных категории.

Таб­лица MFT фай­ловой сис­темы нас­читыва­ет более вось­ми вре­мен­ных меток. Они хра­нят­ся в атри­бутах STANDART_INFO и FILE_INFO. Но пом­ните, что зло­умыш­ленни­ки могут изме­нять мет­ку STANDART_INFO у вре­донос­ных фай­лов. Сама таб­лица MFT хра­нит­ся в кор­не сис­темно­го дис­ка и называ­ется $MFT.

Извлечение временных меток и создание таймлайна

Что­бы выг­рузить таб­лицу из обра­за, можете исполь­зовать R-Studio или FTK Imager.

Для ана­лиза обра­за при­годят­ся ути­литы MFTECmd или MFTExplorer.

По­лучен­ный файл .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, где содер­жится готовая вре­мен­ная шка­ла активнос­ти устрой­ства. Здесь есть отметки обо всех откры­вав­шихся фай­лах, исполь­зован­ных при­ложе­ниях и служ­бах. Нуж­ный файл ты най­дешь вот в этом катало­ге:

Ес­ли ты авто­ризо­вал­ся от име­ни учет­ной записи 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:

Да­вайте поп­робу­ем открыть этот файл в DB Browser for SQLite.

Прос­мотр таб­лицы Activity

Пе­рехо­дим на вклад­ку SQL и встав­ляем сле­дующий зап­рос SQLite. В окне вывода зап­роса видим вот такие поля.

Извлечение временных меток и создание таймлайна

Сор­тируя вывод по полю StartTime, удоб­но отсле­живать хро­ноло­гию дей­ствий зло­умыш­ленни­ков.

Заключение

Извлечение временных меток и создание таймлайна событий играют важную роль в цифровой форензике, позволяя исследователям лучше понять хронологию событий и выявить ключевые моменты в расследованиях. Специализированные инструменты и методы облегчают этот процесс и обеспечивают точность в работе с данными.

ПОЛЕЗНЫЕ ССЫЛКИ:

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз.

Добавить комментарий