Prélecture ( C :\Windows\Prefetch )

  • But: Initialement conçu par Microsoft comme une fonctionnalité d’amélioration des performances, le prélecture vise à accélérer les temps de lancement des applications. Il surveille les fichiers et données auxquels une application accède lors de sa phase de démarrage initiale et précharge ces informations en mémoire au lancement suivant de l’application. D’un point de vue médicologique, cependant, les données stockées dans les fichiers de prélecture () servent d’indicateur principal et très précieux de l’exécution du programme..pf

  • Emplacement: Les fichiers de prélecture sont stockés dans un dossier système dédié : . L’accès direct est généralement obtenu via la boîte de dialogue Exécuter (Win+R) en tapant et en appuyant sur Entrée (nécessite des privilèges administrateur).C:\Windows\Prefetchprefetch

  • Format de fichier et dénomination : Windows crée un fichier pour de nombreux exécutables () les premières fois qu’ils sont exécutés. Chaque fichier suit une convention de nommage spécifique : ..pf.exeEXECUTABLENAME.EXE-HASH.pf

    • EXECUTABLENAME.EXE: Le nom de l’exécutable qui a été lancé.

    • HASH: Un hachage hexadécimal de 8 caractères calculé en fonction du chemin à partir duquel l’exécutable a été exécuté. Cela signifie qu’exécuter la même chose depuis différents endroits (par exemple, Bureau vs. Téléchargements) générera des fichiers distincts avec des hachages différents..exe.pf

  • Données stockées dans les fichiers : Chaque fichier de prélecture contient une mine de métadonnées, inestimables pour l’analyse :.pf

    • Nom exécutable : Le nom du programme a été lancé.

    • Hachage du chemin exécutable : Le hachage indiquant le chemin d’exécution.

    • Nombre de points : Le nombre total de fois où l’application a été exécutée à partir de ce chemin spécifique.

    • Dernière heure d’exécution : C’est une donnée critique, indiquant la date et l’heure précises à laquelle l’application a été exécutée depuis ce chemin. De manière cruciale, l’horodatage de modification à date du fichier lui-même reflète directement ce dernier temps d’exécution..pf

    • Horodatages d’exécution précédents : Les fichiers de prélecture stockent les horodatages jusqu’aux 8 exécutions précédentes les plus récentes, fournissant un historique d’exécution à court terme.

    • Informations sur le volume : Détails sur le volume du disque (lettre du lecteur, nom du volume, numéro de série, date de création du volume) où l’exécutable se trouvait lors de sa dernière exécution.

    • Annuaires et fichiers référencés : Une liste des répertoires et fichiers spécifiques (y compris les DLL et autres ressources) auxquels l’exécutable a accédé lors de sa phase initiale de démarrage (généralement les 10 premières secondes).

  • Outils d’analyse : Bien que les fichiers soient binaires, plusieurs outils facilitent leur analyse et analyse :.pf

    • WinPrefetchView (Nirsoft) : Un outil GUI gratuit et largement utilisé qui analyse les fichiers et affiche les informations extraites dans un format facilement lisible. Le volet supérieur liste les entrées de prélecture, et le volet inférieur montre les détails de l’entrée sélectionnée, y compris la liste cruciale des fichiers référencés et des répertoires chargés lors du démarrage. C’est particulièrement utile pour vérifier si un processus légitime (comme ) chargeait un fichier suspect (comme une triche)..pfjava.exe.jar

    • PECmd (Eric Zimmerman) : Un outil puissant en ligne de commande offrant des capacités d’analyse préfetch plus approfondies. Il peut extraire toutes les métadonnées disponibles et est utile lorsque WinPrefetchView rencontre des erreurs ou lorsque des analyses et corrélations plus granulaires (par exemple, via la sortie CSV vers Timeline Explorer) sont nécessaires.

    • LastActivityView (Nirsoft) : Cet outil regroupe des données provenant de plusieurs sources, y compris des fichiers de prélecture, présentant une vue chronologique de l’activité du système.

  • Dépendances, contournements et nuances de détection :

    • Dépendance au service : La prélecture repose sur le service SysMain (anciennement appelé Superfetch). Si ce service est arrêté, les fichiers de prélecture peuvent ne pas être créés ou mis à jour. Son statut peut être vérifié via une invite de commande administrative à l’aide de . Un service arrêté pendant un contrôle est très suspect.sc query sysmain

    • Contrôle du registre : L’état opérationnel de la fonctionnalité (niveaux activés/désactivés) est contrôlé par la valeur du registre située à . Une valeur de 0 indique généralement que la prélecture est complètement désactivée, ce qui est également suspect s’il n’est pas fait pour une raison légitime (par exemple, des guides d’optimisation SSD spécifiques, bien que moins courants aujourd’hui).EnablePrefetcherHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

    • Contournement des autorisations () : Les attaquants peuvent modifier les autorisations du dossier (par exemple, utiliser les commandes or) pour refuser l’accès à l’écriture, empêchant ainsi la création ou la mise à jour de fichiers. Des preuves de tels changements de permissions peuvent souvent être trouvées dans le USN Journal () en recherchant les événements de changement de sécurité liés au répertoire de prélecture.caclsC:\Windows\Prefetchcaclsicacls.pf$UsnJrnl

    • Fichiers cachés : Les fichiers individuels peuvent être masqués à l’aide d’attributs de fichier standards. Pour consulter des fichiers de prélecture potentiellement cachés, utilisez une invite de commande administrative : ..pfdir /ah C:\Windows\Prefetch

    • Extensions et non-exs renommées : Le prélecture enregistre principalement l’exécution des fichiers..exe

      • Si un exécutable est renommé (par exemple, en ) et exécuté en utilisant des méthodes spécifiques (comme dans PowerShell), le prélecture créera souvent toujours une entrée, mais la partie nom du fichier reflétera l’extension renommée (par exemple, ). Trouver de telles entrées est un fort indicateur d’évasion.cheat.execheat.tmpStart-ProcessCHEAT.TMP-HASH.pf

      • L’exécution des fichiers génère généralement des entrées de prélecture pour l’exécution Java (ou ). L’analyse de la liste de fichiers référencés dans ces entrées Java Prefetch est cruciale pour identifier le fichier spécifique qui a été chargé..jarjava.exejavaw.exe.jar

      • Les injections DLL peuvent créer des entrées de prélecture pour le processus hôte utilisé (par exemple, , ) ou pour l’application injectrice elle-même. Là encore, l’analyse des fichiers référencés dans ces entrées peut révéler la DLL chargée.rundll32.exeregsvr32.exe.pf

    • Indication du creux du procédé : Dans certains cas, observer une entrée de prélecture dans WinPrefetchView où le champ « Chemin exécutable » est vide ou nul peut indiquer l’utilisation de techniques de videment de processus, bien que cela ne soit pas définitif en soi.

Mis à jour