Wie man ein Speicherabbild vom Linux-System speichert?

18

Ich kann Speicherabbilder in Windows sichern. (eg-dumpit) Aber ich weiß nicht, wie ich Speicherabbilder unter Linux sichern soll.

Ich möchte Speicherabbilder in Linux und von Linux zu Linux mit SSH-Verbindung oder so etwas bekommen.

Wie komme ich unter Linux?

bakie
quelle
5
Versuchen Sie, Speicher von einem laufenden Prozess, Kernelspeicher oder physischem Rohspeicher abzurufen? Alle sind verfügbar, aber die Zugriffsmethoden unterscheiden sich. Siehe / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps und / proc / $ pid / mem.
Casey
Werfen Sie einen Blick auf diese SU Q & A: superuser.com/questions/164960/...
slm

Antworten:

26

Aus dem Forensic Wiki: Tools: Memory Imaging

Auszug

Linux

/ dev / mem

Auf älteren Linux-Systemen kann mit dem Programm dd der Inhalt des physischen Speichers aus der Gerätedatei / dev / mem gelesen werden . Auf neueren Linux-Systemen bietet / dev / mem jedoch nur Zugriff auf einen eingeschränkten Adressbereich und nicht auf den gesamten physischen Speicher eines Systems. Auf anderen Systemen ist es möglicherweise überhaupt nicht verfügbar. In der gesamten 2.6-Serie des Linux-Kernels ging der Trend dahin, den direkten Zugriff auf den Speicher über Pseudo-Device-Dateien zu reduzieren. Siehe zum Beispiel die Meldung zu diesem Patch: http://lwn.net/Articles/267427/ .

/ dev / crash

Auf Red Hat-Systemen (und solchen, auf denen verwandte Distributionen wie Fedora oder CentOS ausgeführt werden) kann der Absturztreiber geladen werden, um Pseudo-Device / dev / crash für den physischen Rohspeicherzugriff zu erstellen (über den Befehl "modprobe crash"). Dieses Modul kann mit geringem Aufwand auch für andere Linux-Distributionen kompiliert werden (siehe z. B. http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Wenn der Absturztreiber geändert, kompiliert und auf andere Systeme geladen wird, kann das resultierende Speicherzugriffsgerät nicht vollständig gesichert werden. Es muss darauf geachtet werden, Adressen zu vermeiden, die nicht RAM-gesichert sind. Unter Linux macht / proc / iomem die korrekten Adressbereiche für das mit "System RAM" gekennzeichnete Image verfügbar.

Zweiter Blick: Linux Memory Forensics

Dieses kommerzielle Speicherforensikprodukt wird mit einer geänderten Version des Absturztreibers und einem Skript zum sicheren Speichern des Speichers unter Verwendung des ursprünglichen oder geänderten Treibers auf einem beliebigen Linux-System ausgeliefert.

fmem fmem - github repo

fmem ist ein Kernelmodul, das device / dev / fmem erstellt, ähnlich wie / dev / mem, jedoch ohne Einschränkungen. Dieses Gerät (physischer RAM) kann mit dd oder einem anderen Tool kopiert werden. Funktioniert auf 2.6 Linux-Kerneln. Unter der GNU GPL.

LiME - Linux Memory Extractor

Linux Memory Extractor (LiME) ist ein Loadable Kernel Module (LKM), mit dem sich flüchtiger Speicher von Linux- und Linux-basierten Geräten wie Android-Geräten abrufen lässt. Das Tool unterstützt das Speichern von Speicher entweder im Dateisystem des Geräts oder über das Netzwerk.

Ich fand dieses Beispiel von fmemin use, das der einfachste Weg zu sein scheint, Speicher für Analysezwecke zu /dev/memsichern. Sie können es nach dem 2.6.x-Kernel nicht mehr verwenden , so wie ich es verstehe.

fmem Beispiel

$ ./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

* Quelle: Wie kann ich den gesamten physischen Speicher in eine Datei sichern?

LiME-Beispiel

Zum Analysieren von flüchtigem Speicher gibt es auch diese Seite mit dem Titel: Linux Memory Analysis . In diesem Video-Tutorial finden Sie ein ausführliches Beispiel, das die Verwendung von LiME und Volatility zum Sammeln und Analysieren eines Speicherabbilds zeigt. Dabei wird der Bash-Verlauf des Benutzers aus dem Speicherabbild extrahiert.

Was sonst?

Es gibt auch diese U & L-Fragen und Antworten mit dem Titel: Wie kann ich den gesamten Systemspeicher sichern? das hat zusätzliche Beispiele und Informationen.

slm
quelle
-3
dc3dd if=/proc/kcore of=/mount/.
Larytet
quelle
2
Eine Erklärung wäre nett.
Phk