Analyse des fichiers Prefetch Windows avec Python
Présentation
Les fichiers Prefetch Windows (.pf) enregistrent les données d'exécution des applications, y compris les noms d'exécutables, le nombre d'exécutions, les horodatages, les DLL chargées et les répertoires accédés. Cette compétence couvre l'analyse des fichiers Prefetch à l'aide de la bibliothèque Python windowsprefetch pour reconstruire des chronologies d'exécution, détecter des binaires renommés ou déguisés en comparant les noms d'exécutables avec les ressources chargées, et identifier des programmes suspects pouvant indiquer une exécution de malware ou un mouvement latéral.
Quand l'utiliser
- Lors de l'investigation d'incidents de sécurité nécessitant l'analyse des fichiers Prefetch Windows avec Python.
- Lors de l'élaboration de règles de détection ou de requêtes de chasse aux menaces dans ce domaine.
- Lorsque les analystes SOC ont besoin de procédures structurées pour ce type d'analyse.
- Lors de la validation de la couverture de surveillance de sécurité pour les techniques d'attaque associées.
Prérequis
- Python 3.9+ avec la bibliothèque
windowsprefetch(pip install windowsprefetch) - Fichiers Prefetch Windows provenant de
C:\Windows\Prefetch\(versions 17 à 30 prises en charge) - Compréhension des conventions de nommage des fichiers Prefetch Windows (EXECUTABLE-HASH.pf)
Étapes
Étape 1 : Collecter les fichiers Prefetch
Rassemblez les fichiers .pf du répertoire C:\Windows\Prefetch\ du système cible.
Étape 2 : Analyser l'historique d'exécution
Extrayez le nom de l'exécutable, le nombre d'exécutions, les derniers horodatages d'exécution et les informations de volume.
Étape 3 : Détecter les exécutions suspectes
Signalez les outils d'attaque connus (mimikatz, psexec, etc.), les binaires renommés et les modèles d'exécution inhabituels.
Étape 4 : Construire la chronologie d'exécution
Reconstituez la chronologie d'exécution chronologique à partir de tous les fichiers Prefetch.
Résultat attendu
Rapport JSON contenant l'historique d'exécution, les exécutables suspects, les indicateurs de binaires renommés et la chronologie reconstituée.
Exemple de sortie
$ python3 prefetch_analyzer.py --dir /evidence/Windows/Prefetch --output /analysis/prefetch_report
Analyseur de Prefetch Windows v2.1
================================
Source : /evidence/Windows/Prefetch/
Format Prefetch : Windows 10 (compressé MAM, version 30)
Fichiers trouvés : 234
--- Chronologie d'exécution (Fenêtre d'incident : 2024-01-15 à 2024-01-18) ---
Dernière exécution (UTC) | Nb. exéc. | Nom du fichier | Hash | Chemin
------------------------|-----------|-------------------------------|----------|------------------------------------------
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
--- Détection de binaires renommés ---
ALERTE : UPDATE_CLIENT.EXE a chargé des DLL cohérentes avec un beacon Cobalt Strike :
DLL référencées : wininet.dll, ws2_32.dll, advapi32.dll, dnsapi.dll, netapi32.dll
Volume : \\VOLUME{01d94f2a3b5c7d8e-A4E73F21} (C:)
Répertoires référencés :
C:\ProgramData\Updates\
C:\Windows\System32\
--- Analyse de la fréquence d'exécution ---
Plus exécutés (Top 5) :
1. SVCHOST.EXE (267 exécutions)
2. CHROME.EXE (189 exécutions)
3. EXPLORER.EXE (156 exécutions)
4. RUNTIMEBROKER.EXE (134 exécutions)
5. OUTLOOK.EXE (98 exécutions)
Premières exécutions (jamais vues avant la fenêtre d'incident) :
6 exécutables exécutés pour la première fois entre 2024-01-15 et 2024-01-18
Résumé :
Nombre total de fichiers Prefetch : 234
Exécutables suspects : 6
Indicateurs de binaires renommés : 1 (update_client.exe)
Outils anti-forensiques : 2 (sdelete64.exe, wevtutil.exe)
Rapport JSON : /analysis/prefetch_report/prefetch_timeline.json