Garden of KnowledgeApplied Sciences › Computer Science › Software › Security › Defensive › SOC Analysis › DFIR
March 22, 2026

Windows Forensics

L’investigation numérique Windows vise à reconstituer les actions passées sur un système en analysant les artefacts laissés dans le registre, les journaux d’événements, le système de fichiers et la mémoire.

Collecte et triage initial§

Ordre de volatilité§

1. Mémoire vive (RAM)              ← Perdu à l'extinction
2. Processus en cours, connexions réseau
3. Données dans la swap/pagefile
4. Registre (partiellement en RAM)
5. Fichiers temporaires
6. Journaux d'événements
7. Système de fichiers (disque)    ← Persiste après extinction
8. Médias de sauvegarde

Acquisition mémoire§

# WinPmem — acquisition de la RAM (gratuit)
winpmem_mini_x64_rc2.exe -o memory.raw

# DumpIt (Comae Technologies)
DumpIt.exe /O memory.dmp

# Volatility 3 — analyse de la RAM acquise
vol -f memory.raw windows.pslist
vol -f memory.raw windows.netscan
vol -f memory.raw windows.cmdline

Acquisition du disque§

# FTK Imager (GUI) — créer une image forensique
# File → Create Disk Image → Physical Drive → E01 format

# En ligne de commande (si FTK CLI disponible)
ftkimager.exe \\.\PHYSICALDRIVE0 D:\evidence\disk.E01 --e01

# Linux (si le disque est monté sur un système Linux)
sudo dc3dd if=/dev/sdb of=/evidence/disk.dd bs=512 log=/evidence/disk.log

# Calcul de hash pour l'intégrité de la chaîne de preuves
certutil -hashfile disk.E01 SHA256

Registre Windows§

Le registre contient une quantité massive d’artefacts forensiques.

Ruches principales§

HKEY_LOCAL_MACHINE (HKLM)
  \SYSTEM     → Configuration système, services, drivers
  \SOFTWARE   → Applications installées, configuration
  \SAM        → Comptes locaux et hashes NTLM (chiffrés, nécessite SYSTEM)
  \SECURITY   → Politique de sécurité, LSA secrets

HKEY_CURRENT_USER (HKCU)
  \SOFTWARE   → Configuration par utilisateur
  Fichier sur disque : C:\Users\<user>\NTUSER.DAT

HKEY_USERS (HKU)
  Toutes les ruches utilisateurs chargées

Fichiers sur disque (C:\Windows\System32\config\) :
  SYSTEM, SOFTWARE, SAM, SECURITY, DEFAULT
  C:\Users\<user>\NTUSER.DAT
  C:\Users\<user>\AppData\Local\Microsoft\Windows\UsrClass.dat

Artefacts forensiques clés§

# Programmes au démarrage (persistance)
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

# Services installés
reg query HKLM\SYSTEM\CurrentControlSet\Services

# Derniers fichiers ouverts (RecentDocs)
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs"

# Programmes récemment exécutés (UserAssist — obfusqué en ROT13)
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist"

# Connexions réseau récentes
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections"

# Clés USB connectées (identification des périphériques)
reg query "HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR"

# Shellbags — dossiers parcourus même si le dossier n'existe plus
# HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
# Outil : ShellBags Explorer (Eric Zimmermann)

# MuiCache — binaires exécutés
reg query "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache"

Extraction de ruches avec RegRipper§

# RegRipper — analyse automatisée des ruches
rip.pl -r NTUSER.DAT -f ntuser    # Tous les plugins pour NTUSER
rip.pl -r SYSTEM -f system        # Services, USB, etc.
rip.pl -r SAM -f sam              # Comptes locaux

# Plugin spécifique
rip.pl -r SOFTWARE -f recentdocs  # Documents récents
rip.pl -r SYSTEM -f usbstor       # Périphériques USB

Journaux d’événements Windows (Event Logs)§

Emplacement : C:\Windows\System32\winevt\Logs\
Fichiers .evtx analysables avec Event Viewer, PowerShell, ou outils forensiques

Event IDs critiques§

Event IDCanalSignification
4624SecurityConnexion réussie
4625SecurityConnexion échouée
4634/4647SecurityDéconnexion
4648SecurityConnexion avec des credentials explicites (runas)
4672SecurityDroits spéciaux à la connexion (SeDebugPrivilege…)
4688SecurityCréation d’un processus (si audit activé)
4698/4702SecurityTâche planifiée créée/modifiée
4720/4726SecurityCompte créé/supprimé
4732/4733SecurityAjout/suppression d’un groupe
4768/4769SecurityKerberos TGT/TGS demandé
4776SecurityAuthentification NTLM
7045SystemService installé
1102SecurityJournaux d’événements effacés
4104PowerShellExécution de script PowerShell (ScriptBlock logging)
# Requêter les journaux
Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624]]" |
    Select-Object TimeCreated, Message | Format-List

# Détecter les connexions à distance (logon type 3 = réseau, 10 = remote interactive)
Get-WinEvent -LogName Security |
    Where-Object {$_.Id -eq 4624} |
    Where-Object {$_.Message -match "Logon Type:\s+3"} |
    Select-Object TimeCreated, Message

# Connexions PowerShell Remoting
Get-WinEvent -LogName "Microsoft-Windows-WinRM/Operational"

# Script PowerShell encodé exécuté
Get-WinEvent -LogName "Microsoft-Windows-PowerShell/Operational" |
    Where-Object {$_.Id -eq 4104} |
    Select-Object TimeCreated, Message

Artefacts système de fichiers§

Prefetch§

# Préfetch : liste des programmes exécutés avec horodatage
# C:\Windows\Prefetch\*.pf
# Outil : WinPrefetchView (NirSoft)

# PowerShell
Get-ChildItem C:\Windows\Prefetch | Sort-Object LastWriteTime -Descending | Select -First 20
# Chaque .pf = nom de l'exécutable + jusqu'à 8 horodatages d'exécution

Shimcache / AppCompatCache§

Registre : HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
Contient tous les exécutables avec date de dernière modification
(même si exécutés ou non — seulement les fichiers qui ont été sur le disque)

Outil : AppCompatCacheParser.exe (Eric Zimmermann)
AppCompatCacheParser.exe -f SYSTEM --csv .

Amcache§

C:\Windows\AppCompat\Programs\Amcache.hve
Contient le hash SHA1 des exécutables lancés, chemin, date de première exécution

AmcacheParser.exe -f Amcache.hve --csv .

LNK et Jump Lists§

Raccourcis créés automatiquement à l'ouverture de fichiers :
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\*.lnk
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\

Contenu : chemin du fichier, volume, taille, MAC times au moment de l'accès
Outil : LECmd.exe (Eric Zimmermann)
LECmd.exe -d "C:\Users\User\AppData\Roaming\Microsoft\Windows\Recent" --csv .

$MFT — Master File Table§

# La MFT NTFS contient des métadonnées sur chaque fichier :
# MAC times (Modified, Accessed, Changed, Born/Created)
# Taille, permissions, attributs

# Extraire la MFT
# FTK Imager : File > Add Evidence > Physical Drive > naviguer vers [\NONAME\[root]\$MFT]

# Analyser avec MFTECmd
MFTECmd.exe -f $MFT --csv . --csvf mft_output.csv

# Timeline avec MAC times
MFTECmd.exe -f $MFT --csv . --csvf mft_timeline.csv
# Importer dans Timeline Explorer (Eric Zimmermann)

Volume Shadow Copies§

# Copies d'ombre — snapshots du système à différents moments
vssadmin list shadows

# Monter une shadow copy
mklink /d C:\shadow1 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
# Examiner les fichiers tels qu'ils étaient au moment du snapshot

# Récupérer un fichier depuis une shadow copy
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM C:\evidence\

Timeline et corrélation§

# Plaso / log2timeline — créer une super-timeline multi-sources
log2timeline.py --parsers win7 timeline.plaso /dev/sdb1
psort.py -o l2tcsv timeline.plaso > supertimeline.csv

# Sources incluses : MFT, registre, journaux événements, prefetch, LNK, shellbags...

# Filtrer par fenêtre temporelle
psort.py timeline.plaso "date > '2026-01-01' AND date < '2026-01-02'" > jan1.csv

Outils de référence§

OutilÉditeurFonction
Volatility 3Open sourceAnalyse mémoire
Eric Zimmermann Tools (EZTools)GratuitMFT, LNK, Amcache, Prefetch
RegRipperOpen sourceAnalyse registre
AutopsyOpen sourceSuite forensique GUI
FTK ImagerGratuitAcquisition d’image
Plaso/log2timelineOpen sourceSuper-timeline
KAPEKrollCollecte et triage rapide
Arsenal Image MounterGratuit/payantMontage d’images forensiques
—The Gardener