Введение в компьютерную криминалистику. Снятие дампа оперативной памяти, жесткого диска, восстановление файлов из системы NTFS.



Дата публикации: 2020-04-11
Автор: @sohimaster
Теги: ,

Первый шаг криминалистического анализа – сбор информации с устройства, связанного с преступлением. Это может быть взломанная система, ноутбук или сервер.

В первую очередь необходимо сохранить динамическую информацию, хранящуюся в устройстве. Информация, хранящаяся в ОЗУ, крайне полезна для криминалистической экспертизы. Существует множество инструментов, используемых в компьютерной форензике, используемых для создания дампов оперативной памяти. В данной статье мы рассмотрим FTK Imager.

FTK Imager – инструмент, который часто используется для получения дампов системы, подлежащей криминалистическому судебному анализу. FTK – это инструмент с открытым исходным кодом. Во время снятия дампа удобнее пользоваться версией Lite, сохраненной на USB-накопителе.

При загрузке FTK Imager с официального сайта требуется указать ваши данные, но валидным из них должен быть только email (на него придет ссылка на скачивание).

Скачайте и установите FTK Imager на изолированную виртуальную машину – мы будем создавать дамп ее оперативной памяти.

Почему мы будем использовать виртуальную машину? Дело в том, что на вашей хостовой машине может быть установлено и запущено много программ и утилит в фоновом режиме и вам будет сложно анализировать большой дамп.

Процесс регистрации на сайте и получения ссылки.

Процесс установки.

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

После этого можно запустить FTK Imager и создать дамп оперативной памяти, как показано на рисунке ниже.

Создание дампа оперативной памяти.

Текущее состояние оперативной памяти можно сохранить в виде файла, образа или раздела диска для последующего анализа.

Создайте файл .mem – дамп оперативной памяти. Задайте ему название и откройте его. Просматривая его, вы можете найти различные артефакты. Он так же будет содержать данные, которые вы создали своими действиями ранее. На рисунке ниже показаны подобные данные – введенный в браузере емейл asm_414yahoo.com.

Также, с помощью FTK Imager можно создать образ жесткого диска для изучения артефактов, хранящихся в файловой системе. Это может быть история браузера, временные файлы, логины, хешированные пароли и многое многое другое.

Введение в анализ файлов NTFS

Главная файловая таблица (Master File Table или MFT) считается одним из самых важных файлов в файловых системах формата NTFS, так как в ней хранятся записи о физическом местонахождении всех файлов на диске и их метаданные. NTFS использует MFT в качестве базы данных для отслеживания файлов.

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

Далее будет описан процесс извлечения данных с физического устройства на примере файловой системы в формате NTFS, процесс обнаружения артефактов и метаданных в MFT, а также способ восстановления данных с помощью FTK Imager.

Ниже будет показан пример использования FTK Imager версии 3.1.4.6 для поиска и восстановления изображений.

Основы использования FTK Imager

Откройте физический диск или дамп диска компьютера в FTK Imager. Содержание будет отображено в панели директорий (Evidence Tree Pane).

После щелчка мыши на корень диска, находящиеся там файлы будут отображены в панели файлов (File List Pane), среди которых можно заметить MFT.

Кликните на этот файл, чтобы отобразить содержимое в панели просмотра (Viewer Pane).

Панели FTK Imager

Поиск интересных файлов

Кликните на панель просмотра и нажмите CTRL + F для поиска. Мы будем искать изображения, поэтому для поиска используем стандартный тег “IMG”.

За короткое время FTK Imager найдет результат, который в нашем случае является изображением с именем IMG00264_20100109-1450.jpg.

Поиск артефактов файлов в MFT

Помимо формата, JPEG файл, имеет и другую информацию: каждая запись в MFT имеет заголовок (FILE0) – magic marker – сигнатуру файла. Она занимает несколько строчек перед названием файла, если отступить (CTRL + G) 80 байтов от сигнатуры файла, указатель переместится к временным меткам (MFT Timestamps) длиной 32 байта, которые содержат информацию о датах создания, модификации, изменения и чтения файла в указанном порядке. Каждая из них занимает 8 байт.

Как мы уже заметили, первой идет дата создания файла. При выделении этой последовательности байт, мы увидим ее в интерпретаторе hex значений в доступном для прочтения виде.

Смещение на 80 байтов

Дата создания

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

Дата модификации

Дата изменения

Дата чтения

Восстановление данных

Восстановим найденное изображение для последующего анализа. Один из атрибутов записи в MFT это раздел $DATA. Он начинается с hex последовательности 0 x 80 00 00 00, поэтому, чтобы переместиться к нему, воспользуемся поиском, предварительно сменив входные значения с текстовых на hex.

Перемещение к атрибуту $DATA

Следующие 4 байта в этом разделе содержат информацию о его размере, в нашем случае это 0 x 48 00 00 00. В интерпретаторе hex это значение конвертируется в 72 в десятичной системе счисления.

Следующие 2 байта содержат информацию о текущем состоянии файла.

01 00 существующий файл

00 00 удаленный файл

03 00 существующая папка

04 00 удаленная папка

Размер файла и его состояние

Изображение, которое мы собираемся восстановить, не было удалено с физического носителя.

В NTFS у атрибута DATA существует такой раздел как Data Runs. В нем содержится информация о местоположении файловых кластеров.

Для начала необходимо выяснить на каком отступе расположен раздел Data Runs в этом файле.

Для этого сместимся на 32 байта от начала раздела $DATA, в нашем случае отступом будет являться 0 x 40, что в десятичной интерпретации равно 64.

Отступ, на котором расположен раздел data runs

Десятичное представление

После смещения на 64 байта от начала раздела $DATA указатель будет расположен в начале раздела Data Runs, в котором содержится информация о первом кластере данных изображения.

В нашем случае раздел Data Runs начинается с 0 x 31 и заканчивается 0 x 0, однако, так бывает не всегда.

Раздел data runs

Следующий байт после начала раздела Data Runs содержит информацию о количестве кластеров, на которые разбиты данные изображения.

Количество кластеров

Следующие три байта содержат информацию о номере кластера.

Номер кластера

В разделе свойств панели директорий будет отображен размер кластера.

Свойства панели директорий

Немного математики:

94 x 4096 = 385024

И так, начальный кластер 8103083, а размер фото 385024 байт.

Теперь в панели директорий выберем наш том и после щелчка правой кнопкой мыши на панели просмотра выберем перемещение “go to sector/cluster” к кластеру 8103083.

Процесс перемещения к кластеру

В начале кластера видим заголовок JPEG файла (ÿØÿà..JFIF)

Начало кластера

Теперь выберем необходимый размер выделения после щелчка правой кнопки мыши на панели просмотра “Set Selection Length…” равный 385024.

Выделение данных изображение

Теперь кликаем правой кнопкой мыши по выделенным данным и сохраняем. Та-дам! Наш файл: