JLECmd
Faisant partie de la suite d’Eric Zimmerman, JLECmd.exe est le standard de l’industrie pour le parsing des Jumplists, offrant un traitement ultra-rapide et une sortie CSV détaillée.
La philosophie principale derrière les Jumplists est l’amélioration de la productivité. Lorsqu’un utilisateur effectue un clic droit sur l’icône d’une application dans la barre des tâches, la liste des documents ou tâches qui apparaît est générée par les données de la Jumplist.
Contrairement à l’horodatage de “Dernier accès” du système de fichiers, qui peut se révéler peu fiable ou être désactivé par défaut sur les environnements Windows modernes, les Jumplists sont activement maintenues par le système d’exploitation chaque fois qu’une interaction a lieu via les boîtes de dialogue standard d’une application.
Lorsqu’un fichier est ouvert via une application (ex: ouverture d’un document .docx via WINWORD.EXE), le shell Windows enregistre cette interaction. Il génère ou met à jour un fichier binaire spécifique à l’utilisateur et à l’application, stockant de riches métadonnées sur le fichier cible sous la forme d’un fluxfichier LNK (raccourci) embarqué.
Ces artefacts sont stockés dans le profil de l’utilisateur et sont classés en deux catégories distinctes selon leur méthode de génération.
Il s’agit des listes générées automatiquement par le système d’exploitation au fil des interactions de l’utilisateur.
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\[AppID].automaticDestinations-msCes listes sont générées par l’application elle-même, souvent pour épingler des fichiers spécifiques ou fournir des tâches personnalisées.
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\[AppID].customDestinations-msLes fichiers de Jumplists ne sont pas de simples journaux textuels ; ce sont des fichiers composés OLE (OLECF) complexes. Leur analyse révèle des métadonnées hautement structurées, chaque entrée contenant des flux LNK embarqués (nommés DestList) :
Les Jumplists permettent de répondre à la question critique en investigation : “Qu’est-ce que l’utilisateur ou l’attaquant a fait exactement avec ce programme ?”
Si les fichiers Prefetch (.pf) prouvent qu’un exécutable (comme powershell.exe) a été lancé, ils n’indiquent pas intrinsèquement les arguments ou les fichiers manipulés. En examinant la Jumplist de PowerShell, un investigateur peut identifier le script .ps1 exact qui a été exécuté par l’acteur malveillant.
Durant la phase de préparation (staging) d’une attaque, les adversaires compressent souvent les données avant exfiltration. Si des outils comme 7-Zip, WinRAR, ou des clients FTP comme FileZilla sont utilisés, leurs Jumplists respectives consigneront les répertoires et fichiers spécifiques que l’attaquant a manipulés.
Puisque les Jumplists maintiennent une base de données de métadonnées indépendante, elles préservent l’historique des fichiers et dossiers longtemps après que les données réelles aient été effacées ou supprimées du disque par un attaquant.
En raison de leur nature binaire complexe, l’analyse manuelle des Jumplists est irréaliste. Les analystes DFIR s’appuient sur des utilitaires de parsing spécialisés.
AutomaticDestinations et CustomDestinations du profil de l’utilisateur suspect.JLECmd
Faisant partie de la suite d’Eric Zimmerman, JLECmd.exe est le standard de l’industrie pour le parsing des Jumplists, offrant un traitement ultra-rapide et une sortie CSV détaillée.
JumpLister
Développé par Digital Forensics Corp, cet outil fournit une interface graphique pour les analystes préférant une exploration visuelle du contenu des Jumplists et la résolution automatisée des AppIDs.