Strings ·
PE-Header ·
Import/Export-Tabellen ·
Hash-Werte ·
Disassembler ·
Tools
Die statische Analyse untersucht Malware, ohne sie auszuführen. Sie extrahiert Informationen aus der Datei selbst – Strings, Header, Importe und den disassemblierten Code.
strings extrahiert alle lesbaren Zeichenketten (ASCII, UTF-16) aus einer Datei. Dies kann Hinweise auf URLs, Dateipfade, Registry-Keys und Funktionen geben.
| Option | Beschreibung |
|---|---|
| -n [min] | Mindestlänge der Strings (z.B. -n 6) |
| -e [s/l/b] | Encoding: s=ASCII, l=UTF-16, b=Big-Endian |
| -a | Gesamte Datei durchsuchen |
| -t [x/d/o] | Offset-Ausgabe: hex, dezimal, oktal |
| | grep -i | Nach bestimmten Strings filtern |
strings sample.exe:cmd.exe, powershell, http://, CreateRemoteThread oder Registry-Pfade. Filtern Sie mit grep nach IOCs.
PE-Header (Portable Executable) enthalten Metadaten über Windows-Dateien – Zeitstempel, Subsystem, Sectionen, Einstiegspunkt und mehr.
| Feld | Beschreibung | Bedeutung |
|---|---|---|
| TimeDateStamp | Kompilierungszeit | Hinweis auf Alter der Datei |
| Machine | Architektur (x86, x64) | Bestimmt System-Anforderungen |
| Subsystem | GUI, CUI, Native | Bestimmt Konsolen-/Fensterverhalten |
| AddressOfEntryPoint | Einstiegspunkt | Erste ausgeführte Anweisung |
| Sectionen | .text, .data, .rdata, .rsrc | Speicherbereiche der Datei |
| Characteristics | Dateieigenschaften | DLL, ausführbar, etc. |
Import-Tabellen zeigen, welche Windows-APIs die Malware verwendet. Export-Tabellen zeigen, welche Funktionen eine DLL bereitstellt.
| API | Kategorie | Verdachtsmoment |
|---|---|---|
| CreateRemoteThread | Prozess-Injektion | Code in anderen Prozess injizieren |
| WriteProcessMemory | Prozess-Manipulation | Speicher anderer Prozesse schreiben |
| RegSetValueEx | Registry | Persistenz einrichten |
| InternetOpenUrl | Netzwerk | C2-Kommunikation |
| WinExec / ShellExecute | Ausführung | Weitere Programme starten |
| VirtualAlloc | Speicher | Schreib-ausführbaren Speicher anlegen |
Hash-Werte sind eindeutige Fingerabdrücke einer Datei. Sie werden verwendet, um Malware zu identifizieren, mit Threat-Intelligence-Datenbanken abzugleichen und Dateien zu verifizieren.
Disassembler wandeln Maschinencode in Assembler-Code um. Sie ermöglichen die statische Analyse des Programmablaufs – ohne die Malware auszuführen.
| Tool | Funktion | Besonderheit |
|---|---|---|
| IDA Pro | Interaktiver Disassembler, Cross-Referenzen, Graph-View | Kommerziell, De-facto-Standard, FLIRT |
| Ghidra | Open-Source, Decompiler, Scripting (Java/Python) | Von der NSA entwickelt, kostenlos |
| radare2 | Kommandozeilen-basiert, Skriptbar, Debugging | Open-Source, leichtgewicht |
| objdump | GNU-Disassembler, einfache Analyse | Linux-Standard, für ELF und PE |
Weitere Tools ergänzen die statische Analyse – Packer-Erkennung, PE-Viewer und Disassembler-Bibliotheken für eigene Skripte.
strings
pefile
imports
sha256
Ghidra
DIE
strings -n 6 sample.exe ·
sha256sum sample.exe ·
ghidra sample.exe