Technologieführer

RAM-Forensik mit Volatility: Speicherabbild analysieren

8 min read Forensik Aktualisiert 16 Sep 2025
Volatility RAM-Forensik: Speicherabbild analysieren
Volatility RAM-Forensik: Speicherabbild analysieren

Wichtig: Diese Anleitung konzentriert sich auf Konzepte, Befehle und organisatorische Abläufe für Forensiker. Alle Befehle werden am Original‑Speicherabbild memdump3.raw demonstriert.

Einleitung

Die Analyse des flüchtigen Arbeitsspeichers (RAM) ist ein zentraler Teil moderner Malware‑Forensik. RAM enthält Laufzeitinformationen, die auf der Festplatte häufig nicht vorhanden sind: aktive Prozesse, geladene DLLs, Netzwerkverbindungen, offene Handles und Befehlsverläufe. Volatility ist ein in Python geschriebenes Framework, das Speicherabbilder vieler Plattformen unterstützt (Windows, Linux, macOS, Android) und sich gut für Incident Response und Malware‑Analysen eignet.

Kurzdefinition: Volatility — Open‑Source‑Framework zur statischen und forensischen Analyse von Speicherabbildern.

Inhalt und Zweck dieses Artikels

  • Einführung in unterstützte Speicherformate
  • Installation und erste Schritte mit Volatility
  • Erkennen des richtigen Profils (imageinfo)
  • Auflisten von Prozessen und Baumansicht (pslist, pstree)
  • Auffinden und Extraktion verdächtiger Injektionen (malfind)
  • Untersuchung von Befehlsverläufen (cmdscan)
  • Erkennen von Netzwerkaktivitäten (netscan)
  • Validierung extrahierter Artefakte mit Virustotal, Payload Security, Windows Defender, Malwarebytes
  • Best Practices, Playbook, Checklisten und Abnahmekriterien

Unterstützte Speicherformate

Die aktuelle Volatility‑Version unterstützt unter anderem folgende Formate:

  • Raw/Padded Physical Memory
  • Firewire (IEEE 1394)
  • Expert Witness (EWF)
  • 32‑ und 64‑bit Windows Crash Dump
  • 32‑ und 64‑bit Windows Hibernation
  • 32‑ und 64‑bit MachO Dateien
  • VirtualBox Core Dumps
  • VMware Saved State (.vmss) und Snapshot (.vmsn)
  • HPAK Format (FastDump)
  • QEMU Speicherabbilder

Installation

Volatility ist für Windows, Linux und macOS verfügbar. Für Windows und macOS werden Standalone‑Ausführungen angeboten. Auf Ubuntu 16.04 LTS lässt sich Volatility per Paketmanager installieren:

apt-get install volatility

Screenshot: Volatility-Installation auf Ubuntu mit apt-get

Vorbereitung: Integritätsprüfung

Vor Beginn der Analyse sollten Sie die Integrität des Speicherabbildes prüfen. Ein MD5‑Hash wurde für das Beispielbild berechnet:

MD5:               ee043142485a83f4d49a3a7899408500

Wichtig: Hashes bestätigen nur, dass die Datei während der Übertragung nicht verändert wurde. Für gerichtsfeste Ketten sollten Sie zusätzlich Metadaten zur Erfassung, Transport und Lagerung dokumentieren.

Erste Volatility‑Schritte: Profilbestimmung

Um Volatility korrekt zu konfigurieren, bestimmen Sie zunächst die vorgeschlagenen Profile mit imageinfo:

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" imageinfo -f memdump3.raw

Screenshot: Volatility imageinfo-Ausgabe für memdump3.raw

Die Ausgabe schlägt hier zwei mögliche Profile vor:

Win7SP0x86 , Win7SP1x86

Wählen Sie das passendste Profil (z. B. Win7SP0x86) für alle weiteren Plugins.

Prozesse identifizieren

Liste aller Prozesse im Speicherabbild:

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pslist -f memdump3.raw

Screenshot: Ausgabe von pslist mit laufenden Prozessen im Speicherabbild

Screenshot Teil 2: Liste laufender Prozesse (Fortsetzung)

Beobachtung: In der Liste treten ungewöhnliche Prozesse wie 0KqEC12.exe oder mehrfach iexplore.exe auf. Diese Namen sind verdächtig, weil sie legitime Windows‑Prozessnamen imitieren.

Baumansicht mit Parent/Child‑Beziehungen:

 "E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pstree -f memdump3.raw

Screenshot: pstree zeigt Parent/Child-Beziehungen der Prozesse

Screenshot Teil 2: pstree-Ausgabe (Fortsetzung)

Die Baumansicht hilft, den Elterprozess verdächtiger Prozesse zu identifizieren. Ist ein legitimes Programm (z. B. explorer.exe) Parent eines verdächtigen Childs, kann das auf Code‑Injektion hindeuten.

Malfind: nach injizierten Modulen suchen und extrahieren

Das Plugin malfind durchsucht Prozesse nach verdächtigen Speicherregionen (Code‑Injektionen, EXE‑/DLL‑Artefakte) und kann Inhalte in ein Verzeichnis extrahieren.

Beispiel: PID 1120 (svchost.exe). In diesem Fall findet malfind keine DLLs:

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1120 -p 1120 -f memdump3.raw

Screenshot: malfind Ergebnis für PID 1120 zeigt keine DLLs

PID 1788 (rdpclip.exe) — ebenfalls keine Treffer:

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1788 -p 1788 -f memdump3.raw

Screenshot: malfind Ergebnis für PID 1788 zeigt keine DLLs

PID 2104 (explorer.exe) — malfind extrahiert DLLs (mögliche Injektionen):

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2104 -p 2104 -f memdump3.raw

Screenshot: malfind-Ausgabe für PID 2104 (explorer.exe) — DLL-Extraktion

Screenshot: extrahierte DLL-Dateien aus explorer.exe

PID 2240 (0kqEC12.exe) — auffällig, weil Name ungewöhnlich ist:

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2240 -p 2240 -f memdump3.raw

Screenshot: malfind läuft gegen PID 2240 (0kqEC12.exe)

Screenshot: malfind-Ausgabe für PID 2240 mit Dump-Informationen

Weitere Beispiele: mehrere iexplore/iexplorer Prozesse (PIDs 2840, 2364, 3728) wurden ebenfalls untersucht und gedumpt:

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2840 -p 2840 -f memdump3.raw

Screenshot: malfind läuft gegen PID 2840 (iexplore.exe)

Screenshot: Hinweis auf Namensähnlichkeit zu legitimen iexplore-Prozess

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2364 -p 2364 -f memdump3.raw

Screenshot: malfind-Ausgabe für PID 2364 (iexplore.exe)

Screenshot: Dump der extrahierten Daten für PID 2364

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-3728 -p 3728 -f memdump3.raw

Screenshot: malfind läuft gegen PID 3728 (iexplore.exe)

Screenshot: Dump-Ergebnis für PID 3728

Hinweis: Wenn malfind Treffer liefert, extrahieren Sie die Dateien in ein isoliertes Verzeichnis und führen eine sichere Analyse in einer dedizierten Sandbox durch.

Validierung extrahierter Artefakte

Extrahierte Dateien wurden mit Windows Defender und Malwarebytes gescannt. Beide Scanner identifizierten die Proben als Trojaner:

Screenshot: Windows Defender-Erkennung Trojan:Win32/EyeStye

Die Meldung beschreibt typisches Verhalten: Keylogging, Monitoring, Datendiebstahl, mögliche weitere Downloads und Codeinjektion. Die Analyse ergab, dass Code in explorer.exe injiziert wurde und die injizierten Prozesse (z. B. iexplore.exe) vom Angreifer gestartet oder missbraucht wurden.

Screenshot: MalwareBytes erkennt Trojan.Grabber

Wichtig: Signaturerkennungen sind Indikatoren — korrelieren Sie mit Laufzeitdaten (Netzwerk, Prozesse, Befehlsverlauf), um False Positives zu minimieren.

CMD‑History aus dem Speicherabbild

Volatility kann über cmdscan (oder consscan/clipboard) Befehlsverläufe im RAM wiederherstellen:

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 cmdscan -f memdump3.raw

Screenshot: cmdscan Ausgabe mit Befehlsverlauf des Angreifers

Die Ausgabe zeigt, dass der Angreifer Befehle ausgeführt und dabei Programme wie iexplorer.exe und ieplore.exe aufgerufen hat. Eine weitere aufgefallene Zeichenkette war _lt112.spn; Online‑Recherchen zeigen Verweise auf Malware‑Analysen und Samples:

Screenshot: Treffer für _lt112.spn in Malwr-Datenbank

Screenshot: Treffer für _lt112.spn in Hybrid-Analysis

Tipp: Verwenden Sie Hashe, filenamestrings und Pe‑Merkmale, um das Sample in öffentlichen Repositories zu suchen.

Netzwerkverbindungen erkennen

Mit netscan lassen sich offene Sockets, Remote‑IP, lokale Ports und zugehörige Prozesse erkennen:

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 netscan -f memdump3.raw

Screenshot: netscan - Netzwerksockets Teil 1

Screenshot: netscan - Netzwerksockets Teil 2

Screenshot: netscan - Netzwerksockets Teil 3

Beobachtung: iExplorer/iexplore‑Prozesse öffnen Verbindungen, u. a. Port 80. Das korreliert mit dem Annahmen, dass die Malware C2‑Kommunikation über HTTP nutzt.

Wann Volatility an Grenzen stößt

  • Verschlüsselter oder gepackter Injektionscode im Speicher kann nicht ohne weiteres statisch entschlüsselt werden.
  • Time‑of‑acquisition‑Inkonsistenzen: Snapshot‑Lücken verhindern vollständige Rekonstruktion von transienten Aktivitäten.
  • Moderne Anti‑Forensik: Rootkits, Kernel‑Hooking oder Patchen von Strukturen kann Volatility‑Erkennung erschweren.

Alternative Ansätze: Kernel Debugging, Live‑Forensik (bei zugänglichem System), Hypervisor‑Level‑Snapshots, spezialisierte Tools wie Rekall.

Playbook: RAM‑Forensik mit Volatility (Kurzversion)

  1. Dokumentieren: Quelle, Zeitstempel, Hashes, Kette der Custody.
  2. Sicher kopieren: Arbeite an Kopien des Memory Dumps in isolierter Umgebung.
  3. imageinfo → Profil wählen.
  4. pslist/pstree → auffällige Prozesse markieren.
  5. malfind → verdächtige Prozesse extrahieren.
  6. cmdscan → Befehlsverläufe sichern.
  7. netscan → aktive Netzwerkverbindungen prüfen.
  8. Extrakte in Sandbox/Offline scannen (VirusTotal, Payload Security).
  9. Korrelation mit Logs (Proxy, Firewall, EDR) und IOC‑Mapping.
  10. Reporting: Timeline, Impact, TTPs, Empfehlungen.

Rollenbasierte Checkliste

Analyst:

  • Prüfen, ob Profil korrekt ist.
  • Prozesse priorisieren (Unbekannte, Prozesse mit Netzwerkzugang).
  • Artefakte sicher extrahieren.

Responder:

  • Netzwerksegmente isolieren, betroffene Hosts identifizieren.
  • Indikatoren verteilen (Hashes, Domains, IPs).

Forensik‑Lead:

  • Chain of custody sicherstellen.
  • Freigabe von Berichten und Beweismitteln.

Ablauf bei Incident: Runbook (Kurzform)

  • Schritt 1: Isolation des betroffenen Hosts (Netzwerktrennung, wenn möglich).
  • Schritt 2: RAM‑Erfassung nach Standardverfahren (z. B. FTK Imager, DumpIt), Hashing.
  • Schritt 3: Umsetzung Playbook (oben).
  • Schritt 4: Identifikation C2, Persistenzmechanismen, Datenexfiltration.
  • Schritt 5: Eradikation, Wiederherstellung, Lessons Learned.

Abnahmekriterien

  • Alle relevanten Artefakte (Prozessdumps, extrahierte DLLs) abgesichert und in einer gesicherten Ablage hinterlegt.
  • Ergebnisbericht enthält Timeline, betroffene Prozesse, Netzwerkkontakte und empfohlene Maßnahmen.
  • Reproduzierbare Befehlsfolge (Volatility‑Befehle + Profile) dokumentiert.

Testfälle und Akzeptanzkriterien

  • Testfall 1: memory dump mit bekannter Injektion → malfind muss Injektion extrahieren.
  • Testfall 2: dump ohne Injektion → malfind darf keine zufälligen Dateien markieren.
  • Testfall 3: cmdscan muss zuletzt ausgeführte Befehle rekonstruieren, wenn im RAM vorhanden.

Akzeptanz: Ergebnisse sind mit mindestens einem weiteren Tool (z. B. Rekall) reproduzierbar oder durch manuelle Inspektion verifizierbar.

Risikoanalyse und Gegenmaßnahmen (qualitativ)

  • Risiko: False Positives bei Signature‑Scannern. Maßnahme: Korrelation mit Laufzeitdaten und manuelle Analyse.
  • Risiko: Datenverlust bei unsachgemäßer Handhabung. Maßnahme: Immer mit Kopien arbeiten und Hashes nutzen.
  • Risiko: Kompromittierung des Analyse‑Umfelds. Maßnahme: Analyse in isolierter VM/Sandbox, keine Netzwerkverbindungen während statischer Analyse.

Datenschutzhinweise (GDPR/DSGVO)

  • Speicherabbilder können personenbezogene Daten enthalten (Passwörter, E‑Mails, Klartextdaten). Minimieren Sie Datensichtbarkeit: nur relevante Fragmente extrahieren, pseudonymisieren/verschlüsseln und Zugriffe protokollieren.
  • Halten Sie rechtliche Freigaben und Aufbewahrungsfristen ein.

Mental Model: Vorgehensweise in 3 Schritten

  1. Erkennen: Identifiziere Auffälligkeiten in Prozessen und Netzwerk.
  2. Extrahieren: Dumpen und sichern verdächtiger Speicherregionen.
  3. Validieren: Scannen, korrelieren, kontextualisieren und handeln.

Dieses Dreistufenmodell hilft, Prioritäten zu setzen und analystische Arbeit zu strukturieren.

Alternative Tools und Kompatibilität

  • Rekall: Alternative zur Analyse von RAM mit anderen Plugins/Ansätzen.
  • LiME: Linux Memory Extractor (für Live‑Erfassung auf Linux).
  • FTK Imager / DumpIt: Tools zur Erstellung von Speicherabbildern.

Hinweis: Volatility v2.x verwendet Profile; neuere Versionen oder Rekall haben andere Workflows. Prüfen Sie Kompatibilität vor Einsatz.

Glossar (Kurz, 1‑Zeiler)

  • RAM: Flüchtiger Arbeitsspeicher eines Systems.
  • Imageinfo: Volatility‑Plugin zur Profilbestimmung.
  • malfind: Volatility‑Plugin zum Finden und Extrahieren von Injektionen.
  • cmdscan: Plugin zur Wiederherstellung von Kommandozeilenhistorien.
  • netscan: Plugin zur Auflistung im RAM vorhandener Netzwerkverbindungen.

Beispielentscheidungsbaum (Mermaid)

flowchart TD
  A[Start: Speicherabbild vorhanden?] -->|Nein| B[Erfassen nach Standard]
  A -->|Ja| C[imageinfo ausführen]
  C --> D{Profil gefunden}
  D -->|Nein| E[Versuche alternative Profile]
  D -->|Ja| F[pslist & pstree]
  F --> G{Verdächtige Prozesse?}
  G -->|Nein| H[Abschluss: geringes Risiko]
  G -->|Ja| I[malfind & netscan]
  I --> J{Artefakte extrahiert}
  J -->|Ja| K[Sandbox‑Analyse + Scans]
  J -->|Nein| L[Manuelle Inspektion / Rekall]
  K --> M[Reporting & Eradikation]
  L --> M

Reporting: Was gehört in den Abschlussbericht

  • Kurzbeschreibung des Vorfalls und Scope
  • Hashes und Metadaten des Images
  • Liste verdächtiger Prozesse, PIDs, Parent/Child‑Beziehungen
  • Extrahierte Dateien mit Hashes
  • Netzwerkkontakte und vermutete C2‑Verbindungen
  • Verwendete Tools, Versionen und Befehle
  • Empfohlene Maßnahmen (Containment, Eradikation, Patchen, Monitoring)

Kurze Ankündigungsversion (100–200 Wörter)

Volatility ist ein leistungsfähiges Open‑Source‑Framework zur Analyse von RAM‑Speicherabbildern. In diesem Leitfaden zeigen wir Schritt für Schritt, wie Sie mit Volatility das richtige Profil bestimmen, laufende Prozesse identifizieren, verdächtige Injektionen mit malfind extrahieren, Befehlsverläufe mit cmdscan auslesen und Netzwerkverbindungen mit netscan rekonstruieren. Extrahierte Artefakte lassen sich in Sandboxes und mit Signatur‑Scannern validieren. Ergänzt wird die technische Anleitung durch Playbooks, rollenbasierte Checklisten, einen Entscheidungsbaum und Hinweise zur datenschutzrechtlichen Behandlung von Speicherabbildern. Ziel ist es, Forensikern und Incident Respondern reproduzierbare, sichere Arbeitsabläufe für die RAM‑Forensik zur Verfügung zu stellen.

Zusammenfassung

  • Volatility bietet breitgefächerte Plugins für Memory Forensics.
  • Profilbestimmung ist die Grundlage jeder Analyse.
  • malfind + netscan + cmdscan liefern zusammen ein aussagekräftiges Bild.
  • Artefakte immer in isolierter Umgebung analysieren und mit mehreren Quellen validieren.

Wichtig: Dokumentation, Reproduzierbarkeit und Datenschutz sind ebenso wichtig wie technische Analyse.

Referenzen

  1. http://www.volatilityfoundation.org/24
  2. https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Trojan:Win32/EyeStye.N
Autor
Redaktion

Ähnliche Materialien

Apache Tomcat Monitoring: Counter & Ereignisregeln
Monitoring

Apache Tomcat Monitoring: Counter & Ereignisregeln

Clickjacking: erkennen und verhindern
Sicherheit

Clickjacking: erkennen und verhindern

Mehrere Android‑Hintergründe pro Homescreen einrichten
How-to

Mehrere Android‑Hintergründe pro Homescreen einrichten

Datenbroker entfernen: Anleitung & Dienste
Datenschutz

Datenbroker entfernen: Anleitung & Dienste

Verschiedene Hintergrundbilder pro Android‑Homescreen
Android Anleitung

Verschiedene Hintergrundbilder pro Android‑Homescreen

Apache Tomcat überwachen und verwalten
Systemüberwachung

Apache Tomcat überwachen und verwalten