Skip to main content

[Forensic] 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 ou même des journaux d'évènements.

image.png

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.
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Uninstall Logiciels installés sur le postes (avec un uninstaller).

SYSTEM\CurrentControlSet\Control\ComputerName\

OU

System\ControlSet001\Control\ComputerName\ComputerName\

Nom de l'ordinateur.

SYSTEM\CurrentControlSet\Control\TimeZoneInformation

OU

SYSTEM\ControlSet001\Control\TimeZoneInformation\

Fuseau horaires.

SYSTEM\CurrentControlSet\Control\Windows

OU

SYSTEM\ControlSet001\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).
NTUSER.DAT\Control Panel\Desktop Chemin du fond d'écran de l'utilisateur
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.

SAM\SAM\Domains\Account\Users\Names Liste des utilisateurs du système.
SAM\SAM\Domains\Account\Users\RID  Manager La clé F stocke les dates de connexion sur les utilisateurs et la clé V stocke les noms d'utilisateurs par SID.

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 thumbcaches à 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\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.

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 (dans un cmd avec les privilèges administrateurs) :

vssadmin.exe list shadows /for=C:

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

Vous pouvez aussi monter vos VSC avec la commande suivante :

Cette opération va créer un lien symbolique vers votre volume shadow copie mais nécessitera les privilèges administrateurs pour y accéder.

Un solution alternative consiste à utiliser l'outil VSCMount.exe de la suite Zimmerman pour monter votre VSC :

.\VSCMount.exe --dl C --mp C:\Users\MalDev\Documents\VSC-mount

Ici, on monte tous les VSCs du lecteur C dans le répertoire C:\Users\MalDev\Documents\VSC-mount .

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>

ShellBags

Les fichiers ShellBags sont des artefacts Windows stockés dans le registre et utilisés par l'Explorateur Windows pour mémoriser les préférences d'affichage des dossiers (taille, position, mode d'affichage, etc.). En forensic, ils sont précieux pour reconstituer l'historique des accès aux répertoires, y compris ceux qui ont été supprimés.

Ils sont récupérables depuis le registre suivant :

  • HKEY_USERS{SID}\Software\Microsoft\Windows\Shell\Bags
  • HKEY_USERS{SID}\Software\Microsoft\Windows\Shell\BagMRU

Vous pouvez explorer les shellbags depuis le logiciel ShellBags Explorer (SBE) de la suite Zimmerman.

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 

Journaux d'évènements (EVTX)

Les journaux des événements Windows, enregistrent les activités du système tels que:

Les ouvertures de programmes

Les interactions utilisateurs

Les modifications systèmes

Les périphériques installés

Les démarrages et extinctions

Ils sont localisés dans :

C:\Windows\System32\winevt\Logs

On distingue 5 types d'évènements :

Types d'évènements Descriptions
Error L'évènement occasionne une erreur 
Warning L'évènement s'est bien déroulé, mais une erreur pourrait survenir dans le futur.
Information Indique un évènement réussi 
Audit Success L'action surveillée par les politiques d'audit s'est bien déroulée 
Audit failure L'action surveillée par les politiques d'audit ne s'est pas bien déroulée 

On distingue 3 catégories de journaux :

  • Sécurité : Enregistre les tentatives de connexion, les changements de politiques de sécurité, l'accès aux ressources etc.
  • Système : Enregistre les notifications au noyau, les informations des pilotes de périphériques etc.
  • Application : Enregistre les erreurs d'application, les avertissements et les autres messages générés par les applications.

Voici quelques code d'évènements qui vous seront intéressants :

Codes Descriptions
4624 Succès de connexion
4625 Echec de connexion
4648 Tentative de connexion avec des identifiants explicites.
4672 Attribution de privilèges spéciaux lors d'une ouverture de session.
1102 Effacement du journal des événements (Sécurité, Système, Application). 
4720 Création d'un compte utilisateur.
4726 Suppression d'un compte utilisateur. 
4728 Un utilisateur a été ajouté à un groupe de sécurité globale.
4732 Un utilisateur a été ajouté à un groupe de sécurité local.
4756 Un membre a été ajouté à un groupe de sécurité universel.
4776 La validation du compte utilisateur a été tentée.
4946 Un changement a été effectué dans le pare-feu Windows. 
7045 Un service a été installé dans le système.

Pour chercher un code particulier :

Éric Zimmerman a développé un outil pour traiter les logs EVTX et les exporter dans un fichier CSV ce qui peut être beaucoup plus facile à traiter :

EvtxECmd.exe -d <EVTX_DIR> --csv <Output_DIR>

Navigateurs internet

Voici les emplacements des différents profiles de navigateur :

Navigateurs Chemins
Edge /AppData/Local/Microsoft/Edge/User Data/Default/ 
Firefox /AppData/Roaming/Mozilla/Firefox/Profiles/ 
Chrome /AppData/Local/Google/Chrome/User Data/Default/ 
Chromium /AppData/Local/Chromium/User Data/Default/ 
Brave /AppData/Local/BraveSoftware/Brave-Browser/User Data/Default/ 
Opera /AppData/Roaming/Opera Software/Opera Stable/ 
Vivaldi /AppData/Local/Vivaldi/User Data/Default/ 
360 Speed /AppData/Local/360chrome/Chrome/User Data/Default/ 
QQ /AppData/Local/Tencent/QQBrowser/User Data/Default/ 
Yandex /AppData/Local/Yandex/YandexBrowser/User Data/Default/ 
CocCoc /AppData/Local/CocCoc/Browser/User Data/Default/ 

Voici 2 outils pour extraire toutes les informations des navigateurs :

Quelques exemples de données intéressantes à récupérer :

Types de données Fichiers
Historique de téléchargement places.sqlite ou History
Favoris bookmarks.json ou Bookmarks 
Identifiants logins.json ou Login Data
Auto-completions formhistory.sqlite ou Web Data ou Shortcuts ou Login Data