Как сбрасывать образ памяти из Linux-системы?

Я знаю, чтобы сбрасывать образы памяти в Windows. (например, dumpit) Но я не знаю, как сбрасывать образы памяти в Linux.

Я хочу получить образы памяти в Linux и от Linux до Linux с помощью ssh-соединения или чего-то еще.

Как я могу попасть в Linux?

Из вики-книги Forensic: Инструменты: Memory Imaging

выдержка

Linux

/ DEV / MEM

В старых системах Linux программу dd можно использовать для чтения содержимого физической памяти из файла устройства / dev / mem. Однако в последних системах Linux / dev / mem обеспечивает доступ только к ограниченному диапазону адресов, а не к полной физической памяти системы. В других системах он может быть недоступен вообще. На протяжении серии 2.6 ядра Linux тенденция заключалась в сокращении прямого доступа к памяти через файлы псевдо-устройств. См., Например, сообщение, сопровождающее этот патч: http://lwn.net/Articles/267427/ .

/ DEV / аварии

В системах Red Hat (и тех, которые выполняют связанные дистрибутивы, такие как Fedora или CentOS), драйвер сбоя может быть загружен для создания псевдо-устройства / dev / crash для доступа к физической физической памяти (через команду «сбой modprobe»). Этот модуль также может быть скомпилирован для других дистрибутивов Linux с небольшими усилиями (см., Например, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Когда драйвер аварийной ситуации изменяется, компилируется и загружается в другие системы, результирующее устройство доступа к памяти не является безопасным для полного изображения. Необходимо избегать адресов, которые не поддерживаются оперативной памятью. В Linux / proc / iomem предоставляет правильные диапазоны адресов для изображения, помеченные «Системным ОЗУ».

Второй взгляд: криминализация памяти Linux

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

fmem

fmem – модуль ядра, который создает устройство / dev / fmem, аналогично / dev / mem, но без ограничений. Это устройство (физическое ОЗУ) можно скопировать с помощью dd или другого инструмента. Работает на 2.6 ядрах Linux. В соответствии с GNU GPL.

LiME – Linux Memory Extractor

Linux Memory Extractor (LiME) – это загружаемый модуль ядра (LKM), который позволяет получать энергозависимую память от Linux и Linux-устройств, например, от Android. Инструмент поддерживает сброс памяти либо в файловую систему устройства, либо через сеть.

Я нашел этот пример использования fmem , который, как представляется, является самым простым способом сброса памяти для целей анализа, вы больше не можете использовать /dev/mem после ядер 2.6.x, насколько я понимаю.

Пример fmem

 $ ./run.sh ... ----Memory areas: ----- reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back reg01: base=0x0c8800000 ( 3208MB), size= 2MB, count=1: write-combining ----------------------- !!! Don't forget add "count=" to dd !!! $ ls /dev/f* /dev/fb0 /dev/fd0 /dev/fmem /dev/full /dev/fuse $ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10 10+0 records in 10+0 records out 10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s 

* Источник: Как я могу сбросить всю физическую память в файл?

Пример LiME

Для анализа энергозависимой памяти есть также эта страница под названием « Анализ памяти Linux» . В этом видеоуроке приводится подробный пример, показывающий использование LiME и Volatility для сбора дампа памяти, а затем его анализ, извлечение истории Bash пользователя из дампа памяти.

  • Использование LiME & Volatility для анализа памяти Linux

Что еще?

Там также есть U & L Q & A под названием: Как я могу сбросить полную системную память? который содержит дополнительные примеры и информацию.

Rekall

Проверьте структуру rekall , у них есть приложение linpmem для этой цели: http://www.rekall-forensic.com/docs/Tools/index.html

В SANS rekall memory forensic cheatsheet есть пример того, как сбрасывать память под linux:

 # ./linpmem_2.0.1 -o linux.aff4 
 dc3dd if=/proc/kcore of=/mount/.