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

RAM дамп

Как и в случае со снятием образа жесткого диска в Linux, существует несколько способов сделать дамп оперативной памяти в Linux. Среди вариантов:

  • использование нативного модуля ядра Linux Memory Extractor (LiME);
  • скрипт Linux Memory Grabber, который не требует установки и который можно запускать, к примеру, с флешки;
  • связка утилит lmap и pmem, которые входят в пакет Rekall. Их-то я и буду использовать.

Пара слов о Rekall. Это отдельная ветвь развития известного фреймворка Volatility Framework, которая написана на Python и предназначена специально для включения в форензик-дистрибутивы, работающие с Live CD.

Переходим в папку с утилитой и собираем ее из исходников:

Грузим драйвер ядра pmem.ko в оперативную память:

Проверяем инициализацию драйвера:

После этого драйвер создает файл-контейнер под наш будущий образ RAM: /dev/pmem.

Теперь с помощью все той же утилиты dd создаем сам образ оперативной памяти системы:

Ну и после завершения работы выгружаем драйвер:

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

Дима (Kozhuh)

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

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

  1. Иван

    ссылка не работает, можете дать корректную ссылку на скачивание Rekall ?

    Ответить
    1. Falcon

      Вот ссылка на GitHub:
      https://github.com/google/rekall

  2. Alex

    после
    $ dd if=/dev/pmem of=forensic_RAM_image.raw
    ошибка
    Segmentation fault

    Ответить
    1. Falcon

      Ошибка Segmentation fault может возникнуть из-за прав или проблем с устройством. Убедитесь, что у вас есть права суперпользователя, запустив команду с sudo:
      sudo dd if=/dev/pmem of=forensic_RAM_image.raw

      Также проверьте, что устройство /dev/pmem доступно:
      ls -l /dev/pmem

    2. Alex

      я запускал и от обычного пользователя и от root.
      ls -l /dev/pmem
      crw——- 1 root root 10, 61 Jul 24 14:16 /dev/pmem