Skip to main content

[Forensic] Windows - Artefacts

Introduction

Différents artefacts sont intéressants selon ce que vous cherchez. Beaucoup passent par la base de registre, certains sont des prefetchs, des shell links etc.

Cheat-sheet

Ruches (registres)

Ruches Chemin Description
SAM C:\Windows\System32\config\SAM Base SAM (Contient la base des utilisateurs)
SOFTWARE C:\Windows\System32\config\SOFTWARE Contient les informations des logiciels installés sur la machine.
SECURITY C:\Windows\System32\config\SECURITY
SYSTEM C:\Windows\System32\config\SYSTEM
NTUSER C:\Users\<YOUR_USER>\NTUSER.DAT Contient les informations utilisateurs.
USRCLASS C:\Users\<YOUR_USER>\USRCLASS.dat

Registres

Registres Description
SOFTWARE\Microsoft\Windows NT\CurrentVersion 
Contient toutes les informations systèmes (comme systeminfo). Inclut le Product Name (OS), EditionID, DisplayVersion (version), InstallDate (date de dernière maj), SystemRoot.
SYSTEM\CurrentControlSet\Control\ComputerName\ 
Nom de l'ordinateur.
SYSTEM\CurrentControlSet\Control\TimeZoneInformation 
Fuseau horaires.
SYSTEM\CurrentControlSet\Control\Windows 
Dernière extinction du système.
SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList 

Contient une sous-clé par utilisateur avec toutes les infos utilisateurs.
SAM\Domains\Account\Users 
Dernier login et changement de mot de passe.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run 

Démarrage automatique (Si clé "Start"=2 alors activé)
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\RunOnce
Démarrage automatique (Si clé "Start"=2 alors activé)
SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
Démarrage automatique (Si clé "Start"=2 alors activé)
SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce 
Démarrage automatique (Si clé "Start"=2 alors activé)
SYSTEM\CurrentControlSet\Services 
Démarrage automatique (Si clé "Start"=2 alors activé)
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

Fichiers récents :

Sous-clé contenant les 20 dernières entrées pour chaque type de fichiers, en format binaire.
Folder : les 30 derniers répertoires.

NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU 

Dernières application exécutées.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU 

Sous clés contenant le nom des 20 derniers fichiers enregistrés, par extensions.
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery 

Recherches entrées par l'utilisateur dans l’explorateur, en unicode.
NTUSER\Software\Microsoft\Windows\CurrentVersion\
Explorer\RunMRU

Seulement les commandes valides entrées dans l'invite RUN (WIN+R).
SYSTEM\CurrentControlSet\Enum\USBSTOR 
Périphériques USB branchés. (FriendlyName=Nom, ClassGUID=Identifiant Unique)
SOFTWARE\Microsoft\Windows Portable\Devices\Devices 

Une clé par périphérique, avec le FriendlyName.
SYSTEM\MountedDevices
Lettre de périphérique avec identifiant.
SOFTWARE\Microsoft\Windows\Search\VolumeInfoCache 

Une clé par périphérique, avec le Volume Label.

Vous pouvez retrouver vos shell links à l'emplacement suivant :

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\

Vous pouvez traiter vos shell links avec l'outil d'Eric Zemmour :

 LECmd.exe –f your-shell-link.lnk

Jumplists

Vous pouvez retrouver vos jumplists à l'emplacement suivant :

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations

Vous pouvez traiter vos jumplists avec l'outil d'Eric Zimmerman JumpListExplorer :

image.png

Thumbcaches

Vous pouvez retrouver vos shell links à l'emplacement suivant :

%userprofile%\AppData\Local\Microsoft\Windows\Explorer

Pour avoir les chemins dans Thumbcache Viewer il vous faudra extraire aussi cette base :

C:\ProgramData\Microsoft\Search\Data\Applications\Windo
ws\Windows\Windows.db

Il y a plusieurs entrées tels que thumbcache_32.db, thumbcache_96.db, thumbcache_256.db . Prenez les toutes si possible.


%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\

Vous pouvez traiter vos jumplists avec l'outil Thumbcache Viewer.

Volumes Shadow Copies (VSC / VSS)

Les VSC sont stockées dans le dossier "System Volume Information" à la racine de votre volume (ex: C:).

Pour lister vos shadow copies :

vssadmin.exe list shadows /for=C:

Vous pouvez monter vos VSC avec un logiciel comme Arsenal Image Mounter avec un cache en écriture.

SRUM

Il s'agit des fichiers qui stockent les métriques des ressources utilisées sur le système. Vous pouvez avoir des informations comme :

  • Les applications exécutées.
  • La quantité de données transférées,
  • Les périodes d'activité du système.

La base de données SRU est stockée à l'emplacement suivant :

C:\Windows\System32\SRU\SRUDB.dat

Combiné à la ruche SOFTWARE, vous allez pouvoir l'analyser avec l'outil d'Eric Zimmerman :

SrumECmd.exe -f SRUDB.dat -r SOFTWARE --csv SRUM_export

AMCache

Stocke des informations sur les applications exécutées notamment leur hashs (non disponible dans les prefetchs).

Voici l'emplacement de l'AMCache :

C:\Window\AppCompat\Programs\Amcache.hve

Vous allez pouvoir l'analyser avec l'outil d'Eric Zimmerman AmcacheParser :

AmcacheParser.exe -f Amcache.hve --csv <dst>

 

Prefetch

Le nom de chaque fichier prefetch est composé du nom de l'application concernée, suivi de 8 caractères représentant le hash du chemin d'exécution, puis de l'extension PF (ex: GKAPE.EXE-FA3D288B.pf).

Voici l'emplacement des fichiers prefetch :

C:\Windows\Prefetch

A savoir qu'il est possible de brute force le hash du prefetch pour retrouver le chemin de l'application :

Vous pouvez analyser vos prefetch avec l'outil d'Eric Zimmerman :

PECmd.exe -d <dir_with_prefetchs> --csv <dst>

Corbeille

La corbeille se situe à la racine du volume dans un répertoire caché nommé $Recycle.Bin notamment dans :

C:\$Recycle.Bin

Chaque sous-répertoire, nommé après le SID de chaque utilisateur et contient les fichiers de l'utilisateur qui les a supprimés.

Le nom original du fichier est modifié, (6 random characters + extension) mais peut être retrouvé en étudiant la $MFT, ainsi que les métadonnées d’un fichier d’information. 

On différencie deux types de fichiers :

$R***** . *** 
Fichier original 
$I***** . *** 
Information sur le fichier