Как снять дамп оперативной памяти
Перейти к содержимому

Как снять дамп оперативной памяти

  • автор:

Как создать дамп оперативной памяти Windows

Дамп памяти Windows

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

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

Как создать дамп оперативной памяти Windows

Для создания дампа оперативной памяти Windows нам потребуются две инструмента — DumpIt из пакета Comae Memory Toolkit и подобную ей Belkasoft RAM Capturer. Полученные .mem-образы можно будет открыть для парсинга в Volatility, Rekall, или Belkasoft Evidence Center.

Первый дамп оперативной памяти Windows делаем, используя утилиту DumpIt.

создать дамп оперативной памяти Windows

Создание образа RAM в программе DumpIt!

Второй дамп RAM мы сделаем в Belkasoft RAM Capturer.

создание дампа оперативной памяти Windows

Создание образа оперативной памяти в программе Belkasoft RAM Capturer

создание дампа оперативной памяти Windows

Окно программы создания дампа оперативной памяти в программе Belkasoft RAM Capturer

Настало время открыть полученный нами дамп RAM в комбайне под названием Belkasoft Evidence Center.

создание дампа памяти Windows

Результат монтирования образа памяти в Belkasoft Evidence Center

Образы HDD-диска, полученные на самом первом шаге, с легкостью можно скормить Arsenal Image Mounter.

как сделать дамп памяти Windows

Окно мастера монтирования образа HDD в Arsenal Image Mounter

сделать дамп памяти Windows

Список образов, готовых к монтированию, в Arsenal Image Mounter

дамп памяти Windows 10

Главное окно Arsenal Image Mounter

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

Статья Снятие образа RAM памяти с windows и linux

Приветствую)
Речь в этой теме пойдет о снятии слепков оперативной памяти.
Зачем вообще нам нужен дамп оперативки? Да затем что там можно найти много интереснейших и неожиданных вещей)
Каких? Да разных))) Например ключики от криптоконтейнеров, различные сообщения из чатов и соцсетей, посещенные страницы в инете и вообще море системной информации.
Мы рассмотрим пару вариантов поучения дампа)

Для начала Windows
Вариант 1

Используем бесплатную программу от компании Belkasoft "

dumpRAMbelkasoft.png

FTK.png

mem.png

Linux
Для линукса я использовал только одну программу, имя ей LiME
Это инструмент командной строки

и все, в папке будет создан файл image.lime это и есть наш дамп)

lime.png

Это далеко не все способы получения RAM памяти, есть дистрибутив имеется возможность получения дампа с помощью порта FireWire, так же возможно физическое изьятие ОЗУ с замораживанием платы.

Для исследования содержимого оперативной памяти есть огромное количество утилит, как для линукс систем, так и для windows
На этом я думаю пока что все)

Получаем образ оперативной памяти

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

Процесс получения информации, которая содержится в оперативной памяти состоит из двух этапов: изъятие содержимого оперативной памяти
и
анализ полученных во время изъятия данных.

Обращая внимание на первый этап стоит заметить, что изъятие оперативной памяти может быть выполнено с помощью ряда средств: непосредственный доступ к памяти с использованием специальных плат расширения, порта FireWire, и даже физическом изъятии запоминающего устройства оперативной памяти (потребует замораживания плат),

image

но в данном материале мы рассмотрим программные средства, которые позволяют изъять содержимое оперативной памяти защищенных машин путем так называемой «горячей» перезагрузки и запуска машины в Live-режиме.

Для выполнения этой задачи будем использовать специальный дистрибутив Ubuntu CyberPack (IRF) 1.0, состоящий из минимального набора компонент, а именно, только те, которые необходимы для изъятия данных из памяти. Соответственно отсутствует и графический интерфейс.

Использование такого подхода к изъятию содержимого оперативной памяти имеет ряд преимуществ и недостатков сравнительно с другими перечисленными выше средствами.
Плюсы:
— использование Live-дистрибутива позволяет проводить действие не зависимо от того какая операционная система установлена на исследуемой машине;
— отсутствуют затраты на приобретение дорогостоящих специальных устройств, кабелей, плат, и др.
Недостаток:
— содержимое оперативной памяти будет неполным — ее часть будет перезаписана данными, необходимыми для запуска Live-дистрибутива (приблизительно 125 Мб).

Для использования доступны специально собранные дистрибутивы для машин с памятью объемом до 3 Гб (і386) и свыше 3 Гб (amd64). С их помощью можно создать загрузочный CD/DVD-диск или загрузочный USB-диск.

Замечания:
второго шанса система нам не дает — у нас есть только одна попытка. т. е. при повторной перезагрузке исследуемого компьютера большая вероятность того что мы уже не найдем необходимой информации. Отсюда следует что не надо перезагружать его несколько раз, экспериментировать, прицеливаться.
Необходимо заранее подготовится и знать как компьютер себя поведет после перезагрузки.
Большинство современных компьютеров позволяют прямо при старте указать откуда производить загрузку, но если этого нет, тогда необходимого настроить BIOS машины на загрузку с CD/DVD-привода или USB-привода/накопителя, после чего загрузить Live-дистрибутив с указанного устройства.

Перезагружаем компьютер.
ВАЖНО: перезагрузка ни в коем случае не должна быть холодной (путем нажатия кнопки «ресет» или выключение\включение питания), а именно — перезагрузка должна быть осуществлена средствами самой работающей системы (например нажатием кнопок Ctrl-Alt-Del или путем выбора пункта «перезагрузка» в системе)

После загрузки дистрибутива пользователю доступна привычная строка консоли Linux, и краткая информация для запуска модуля.
image

Подготовка к работе программы fmem заключается в выполнении следующих команд:
$ sudo -s
# cd /opt (переход в папку где находиться программа);
# ./run-fmem.sh (скрипт запуска модуля съема памяти);

Замечание: Для дальнейших действий понадобиться примонтировать заранее подготовленный носитель (внешний жесткий диск, флеш-накопитель) с файловой системой ext2/3/4, в который будет сохраняться файл с содержимым оперативной памяти.

Для того, что бы узнать какой идентификатор присоединенному носителю присвоила система, необходимо после его подключения к компьютеру ввести следующую команду:
# dmesg | tail (Команда выводит на экран информацию буфера сообщений ядра. Нас будет интересовать последняя запись.)
Как например вот это:
[16091.995428] sd 9:0:0:0: Attached scsi generic sg2 type 0
[16091.995996] sd 9:0:0:0: [sdb] 32096120 512-byte logical blocks: (16.4 GB/15.3 GiB)
[16091.998192] sd 9:0:0:0: [sdb] Write Protect is off
[16091.998205] sd 9:0:0:0: [sdb] Mode Sense: 0b 00 00 08
[16091.999433] sd 9:0:0:0: [sdb] No Caching mode page found
[16091.999447] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[16092.003486] sd 9:0:0:0: [sdb] No Caching mode page found
[16092.003495] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[16092.004251] sdb: sdb1

(где «sdb» — присвоенное обозначение физического накопителя, а «sdb1» — присвоенное обозначение логического раздела накопителя).

Далее следует примонтировать логический раздел накопителя к папке /tmp загруженной в Live-режиме операционной системы:

# mount /dev/sdb1 /tmp
(где
«mount» — команда монтирования устройства
«/dev/sdb1» — адрес файла логического раздела присоединенного накопителя
«/tmp» — папка в которую необходимо подключить накопитель).

Все подготовительные шаги сделаны — можно переходить к изъятию содержимого оперативной памяти:

# dd if=/dev/fmem of=/tmp/ram-image.mem bs=1K count=`head -1 /proc/meminfo | awk ‘‘`
(где
«dd» — команда создания образа
«if=/dev/fmem» — источник данных, а именно оперативная память
«of=/tmp/ram-image.mem» — запись в файл «ram-image.mem» в папку «/tmp»
«bs=1K» — размер блока информации — 1 Кб
«count=`head -1 /proc/meminfo | awk ‘‘`» — объем оперативной памяти, информация о которой извлекается из файла /proc/meminfo).

И ждем…
В результате удачного выполнения команды, мы получим сообщение похожее на это:
image
521453568 bytes (521 MB) copied, 158.405 s, 3.3 MB/s
(где
«521453568 bytes (521 MB) copied» — объем скопированной информации
«158.405 s» — время в течении которого проводилась операция
«3.3 MB/s» — скорость при которой проводилась операция)

В результате мы получили содержимое оперативной памяти машины в файле «ram-image.mem» на накопителе. Теперь его можно обрабатывать в т.ч. извлекая части исполняемых процессов, удаленных файлов, информацию о пользовательских сессиях, криптографических ключах и многое другое.

P.S.
Также стоит обратить внимание что все современные системы используют в своей работе и swap-память (так называемый «файл подкачки»)
Файл подкачки – это своеобразное дополнение к оперативной памяти (которая занимается временным хранением данных для быстрой доставки их на обработку процессору) Вашего компьютера. Даже не столько дополнение, сколько её уширение или, можно сказать, продолжение. Дело в том, что когда не хватает оперативной памяти система может переносить данные из памяти на диск (так называемая дополнительная память), в котором соответственно также хранятся данные.
И для полной картины анализа памяти необходимо также получить и их.
Различные операционные системы используют разные способы их хранения.

В случае с Windows это обычно файлы в корне на системном диске С:
pagefile.sys для Win XP и Win 7 и достаточно просто скопировать файл

Для Linux — это отдельный раздел на носителе.
Например:
Команда sudo fdisk -l /dev/sda
покажет нам все разделы в системе
/dev/sda1 * 2048 78125055 39061504 83 Linux
/dev/sda2 78125056 117186559 19530752 82 Linux своп / Solaris
/dev/sda3 117186560 625141759 253977600 83 Linux
Исходя из чего мы видим что раздел подкачки находиться в /dev/sda2
Скопировать его можно также с помощию команды dd.
Например:
dd if=/dev/sda2 of=/media/<путь куда записать>/linux-swap.dd

Для MacOS необходимо скопировать все файлы из директории /private/var/vm/swapfile*

Обработка и анализ полученных результатов (как дампа оперативной памяти так и swap-памяти) может проводиться как в ручную с помощью например HEX-редактора, так и с помощью ряда программ о которых будет рассказано в следующий раз.

Форензика в Linux. Дампим память, диски и сетевые коннекты для дальнейшего поиска улик

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

Это новая часть цикла по форензике для новичков, в котором мы рассказываем о том, что такое цифровая форензика, разбираем наиболее популярные инструменты анализа, изучаем несколько кейсов на устройствах с Android и расследуем хищение денежных средств из системы ДБО на ноутбуке с Windows 10.

Предыдущие статьи цикла:

  1. «Теория, книги, курсы, полезные материалы»
  2. «Находим источники данных, ищем и анализируем артефакты»
  3. «Android под колпаком. Как раскрывают кейсы взлома»
  4. «Тайна казначейского ноутбука. Используем форензику, чтобы раскрыть ограбление»

Есть много вариантов создания дампа содержимого жесткого диска или оперативной памяти. При этом можно использовать и нативные утилиты, входящие в состав дистрибутива, и сторонние программы — как со свободной лицензией, так и коммерческие. Я по возможности сосредоточусь на наиболее известных, максимально простых и рабочих инструментах.

Первым делом на «живые» системы я рекомендую ставить утилиту Auditd — с ее помощью можно получить детальные сведения об изменениях системы в режиме аудита.

Прежде всего нас будут интересовать такие события, как:

  • запуск и завершение работы системы (перезагрузка, остановка);
  • чтение/запись системных файлов и изменение прав доступа к ним;
  • инициация сетевого соединения и изменение сетевых настроек;
  • изменение информации о пользователе или группе;
  • изменение даты и времени;
  • установка, удаление, запуск и остановка программ и демонов;
  • выполнение системных вызовов.

Также рекомендую настроить системный syslog.conf и скорректировать правила сбора сообщений: увеличить глубину собираемых алертов (уровень 7) и пул источников (диапазон от 0 до 15). Это все позволит наблюдать за изменениями системы в реальном времени.

Некоторые особенности форензики в Linux

В прошлой статье, которая была посвящена кейсу с хищением денежных средств в ДБО на Windows 10, мы по возможности использовали в качестве инструментария программы с графическим интерфейсом. Если не брать проприетарные решения, такие, к примеру, как EnCase Forensic или Belkasoft Evidence Center, то на Linux большинство рабочих утилит идет в режиме командной строки.

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

Помимо отдельных утилит, есть целые дистрибутивы, предназначенные для цифровой криминалистики. Это прежде всего DEFT, CAINE, Sumuri PALADIN, Helix, ну и, конечно же, всем известный Kali Linux. Полный обзор дистрибутивов и тулкитов для форензики можно прочитать в статье «Тулкит для форензики. Выбираем дистрибутив и набор софта для криминалистического анализа».

Из литературы по форензике в Linux я бы в первую очередь порекомендовал едва ли не единственную полноценную книгу об этом. Ее написал Филип Полстра, а называется она Linux Forensics Paperback. Во вторую очередь — издание UNIX and Linux Forensic Analysis DVD Toolkit Криса Пога и других. Ну и в-третьих, Digital Forensics with Kali Linux.

Общий чек-лист проверки

Для поиска и сбора криминалистических доказательств мы первым делом создадим образы (дампы) следующих объектов наших систем:

  • оперативная память (системные и пользовательские процессы, демоны, возможно запущенный вредоносный код и так далее);
  • жесткий диск (посекторная копия HDD, включающая удаленные разделы, неразмеченные области диска, потертые файлы, скрытые файлы и директории и прочее);
  • сетевой стек (поднятые коннекты, открытые порты, «неизвестные» сервисы на портах, паразитный трафик).

В рамках самой операционной системы мы будем обращать особое внимание в первую очередь:

  • на список пользователей, группы, привилегии;
  • запущенные от имени root процессы;
  • задачи, запускаемые по расписанию (cron jobs);
  • файлы с установленным битом SUID и SGID;
  • состав файла /etc/sudoers;
  • скрытые файлы и директории;
  • файлы, открытые на чтение в системе;
  • сетевые интерфейсы, соединения, порты, таблицу маршрутизации;
  • логи iptables, fail2ban (Reports, Alarms, Alerts);
  • конфигурацию /etc/ssh/sshd_config ;
  • логи демона Syslog (проверим на типичные алерты);
  • состояние SELinux;
  • список загруженных модулей ядра.

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

Поскольку железо, на котором крутится вся ферма, находится в надежном дата-центре, сразу отметается поиск артефактов, связанных с сетевой ФС (NFS), локально смонтированными устройствами и подключенными по USB девайсами.

WARNING

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

Снимаем образ HDD

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

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *