Artefacts Windows : où chercher les informations ?
Lors d'une investigation forensic, il est important de savoir ou chercher les traces et preuves de compromission. Certains fichiers sont une mine d'information, encore faut-il savoir lesquels et où les chercher.
Outre la base de registre, détaillée dans l'article La base de registre Windows, il existe dans le système Windows certains fichiers à ne pas omettre, pouvant révéler des informations intéressantes.
Traces d’exécution des binaires
Prefetch
Ces fichiers au format .pf, sont apparu sur Windows XP et sont localisés dans le répertoire C:\Windows\Prefetch. Ils stockent certaines informations concernant les applications, leurs préférences, de manière à ce qu'à leur prochaine exécution, le chargement soit plus rapide. En effet, ces données sont pré-chargées en mémoire dans l'éventualité que le programme soit lancé.
Le fichier de prefetch est créé juste après l'exécution d'un programme pour la première fois à partir d'un endroit. Il contient des données relativement précieuses pour une investigation forensic :
- le nombre d'exécution du programme
- le nom du programme
- le chemin complet du programme
- la date de dernière exécution
- la taille du fichier prefetch
- les fichiers (scripts, dll...) et répertoires requis à l'exécution du programme
Il existe des outils permettant de lire le contenu de ces fichiers comme PECmd d'Eric Zimmerman, plaso ou encore WinPrefetchView.
Crédit : hackingarticles.in
Le mécanisme de Prefetch peut être activé ou désactivé via la clé de registre Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.
AmCache.hve et RecentFileCache.bcf
L'amCache est un artefact trop négligé dans l'investigation d'une machine compromise. Pourtant, l'analyse de ce fichier peut permettre d'obtenir des informations quant aux binaires malveillants ayant été exécutés sur une machine.
Présent sur le disque depuis de Windows 8, cet artefact se présente sous la forme d'un fichier amcache.hve, fichier de registre, stockant des informations concernant les fichiers exécutés :
- le chemin de l'application
- la date de première exécution
- la date de suppression
- la date d'installation
- le SHA1 de l'application exécuté
Il se situe dans \%SystemRoot%\AppCompat\Programs\Amcache.hve
C'est le successeur du fichier RecentFileCache.bcf, dont le rôle était de stocker les informations concernant les fichiers exécutés avec les mécanismes de compatibilités "shim", à savoir le nom et le chemin du fichier. Cet artefact, présent sur les systèmes antérieurs à Windows 7 inclus, est localisé dans %WinDir%\AppCompat\Programs. Il ne contient que le chemin du fichier et son nom.
Seulement, ces deux fichiers sont régulièrement vidés par la tâche planifiée WindowsDataUpdater :
- RecentFileCache.bcf : tous lesj ours à 00:30
- Amcache.hve : tous les 3 jours à 3:00
Lorsque ces fichiers sont vidés, certaines des informations qu'ils contenaient sont enregistrés dans les fichiers WER*.xml (RecentFileCache) ou AEINV_AMI*.xml (AmCache) situés dans C:\Windows\AppCompat\Programs\.
Ainsi, lors d'une investigation, il peut être intéressant d'identifier un binaire dans l'un de ces fichiers, donnant alors une indication sur, premièrement, la présence du binaire sur la machine, le cas échant, le moment de son exécution ou installation selon le fichier dans lequel il est indiqué - à savoir avant ou après exécution de WindowsDataUpdater.
Les clés de registre MRU
La
base de registre peut se révéler très utile lors d’une investigation
numérique. Il est par exemple possible de retracer l’ordre des activités
effectuées sur les artefacts grâce aux listes MRU (Most Recently Used).
Ces
listes peuvent contenir des informations tels que l’historique des
derniers fichiers accédés ou encore les dernières saisies de
l’utilisateur dans le navigateur ou dans la boîte de dialogue Exécuter.
LastVisitedMRU
Liste les exécutables utilisés pour ouvrir et sauvegarder les fichiers listés dans OpenSaveMRU.
Il est possible de retrouver la localisation du dernier fichier à avoir été accédé par un exécutable donné.
Sur Windows XP :
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\ LastVisitedMRU
Sur Windows 7 :
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\ LastVisitedPidlMRU
RunMRU
Liste les commandes saisies via la fenêtre de dialogue Exécuter. Les lettres correspondent à l’ordre dans lequel les commandes ont été exécutées.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
La clé UserAssist
La clé UserAssist garde une trace de tous les programmes lancés depuis le bureau. Cette clé se situe dans NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist.
Cette
clé peut permettre de voir ce qui a été récemment lancé sur la machine,
comme la trace de binaires malveillants, d’outils d’effacement de
données ou de chiffrement par exemple.
Sous cette clé, les programmes sont classés selon certains critères, grâce au GUID. Le GUID est composé de plusieurs segments de caractères séparés par un tiret, dont voici une liste non exhaustive de leur signification :
- Sur Windows XP
- 75048700 : tout élément relatifs à Active Desktop
- Sur Windows 7
- CEBFF5CD : exécuté via un fichier exécutable
- F4E57C4B : exécuté via un fichier raccourcis
- Localisation sur Windows 7
- 6D809377 : ProgramFilesX64
- 7C5A40EF : ProgramFilesX86
- 1AC14E77 : System
- D65231B0 : SystemX86
- B4BFCC3A : Desktop
- FDD39AD0 : Documents
- 374DE290 : Downloads
- 0762D272 : UserProfile
La jumpList
La jumplist est un artefact listant les fichiers récemment ouverts. Cette liste est visible dans la barre des tâches.
Crédit : tech2tech.fr
Les accès aux fichiers
Les clés de registre MRU
OpenSaveMRU
Liste
les fichiers ayant été ouverts et sauvegardé via une fenêtre Windows,
leur localisation et leur date et heure d’ouverture et de sauvegarde.
Particulièrement
utile afin de connaître la date de début de compromission d’une machine
via l’ouverture d’un fichier malveillant par exemple. A noter que les
fichiers sont classés par extension, le dossier "*" listant les fichiers
les plus récents toutes extensions confondues.
Sur Windows XP :
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\ Explorer\ComDlg32\OpenSaveMRU
Sur Windows 7 :
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\ Explorer\ComDlg32\OpenSavePIDlMRU
ACMRU
Windows
mémorise les termes recherchés par l’utilisateurs afin de pouvoir les
proposer plus tard à l’utilisateur. ACMRU est l’abréviation de Auto
Complete MRU. Les valeurs sont classées en fonction du type de recherche
ayant été effectuée :
5001 : recherche Internet
5603 : nom ou nom partiel d’un document
5604 : mot contenu dans un fichier
5647 : ordinateurs, imprimantes ou personnes
Sur Windows XP :
NTUSER.DAT\Software\Microsoft\Search Assistant\ACMru\
Les Shellbags
Ces clés de registres permettent de conserver les préférences des dossiers de l’utilisateur (disposition, taille des icônes, …).
Ces derniers persistent même après la suppression d’un dossier, ce qui s’avère très utile pour pour l’investigateur. En effet, il est alors possible, grâce à des outils tels que sbag (ShellBag Parser) de retrouver des informations quant aux médias qui ont été montés sur la machine, des fichiers supprimés ou encore reconstituer les actions de l’utilisateur. En effet, il faut noter que pour chaque dossier accédé par l’utilisateur, un shellbag est créé.
Sur Windows XP :
NTUSER.DAT\Software\Microsoft\Windows\Shell\
NTUSER.DAT\Software\Microsoft\Windows\ShellNoRoam\
Sur Windows 7 :
NTUSER.DAT\Local Settings\Software\Microsoft\Windows\Shell\
USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell