Analyse von Windows-Prefetch mit Python
Überblick
Windows-Prefetch-Dateien (.pf) zeichnen Daten zur Programmausführung auf, darunter ausführbare Namen, Ausführungshäufigkeiten, Zeitstempel, geladene DLLs und zugegriffene Verzeichnisse. Diese Fähigkeit behandelt das Parsen von Prefetch-Dateien mit der Python-Bibliothek windowsprefetch, um Ausführungszeitlinien zu rekonstruieren, umbenannte oder getarnte Binärdateien durch Vergleich von Programmnamen mit geladenen Ressourcen zu erkennen und verdächtige Programme zu identifizieren, die auf Malware-Ausführung oder laterale Bewegung hindeuten.
Verwendungszweck
- Bei der Untersuchung von Sicherheitsvorfällen, die eine Analyse von Windows-Prefetch mit Python erfordern.
- Beim Erstellen von Detektionsregeln oder bei Threat-Hunting-Abfragen für diesen Bereich.
- Wenn SOC-Analysten strukturierte Verfahren für diese Art der Analyse benötigen.
- Bei der Validierung der Sicherheitsüberwachungsabdeckung für relevante Angriffstechniken.
Voraussetzungen
- Python 3.9+ mit der Bibliothek
windowsprefetch(pip install windowsprefetch) - Windows-Prefetch-Dateien aus C:\Windows\Prefetch\ (Versionen 17-30 werden unterstützt)
- Grundlegendes Verständnis der Windows-Prefetch-Dateibenennungsregeln (AUSFÜHRBAR-HASH.pf)
Schritte
Schritt 1: Prefetch-Dateien sammeln
Sammle .pf-Dateien aus dem Verzeichnis C:\Windows\Prefetch\ des Zielsystems.
Schritt 2: Ausführungshistorie parsen
Extrahiere Ausführungsnamen, Ausführungshäufigkeit, letzte Ausführungszeitstempel und Volume-Informationen.
Schritt 3: Verdächtige Ausführung erkennen
Markiere bekannte Angriffswerkzeuge (Mimikatz, PsExec usw.), umbenannte Binärdateien und ungewöhnliche Ausführungsmuster.
Schritt 4: Ausführungszeitachse erstellen
Rekonstruiere eine chronologische Ausführungszeitachse aus allen Prefetch-Dateien.
Erwartete Ausgabe
JSON-Bericht mit Ausführungshistorie, verdächtigen Programmen, Indikatoren für umbenannte Binärdateien und Zeitachsenrekonstruktion.
Beispielausgabe
$ python3 prefetch_analyzer.py --dir /evidence/Windows/Prefetch --output /analysis/prefetch_report
Windows Prefetch Analyzer v2.1
================================
Quelle: /evidence/Windows/Prefetch/
Prefetch-Format: Windows 10 (MAM-komprimiert, Version 30)
Gefundene Dateien: 234
--- Ausführungszeitachse (Vorfallfenster: 2024-01-15 bis 2024-01-18) ---
Letzte Ausführung (UTC) | Anzahl | Dateiname | Hash | Pfad
------------------------|--------|------------------------------|----------|------------------------------------------
2024-01-15 14:33:15 | 1 | Q4_REPORT.XLSM-2A1B3C4D.pf | 2A1B3C4D | C:\Users\jsmith\Downloads\Q4_Report.xlsm
2024-01-15 14:35:44 | 1 | POWERSHELL.EXE-A2B3C4D5.pf | A2B3C4D5 | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
2024-01-15 14:36:30 | 3 | UPDATE_CLIENT.EXE-B3C4D5E6.pf| B3C4D5E6| C:\ProgramData\Updates\update_client.exe
2024-01-15 15:10:22 | 1 | NETSCAN.EXE-C4D5E6F7.pf | C4D5E6F7 | C:\Users\jsmith\Downloads\netscan.exe
2024-01-16 02:28:00 | 1 | PROCDUMP64.EXE-D5E6F7A8.pf | D5E6F7A8 | C:\Windows\Temp\procdump64.exe
2024-01-16 02:30:15 | 2 | MIMIKATZ.EXE-E6F7A8B9.pf | E6F7A8B9 | C:\Windows\Temp\mimikatz.exe
2024-01-16 02:40:00 | 4 | PSEXEC.EXE-F7A8B9C0.pf | F7A8B9C0 | C:\Users\jsmith\AppData\Local\Temp\psexec.exe
2024-01-17 02:45:00 | 1 | SDELETE64.EXE-A8B9C0D1.pf | A8B9C0D1 | C:\Windows\Temp\sdelete64.exe
2024-01-18 03:00:45 | 1 | WEVTUTIL.EXE-B9C0D1E2.pf | B9C0D1E2 | C:\Windows\System32\wevtutil.exe
--- Erkennung umbenannter Binärdateien ---
WARNUNG: UPDATE_CLIENT.EXE hat DLLs geladen, die mit Cobalt Strike Beacon übereinstimmen:
Referenzierte DLLs: wininet.dll, ws2_32.dll, advapi32.dll, dnsapi.dll, netapi32.dll
Volume: \VOLUME{01d94f2a3b5c7d8e-A4E73F21} (C:)
Referenzierte Verzeichnisse:
C:\ProgramData\Updates\
C:\Windows\System32\
--- Analyse der Ausführungshäufigkeit ---
Am häufigsten ausgeführt (Top 5):
1. SVCHOST.EXE (267 Ausführungen)
2. CHROME.EXE (189 Ausführungen)
3. EXPLORER.EXE (156 Ausführungen)
4. RUNTIMEBROKER.EXE (134 Ausführungen)
5. OUTLOOK.EXE (98 Ausführungen)
Erstmalige Ausführungen (zuvor noch nicht im Vorfallfenster gesehen):
6 Programme wurden erstmals zwischen 2024-01-15 und 2024-01-18 ausgeführt
Zusammenfassung:
Gesamtzahl Prefetch-Dateien: 234
Verdächtige Programme: 6
Indikatoren für umbenannte Binärdateien: 1 (update_client.exe)
Anti-forensische Werkzeuge: 2 (sdelete64.exe, wevtutil.exe)
JSON-Bericht: /analysis/prefetch_report/prefetch_timeline.json