Windows conserve de nombreuses traces d’activité, utiles pour les enquêtes de cybersécurité. L’une d’elles, le Shimcache, enregistre des informations sur les exécutables rencontrés par le système, devenant un artefact précieux pour identifier des programmes suspects, même après leur suppression.
Windows conserve de nombreuses traces d’activité sur un ordinateur, essentielles lors d’une enquête de cybersécurité. L’un de ces artefacts est le Shimcache, aussi nommé Application Compatibility Cache ou AppCompatCache. Il peut aider à identifier des fichiers exécutables que le système a détectés.

Conçu à l’origine pour assurer la compatibilité entre applications et versions de Windows, le Shimcache s’est révélé être une source d’information majeure en analyse forensique numérique. Il est particulièrement utile pour enquêter sur des programmes suspects ou reconstituer les événements survenus sur une machine.
Qu’est-ce que le Shimcache ?
Le Shimcache est un artefact lié au système de compatibilité des applications de Windows. Son objectif premier est d’aider le système d’exploitation à repérer les logiciels pouvant nécessiter des ajustements pour fonctionner correctement.
Ces informations sont stockées dans le Registre Windows, dans la ruche SYSTEM, généralement à cet emplacement :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
Parmi les données enregistrées figurent les chemins d’accès des fichiers exécutables et des informations temporelles liées à leur dernière modification. Les détails disponibles varient selon la version de Windows.

Le Shimcache permet-il de découvrir les programmes exécutés ?
L’une des principales utilisations de cet artefact est d’identifier des programmes qui étaient présents sur un système, même si les fichiers originaux ont été supprimés.
Une distinction capitale doit être faite : la présence d’un programme dans le Shimcache ne prouve pas automatiquement qu’il a été exécuté.
Sur Windows 10 et Windows 11 par exemple, le Shimcache seul ne permet pas de confirmer l’exécution d’un fichier. Le système peut enregistrer des informations sur des exécutables simplement examinés par le mécanisme de compatibilité.
Dans des versions plus anciennes comme Windows 7 ou 8, des indicateurs spécifiques peuvent aider à évaluer cela, mais ils doivent aussi être interprétés avec précaution.
Un autre détail important concerne les dates : l’horodatage associé à une entrée correspond généralement à la dernière modification du fichier, et non au moment où le programme a été lancé.

Comment peut-il aider une investigation forensique ?
Le Shimcache est particulièrement utile pour rechercher des traces d’outils malveillants, de programmes inconnus ou d’exécutables potentiellement utilisés lors d’une attaque informatique.
Prenons l’exemple d’un ordinateur où un fichier suspect a été identifié dans un dossier temporaire. Même si ce fichier est ensuite effacé, une entrée dans le Shimcache pourrait conserver son chemin d’accès et d’autres métadonnées.
Cette information peut orienter l’enquête, en permettant de chercher d’autres traces confirmant la présence du fichier et clarifiant les actions réalisées.
Cet artefact sert également à analyser les outils employés par des attaquants, à enquêter sur des incidents de sécurité et à reconstruire une chronologie d’activité sur un système.
Comment analyser le Shimcache ?
L’analyse peut être effectuée avec des outils forensiques capables d’interpréter les données stockées dans le Registre Windows.
Un utilitaire couramment employé est AppCompatCacheParser, développé par Eric Zimmerman, qui extrait et examine les entrées du Shimcache.
Les enquêteurs peuvent inspecter les chemins de fichiers, les métadonnées temporelles et d’autres indicateurs disponibles, à la recherche de modèles justifiant une analyse plus poussée.
Pour obtenir des conclusions plus solides, il est recommandé de croiser ces résultats avec d’autres artefacts, notamment :
- Prefetch : peut fournir des preuves liées à l’exécution d’applications et des informations temporelles.
- Amcache : aide à identifier des exécutables et à analyser leurs métadonnées.
- Journaux des événements (Event Logs) : peuvent contenir des enregistrements pertinents sur l’activité du système et la création de processus, si l’audit correspondant est activé.
- MFT et USN Journal : peuvent aider à reconstruire l’existence, la modification, le déplacement ou la suppression de fichiers.
La corrélation de ces différentes sources permet d’évaluer si un exécutable a simplement été repéré par le système ou s’il existe des preuves supplémentaires d’une exécution effective.
