Wie kann ich in Linux physischen Speicher sichern?


22

Wie würde man einen Speicherauszug des physischen Speichers (RAM) in Linux erstellen?

Welche Software ist für diesen Zweck verfügbar?

Ich habe gelesen, dass man nicht auf eine lokale Platte schreiben soll, sondern die Daten über das Netzwerk senden soll. Kennt jemand die Besonderheiten hier? Funktioniert Ethernet für diesen Zweck, oder gibt es Befehle, die das Caching vor dem Senden an die Festplatte minimieren?

WinHex unter Windows bietet folgende Funktionen:

Bildbeschreibung hier eingeben

Ich suche etwas ähnliches unter Linux.

Antworten:


22

Hier ist eine eHow-Seite zum Speichern von Linux-Speicher

Linux stellt zu diesem Zweck zwei virtuelle Geräte zur Verfügung, ' /dev/mem' und ' /dev/kmem', obwohl viele Distributionen sie aus Sicherheitsgründen standardmäßig deaktivieren. ' /dev/mem' ist mit dem physischen Systemspeicher verknüpft, während ' /dev/kmem' der gesamte virtuelle Speicherbereich einschließlich etwaiger Auslagerungen zugeordnet ist. Beide Geräte arbeiten als reguläre Dateien und können mit dd oder einem anderen Dateibearbeitungsprogramm verwendet werden.

Daraufhin wird die ForensicsWiki-Seite zu Memory Imaging Tools mit dem Linux / Unix-Abschnitt aufgerufen .

  1. dd Auf Unix-Systemen kann das Programm dd verwendet werden, um den Inhalt des physischen Speichers mithilfe einer Gerätedatei (z. B. / dev / mem und / dev / kmem) zu erfassen. In neueren Linux-Kerneln ist / dev / kmem nicht mehr verfügbar. In noch neueren Kerneln gelten für / dev / mem zusätzliche Einschränkungen. In der neuesten Version ist / dev / mem ebenfalls nicht mehr standardmäßig verfügbar. In der gesamten 2.6-Kernel-Serie 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/ . Auf Red Hat-Systemen (und abgeleiteten Distributionen wie CentOS) kann der Absturztreiber geladen werden, um ein Pseudogerät für den Speicherzugriff zu erstellen ("modprobe crash").
  2. Zweiter Blick Dieses kommerzielle Speicheranalyseprodukt kann Speicher von Linux-Systemen lokal oder von einem Remote-Ziel über DMA oder über das Netzwerk abrufen. Es wird mit vorkompilierten PMAD-Modulen (Physical Memory Access Driver) für Hunderte von Kerneln der am häufigsten verwendeten Linux-Distributionen geliefert.
  3. Idetect (Linux)
  4. fmem (Linux)
    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.
  5. Goldfish
    Goldfish ist ein forensisches Live-Tool für Mac OS X, das nur von Strafverfolgungsbehörden verwendet wird. Sein Hauptzweck ist es, eine benutzerfreundliche Schnittstelle bereitzustellen, um den System-RAM eines Zielcomputers über eine Firewire-Verbindung zu sichern. Anschließend werden automatisch das aktuelle Anmeldekennwort des Benutzers und alle möglicherweise verfügbaren offenen AOL Instant Messenger-Konversationsfragmente extrahiert. Die Strafverfolgung kann goldfish.ae kontaktieren, um Informationen zum Download zu erhalten.

Siehe auch: Linux-Speicheranalyse .
Unter den meisten Linux-Betriebssystemen ist auch GDB allgemein verfügbar.
Es wird immer empfohlen, nicht über unbekannten Speicher zu schreiben, da dies zur Beschädigung des Systems führen kann.


1
Hat jemand dies auf einem neuen Ubuntu-System versucht?

1
Kein / dev / mem oder / dev / kmem auf meinem Debian-System.
Rob

Ich habe es gerade auf meiner CentOS 7.x VM gemacht.
Slm

4

Die Volatilität scheint gut zu funktionieren und ist Windows- und Linux-kompatibel.

Von ihrer Website:

Volatility unterstützt Speicherabbilder von allen wichtigen 32- und 64-Bit-Windows-Versionen und Service Packs, einschließlich XP, 2003 Server, Vista, Server 2008, Server 2008 R2 und Seven. Unabhängig davon, ob es sich bei Ihrem Speicherabbild um ein Raw-Format, ein Microsoft-Absturzabbild, eine Ruhezustandsdatei oder einen Snapshot einer virtuellen Maschine handelt, kann Volatility damit arbeiten. Wir unterstützen jetzt auch Linux-Speicherabbilder im Raw- oder LiME-Format und enthalten über 35 Plug-ins für die Analyse von 32- und 64-Bit-Linux-Kerneln von 2.6.11 - 3.5.x und Distributionen wie Debian, Ubuntu, OpenSuSE, Fedora, CentOS und Mandrake. Wir unterstützen 38 Versionen von Mac OSX-Speicherabbildern von 10.5 bis 10.8.3 Mountain Lion, sowohl 32- als auch 64-Bit. Android-Telefone mit ARM-Prozessoren werden ebenfalls unterstützt.



0

Zur Bestätigung konnte ich den Speicher meiner CentOS 7.x-VM folgendermaßen sichern:

$ head /dev/mem | hexdump -C
00000000  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
00000010  53 ff 00 f0 53 ff 00 f0  cc e9 00 f0 53 ff 00 f0  |S...S.......S...|
00000020  a5 fe 00 f0 87 e9 00 f0  53 ff 00 f0 46 e7 00 f0  |........S...F...|
00000030  46 e7 00 f0 46 e7 00 f0  57 ef 00 f0 53 ff 00 f0  |F...F...W...S...|
00000040  22 00 00 c0 4d f8 00 f0  41 f8 00 f0 fe e3 00 f0  |"...M...A.......|
00000050  39 e7 00 f0 59 f8 00 f0  2e e8 00 f0 d4 ef 00 f0  |9...Y...........|
00000060  a4 f0 00 f0 f2 e6 00 f0  6e fe 00 f0 53 ff 00 f0  |........n...S...|
00000070  ed ef 00 f0 53 ff 00 f0  c7 ef 00 f0 ed 57 00 c0  |....S........W..|
00000080  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000100  59 ec 00 f0 3d 00 c0 9f  53 ff 00 f0 ed 69 00 c0  |Y...=...S....i..|
00000110  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000afea0  00 00 00 00 00 00 00 00  aa aa aa 00 aa aa aa 00  |................|
000afeb0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
...
...
000b0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000c0000  55 aa 40 e9 62 0a 00 00  00 00 00 00 00 00 00 00  |U.@.b...........|
000c0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 49 42  |..............IB|
000c0020  4d 00 9c 80 fc 0f 75 06  e8 4f 01 e9 bc 00 80 fc  |M.....u..O......|

Angesichts dieser 55aah im c0000h-effffh-Bereich ist es wahrscheinlich, dass der PNP-Erweiterungsheader:

Referenz: BIOS-Startspezifikation

3.3 Geräte mit PnP-Erweiterungsköpfen

Alle IPL-Geräte mit Options-ROMs müssen einen gültigen Options-ROM-Header enthalten, der zwischen den Systemspeicheradressen C0000h und EFFFFh an einer 2k-Grenze liegt und mit 55AAh beginnt. Das Booten eines Geräts kann nur gesteuert werden, wenn es über einen PnP-Erweiterungs-Header verfügt. Der Erweiterungs-Header, dessen Adresse sich im Standard-Options-ROM-Header bei Offset + 1Ah befindet, enthält wichtige Informationen zur Konfiguration des Geräts. Es enthält auch Zeiger auf den Code im Options-ROM des Geräts (BCV oder BEV), den das BIOS aufruft, um vom Gerät aus zu starten. In Anhang A finden Sie Informationen zum Aufbau des PnP-Erweiterungsheaders. Es gibt zwei Möglichkeiten, wie ein IPL-Gerät mit einem PnP-Erweiterungsheader gebootet werden kann. Es muss ein BCV oder ein BEV enthalten.

Verweise

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.