Dynamische Malware-Analyse

6 Kernkonzepte
Die wichtigsten Techniken und Tools für die dynamische Malware-Analyse: Sandbox · ProcMon · Wireshark · RegShot · API-Monitoring · Reverse Engineering Die dynamische Analyse beobachtet das Verhalten von Malware während der Ausführung – in einer kontrollierten Umgebung. Sie zeigt, welche Prozesse, Dateien, Registry-Einträge und Netzwerkverbindungen die Malware erstellt.

Sandbox & Labor – Sichere Analyse-Umgebung

VMware · VirtualBox · Cuckoo · REMnux
// Grundlegende Labor-Architektur Host-System → Virtualisierung Guest-VM → Windows/Linux mit Snapshots Isolation → Kein Internet / Fake-Internet Tools → ProcMon, Wireshark, RegShot, API Monitor

Sandbox und Labor-Umgebungen sind isolierte Systeme, in denen Malware sicher ausgeführt werden kann, ohne das Host-System zu gefährden. Snapshots erlauben ein einfaches Zurücksetzen nach jeder Analyse.

Empfohlene Sandbox-Lösungen

Tool Beschreibung Plattform
Cuckoo Sandbox Open-Source-Automatisierung für dynamische Analyse Linux
REMnux Linux-Distribution mit Analyse-Tools Linux
FLARE VM Windows-basierte Analyse-Umgebung Windows
VirtualBox Kostenlose Virtualisierung für Labore Cross-Plattform
VMware Workstation Professionelle Virtualisierung mit Snapshots Windows/Linux
Tipp: Verwenden Sie Snapshots vor jeder Analyse, um das System schnell auf den Ausgangszustand zurückzusetzen. Ein Fake-Netzwerk (z.B. INetSim) simuliert Internet-Dienste und fängt Netzwerkverkehr ab.

Prozess-Monitoring – ProcMon, Prozesse, Threads

ProcMon · Process Explorer · Task Manager
// ProcMon (Process Monitor) – Sysinternals procmon.exe → Startet die Überwachung Filter → Prozessname, Operation, Pfad Registry → RegRead, RegWrite, RegCreate File System → Create, Read, Write, Delete Process → CreateProcess, Terminate

ProcMon (Process Monitor) ist das wichtigste Tool für die dynamische Analyse. Es zeigt in Echtzeit alle Prozess-, Datei-, Registry- und Netzwerk-Aktivitäten einer Anwendung.

ProcMon-Workflow
1. ProcMon starten (als Administrator)
2. Filter setzen: Prozessname → "malware.exe"
3. Malware ausführen
4. ProcMon-Aktivitäten beobachten
5. Wichtige Einträge markieren und exportieren
# Wichtige ProcMon-Filter:
# Prozessname: malware.exe
# Operation: RegSetValue, CreateFile, WriteFile
# Path: Contains "System32" oder "AppData"
Typische ProcMon-Ausgabe:
PID Process Operation Path Result
1234 malware.exe CreateFile C:\Temp\malware.bin SUCCESS
1234 malware.exe RegSetValue HKLM\Software\Microsoft\... SUCCESS
1234 malware.exe CreateFile C:\Windows\System32\... ACCESS DENIED
Tipp: Filtern Sie in ProcMon nach Process Name und Operation (z.B. "RegSetValue", "CreateFile"). Exportieren Sie die Logs als CSV für eine detaillierte Nachbearbeitung.

Netzwerk-Traffic – Wireshark, TCPView, Netstat

Wireshark · TCPView · netstat -an
// Netzwerk-Überwachung Wireshark → Paketanalyse (pcap) TCPView → Aktive Verbindungen netstat -an → Ports und Verbindungen (CLI) INetSim → Fake-Internet-Dienste

Netzwerk-Analyse zeigt, mit welchen Servern die Malware kommuniziert, welche Protokolle verwendet werden und welche Daten übertragen werden.

Wireshark-Workflow
1. Wireshark auf virtuellem Interface starten
2. Capture-Filter: "host 192.168.1.100"
3. Malware ausführen
4. Traffic analysieren
# Wichtige Wireshark-Filter:
# dns → DNS-Anfragen
# http → HTTP-Anfragen
# tcp.port == 443 → HTTPS (verschlüsselt)
# ip.dst == 8.8.8.8 → Traffic zu spezifischer IP
Typische Wireshark-Ausgabe:
No. Time Source Destination Protocol Info
1 0.123 192.168.1.100 185.199.108.153 DNS Query: malware-c2.com
2 0.456 192.168.1.100 185.199.108.153 TCP 80 → 443 SYN
3 0.789 185.199.108.153 192.168.1.100 TCP 443 → 80 SYN-ACK
Tipp: Verwenden Sie INetSim oder FakeNet-NG, um DNS-Anfragen und Netzwerkverbindungen zu simulieren. So können Sie sehen, mit welchen Domains und IPs die Malware kommunizieren möchte – ohne das Internet zu nutzen.

Registry-Monitoring – RegShot, RegMon, Änderungen

RegShot · RegMon · Before/After
// Registry-Monitoring mit RegShot 1. RegShot starten → "Schuss 1" (Vorher) 2. Malware ausführen 3. RegShot → "Schuss 2" (Nachher) 4. Diff anzeigen → Änderungen

Registry-Monitoring zeigt, welche Registry-Einträge von der Malware erstellt, geändert oder gelöscht werden – oft ein wichtiger Indikator für Persistenz-Mechanismen.

RegShot-Workflow
1. RegShot als Administrator starten
2. "Schuss 1" → Registry-Snapshot erstellen
3. Malware ausführen (warten 2-5 Minuten)
4. "Schuss 2" → zweiten Snapshot erstellen
5. "Vergleichen" → Änderungen anzeigen
# Wichtige Registry-Pfade für Malware:
# HKLM\Software\Microsoft\Windows\CurrentVersion\Run
# HKCU\Software\Microsoft\Windows\CurrentVersion\Run
# HKLM\SYSTEM\CurrentControlSet\Services
# HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Typische RegShot-Diff-Ausgabe:
[ADD] HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Malware = C:\temp\malware.exe
[ADD] HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr = 1
[DEL] HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Cleanup
Tipp: Nutzen Sie RegShot für schnelle Before/After-Vergleiche. Für kontinuierliches Monitoring ist ProcMon mit Registry-Filtern besser geeignet.

API-Call-Monitoring – API Monitor, WinAPI, syscalls

API Monitor · WinAPI · NT API
// API-Call-Monitoring API Monitor → Win32/64 API-Calls ntdll.dll → Native API (syscalls) Hook → API-Calls abfangen Parameter → Strings, Buffer, Handles

API-Call-Monitoring zeigt, welche Windows-API-Funktionen die Malware aufruft – von Dateioperationen über Registry-Zugriffe bis zu Netzwerkfunktionen.

Wichtige API-Calls
# Dateioperationen:
CreateFile, ReadFile, WriteFile, DeleteFile, MoveFile
# Registry:
RegOpenKey, RegSetValue, RegDeleteKey, RegEnumKey
# Prozesse:
CreateProcess, OpenProcess, TerminateProcess, CreateRemoteThread
# Netzwerk:
WSAStartup, socket, connect, send, recv, InternetOpenUrl
# Persistenz:
CreateService, RegSetValue, SchTasks, SetWindowsHookEx
Typische API-Monitor-Ausgabe:
CreateFile("C:\Temp\malware.bin", GENERIC_WRITE, ...) → SUCCESS
RegSetValue(HKEY_LOCAL_MACHINE, "Run\Malware", ...) → SUCCESS
CreateProcess("cmd.exe", "/c del C:\...", ...) → SUCCESS
Tipp: Der API Monitor von Rohitab ist das Standard-Tool für die API-Analyse. Filtern Sie nach bestimmten DLLs (z.B. kernel32.dll, advapi32.dll, ws2_32.dll) für gezielte Analysen.

Weitere Tools – Autoruns, Process Explorer, Strings

Autoruns · Process Explorer · Strings
// Zusätzliche Analyse-Tools Autoruns → Persistenz-Mechanismen Process Explorer → Prozess-Details (Handles, DLLs) Strings → Extrahierte Textstrings PEStudio → PE-Datei-Analyse

Weitere Tools ergänzen die dynamische Analyse – sie helfen, Persistenz, Prozess-Details und eingebettete Strings zu identifizieren.

Wichtige Befehle
# Autoruns (Sysinternals) – Alle Autostart-Einträge
autoruns.exe -a
# Process Explorer – Prozess-Details (Strg+D = DLLs)
procexp.exe
# Strings – Textstrings aus Binaries extrahieren
strings.exe malware.exe > strings.txt
# TCPView – Netzwerkverbindungen
tcpview.exe
# PEStudio – PE-Datei analysieren
pestudio.exe malware.exe
Tipp: Autoruns ist besonders nützlich, um versteckte Persistenz-Mechanismen zu finden. Process Explorer zeigt geladene DLLs und offene Handles – oft ein Hinweis auf Injection-Techniken.

Dynamische Analyse im Überblick

Sandbox Isolierte Analyse-Umgebung
VM, Snapshots
ProcMon Prozess-, Datei-, Registry-Monitoring
Sysinternals
Wireshark Netzwerk-Traffic Analyse
Pakete, Protokolle
RegShot Registry-Before/After
Änderungen erkennen
API Monitor WinAPI-Calls überwachen
Systemaufrufe
Autoruns Persistenz-Mechanismen
Autostart

Quick Summary

Sandbox
Sichere Ausführung
ProcMon
Prozess- & Registry-Monitoring
Wireshark
Netzwerk-Traffic
RegShot
Registry-Vergleich
API Monitor
API-Calls
Autoruns
Persistenz
procmon.exe · wireshark · regshot · API Monitor · autoruns