Aller au contenu

Analyse d'Artefact : Forensique du Registre Windows

Le Registre n’est pas un fichier unique. Il est composé de multiples fichiers binaires appelés Ruches, stockés à des emplacements spécifiques sur le disque. Lors d’une analyse forensique hors ligne (Dead-Disk) ou d’un triage KAPE, les analystes doivent extraire ces fichiers directement.

  • SYSTEM : la configuration centrale de l’OS. Contient les services Windows, les données de fuseau horaire, l’historique des connexions USB (USBSTOR), et des artefacts d’exécution critiques comme le BAM (Background Activity Moderator) et le Shimcache.
  • SOFTWARE : informations sur les applications installées, la version de l’OS, et la persistance au démarrage à l’échelle du système (ex: les clés Run et RunOnce).
  • SAM (Security Account Manager) : comptes locaux, groupes, et hashs de mots de passe locaux (NTLM). C’est la ruche que les attaquants ciblent pour vider (dump) les identifiants locaux.
  • SECURITY : politiques de sécurité locales et secrets LSA mis en cache.
  • NTUSER.DAT : situé dans C:\Users\<User>\. C’est la mine d’or absolue pour l’attribution des actions à un utilisateur. Il trace ce avec quoi l’utilisateur a interagi, stockant UserAssist, les listes MRU, et la persistance au niveau de l’utilisateur.
  • UsrClass.dat : situé dans C:\Users\<User>\AppData\Local\Microsoft\Windows\. Il contient les associations d’extensions de fichiers et une part significative des artefacts Shellbags.

2. Aide-mémoire DFIR : index des artefacts par ruche

Section intitulée « 2. Aide-mémoire DFIR : index des artefacts par ruche »

Pour accélérer le triage, les analystes associent des questions forensiques spécifiques à des ruches spécifiques.

Preuves d'exécution

  • UserAssist : (NTUSER.DAT) prouve qu’un utilisateur a lancé une application via l’interface graphique (inclut le compteur d’exécutions).
  • BAM : (SYSTEM) prouve une exécution explicitement liée à un SID utilisateur.
  • Amcache : (Amcache.hve) fournit le hash SHA1 des binaires exécutés.

Activité et intention de l'utilisateur

  • Shellbags : (NTUSER.DAT & UsrClass.dat) reconstitue l’historique exact de navigation dans les dossiers.
  • Listes MRU : (NTUSER.DAT) révèle les fichiers ouverts, sauvegardés, ou les commandes tapées dans la boîte de dialogue “Exécuter”.

Persistance adverse

  • Clés Run : (SOFTWARE & NTUSER.DAT) malware s’exécutant au démarrage ou à la connexion.
  • Services Windows : (SYSTEM) cherchez sous CurrentControlSet\Services\ pour les services malveillants (Événement 7045).

3. Le super-pouvoir forensique : l’heure de dernière écriture (Last Write Time)

Section intitulée « 3. Le super-pouvoir forensique : l’heure de dernière écriture (Last Write Time) »

Contrairement à un simple fichier texte, chaque clé au sein du Registre Windows possède un horodatage d’heure de dernière écriture (Last Write Time), semblable à la date de modification d’un fichier.

C’est sans doute la caractéristique la plus critique du registre pour les analystes DFIR. Si un analyste découvre une entrée de persistance malveillante dans la clé HKCU\Software\Microsoft\Windows\CurrentVersion\Run, le “Last Write Time” de cette clé révèle la milliseconde exacte où l’acteur de la menace a établi sa persistance. Cet horodatage peut ensuite être utilisé pour pivoter vers le Journal USN ou les journaux de l’Événement 4688 afin de voir ce que l’attaquant faisait d’autre à ce moment précis.

Parcourir manuellement les fichiers de ruche binaires à l’aide d’un visualiseur hors ligne est inefficace. Les équipes DFIR s’appuient sur des outils d’analyse automatisés qui ingèrent les ruches, rejouent les journaux de transactions (dirty hives), et génèrent des chronologies consolidées.

parse_registry_hives.cmd
:: RECmd (Registry Explorer Command Line) par Eric Zimmerman
:: Extrait les données à l'aide de fichiers Batch prédéfinis adaptés au DFIR
RECmd.exe -d "C:\Forensics\Export\RegistryHives" --bn BatchExamples\Kroll_Batch.reb --csv "C:\Forensics\Results"

Note : la version graphique, Registry Explorer, dispose de “Bookmarks” intégrés qui mettent instantanément en évidence UserAssist, BAM et les clés Run, en décodant automatiquement les valeurs offusquées (comme le ROT13).