tuto forensic windows prefetch
  • 9 mai 2026
  • ComputaSYS
  • 0


Nous poursuivons notre analyse forensic sous Windows en continuant l’exploration des artefacts liés à l’exécution des programmes.

Après avoir étudié le ShimCache, puis l’Amcache, nous allons cette fois nous intéresser au Prefetch, un mécanisme souvent utilisé pour améliorer les performances du système, mais qui constitue également une source d’information précieuse en investigation.

Contrairement aux artefacts précédents, le Prefetch permet de mettre en évidence l’exécution effective d’un programme, avec des informations temporelles et contextuelles plus précises.

L’objectif de cet article est de comprendre son fonctionnement, d’examiner son contenu et de voir comment il peut être exploité pour compléter une analyse forensic, notamment en corrélation avec l’Amcache et le ShimCach.

C’est quoi Prefetch ?

Le mécanisme Prefetch a été introduit à partir de Windows XP afin d’améliorer les performances du système. Son objectif est d’optimiser le chargement des fichiers essentiels au fonctionnement de Windows, ainsi que ceux nécessaires à l’exécution des applications.

Étant donné que ces fichiers se trouvent à différents emplacements sur le disque, leur chargement peut ralentir le démarrage du système et le lancement des programmes.

Le Prefetch vient pallier cette contrainte en enregistrant les informations liées aux fichiers utilisés lors de l’exécution, afin d’en accélérer le chargement lors des lancements suivants.

Ce mécanisme est toujours utilisé sur les systèmes récents. Néanmoins, il est possible de le désactiver via la clé de registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

0 : Désactivé

1 : Utiliser uniquement la prélecture des applications

2 : Utiliser uniquement la prélecture au démarrage

3 : Utilisez tout

Sur Windows Server, ce mécanisme est généralement désactivé par défaut.

Vous l’aurez compris, ces fichiers peuvent constituer une véritable source d’information en forensic, notamment pour détecter des traces d’applications exécutées au démarrage du système, comme des rootkits ou des mécanismes de persistance malveillants.

Structure de Prefetch

Une fois activé, le contenu du Prefetch se trouve dans le dossier : C:\Windows\Prefetch.

Ce répertoire contient deux types de fichiers :

Des fichiers liés au démarrage du système, comme par exemple : NTOSBOOT-B00DFAAD.pf

Des fichiers liés aux applications, dont le nom commence par celui du programme exécuté (ex : ACROBAT.EXE-xxxx.pf, 7ZIP.EXE-xxxx.pf)

À noter que le nombre d’entrées est limité à 1024 fichiers Prefetch.

Nous allons maintenant passer à l’analyse de ces fichiers. Il est également possible, dans certains cas, de vider les données Prefetch présentes en mémoire, mais ce point sera abordé dans un autre article dédié à l’analyse mémoire.

Analyse du fichier Prefetch

Rassurez-vous, on se passera pas de notre ami Eric Zimermman. Mais cette fois, plutôt que d’utiliser directement un parser avancé, nous allons commencer par un outil simple et rapide pour avoir une première vision, il s’agit de l’outil WinPrefetchView de la suite NirSoft.

Une fois téléchargé et lancé avec les droits administrateurs, l’outil chargera automatiquement les fichiers Prefetch

Première lecture

L’outil offre une vue assez claire. Dans la partie haute, on retrouve les applications exécutées, avec des informations comme :

La dernière exécution

Le nombre de lancements

Dans la partie basse, on voit les fichiers appelés par l’application

C’est déjà suffisant pour avoir une première idée de l’activité sur la machine.

Dans mon cas, j’ai pu observer par exemple un système Linux (EmuElec) décompressé avec 7-Zip, ainsi que d’autres éléments comme des distributions Kali Linux ou des fichiers plus inhabituels. Ce type d’information permet rapidement d’orienter l’analyse.

Limites de cette approche

Même si la vue est lisible, l’analyse reste vite fastidieuse. L’outil donne des informations, mais pas forcément des conclusions. C’est à nous de faire le travail de corrélation.

Le bon réflexe ici serait d’analyser à partir des dates suspectes correspondant aux alertes et aux informations trouvées dans les journaux d’événements, EDR, fichier Amcache.

Exemple d’analyse

En filtrant et en recherchant des outils sensibles (comme PowerShell), on peut identifier des comportements intéressants.

Dans mon cas, j’ai remarqué le chargement d’un module nommé PSScriptTest via PowerShell. Ce type d’élément peut constituer une piste à creuser.

De manière générale, il est conseillé de mettre de côté dans un premier temps les chemins système et les binaires Windows classiques, pour se concentrer sur les éléments inhabituels.

Attention toutefois : un binaire système n’est pas forcément légitime, il faut toujours vérifier son contexte.

Corrélation avec les événements

En poursuivant l’analyse, j’ai identifié un fichier chargé via PowerShell qui correspondait à la date d’une alerte suspecte par l’EDR. Même si la machine n’était pas réellement compromise, cette alerte m’a permis de reproduire un scénario et d’écrire cet article.

Vérifications complémentaires

Je me suis ensuite orienté vers le registre, notamment les zones classiques de persistance. Rien de suspect à première vue, mais cette étape reste indispensable.

Certains processus doivent également être vérifiés systématiquement. Ici, aucun comportement anormal n’a été observé au niveau de l’éditeur de registre.

Ici, wlrmdr.exe (Windows Logon Reminder) est lié à l’activation du système.

Le fameux processus winlogon.exe, cible fréquente de compromission, devra être analysé minutieusement, des traces peuvent apparaitre en cas de vidage de mémoire lsass.

Export des données

L’outil permet également de copier les entrées ou d’exporter les résultats en HTML. Même si l’export HTML reste limité pour l’analyse (tri peu pratique), il permet de conserver une chronologie exploitable.

Ci-dessous un exemple de la sortie HTML :

Analyse avec l’outil PECmd

Passons maintenant à une analyse plus avancée à l’aide de l’outil PECmd, développé par notre ami Eric Zimmerman. Cet outil permet de lire et d’extraire les données des fichiers Prefetch en ligne de commande, avec une sortie au format CSV. Ce format est particulièrement pratique, car il permet d’exploiter les filtres d’Excel afin d’affiner les recherches.

Télécharger l’outil PEcmd à partir du lien :

 

Après avoir téléchargé l’outil et l’avoir placé dans un dossier, il est possible d’analyser un fichier Prefetch spécifique à l’aide de la commande suivante, en adaptant le chemin et le nom du fichier:

PEcmd.exe –f C:\windows\prefetch\nom_du_fichier.pf –csv C:\temp\ –csvf File1.csv

Cette commande génère un fichier CSV contenant les informations principales du fichier analysé. Une première lecture permet déjà d’obtenir des éléments intéressants, notamment sur l’exécution de l’application

Pour aller plus loin, il est possible d’analyser l’ensemble des fichiers Prefetch présents sur le système. L’outil prend alors tout son sens, notamment pour une analyse globale.

PEcmd.exe –f C:\windows\prefetch\ –csv C:\temp\ –csvf File2.csv

Le fichier généré regroupe l’ensemble des informations issues des fichiers Prefetch. Il devient alors possible d’appliquer des filtres et de croiser les données afin de faire ressortir des éléments pertinents.

Conclusion

Comme nous venons de le voir, aucun élément n’est à négliger en forensic. Chaque information peut constituer une piste et contribuer à la compréhension globale d’un incident.

Les fichiers Prefetch permettent principalement de confirmer l’exécution d’applications, notamment dans des scénarios liés à des mécanismes de persistance, comme l’injection de code ou l’utilisation de programmes malveillants au démarrage. Ils doivent toutefois être corrélés avec les autres artefacts étudiés précédemment afin d’obtenir une analyse cohérente.

Il est également important de noter que les informations temporelles issues du Prefetch sont généralement moins précises que celles fournies par l’Amcache.

Nous continuerons dans un prochain article avec d’autres mécanismes complémentaires, afin d’approfondir encore l’analyse du système.

Consultant et formateur expert Windows Server et Cloud Azure. Chercheur en Cybersécurité.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *