Skip to content

wpndatabase.db : emplacement et collecte

Où se trouve la base de notifications sous Windows 10 et 11, et comment la collecter avec son -wal sur système actif, image, KAPE ou Velociraptor.

Publié le 3 min de lecture

En bref. Collectez wpndatabase.db et wpndatabase.db-wal depuis C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\ pour chaque profil, au même instant. Sur un système actif, le fichier est verrouillé : utilisez un cliché instantané, la cible KAPE WindowsNotificationsDB ou Velociraptor. N'ouvrez jamais d'abord la base active dans un outil SQLite.

Le chemin

ÉlémentValeur
Dossier%LOCALAPPDATA%\Microsoft\Windows\Notifications\
Windows 10 1607+ / Windows 11wpndatabase.db, wpndatabase.db-wal, wpndatabase.db-shm
Windows 10 avant 1607, Windows 8.xappdb.dat

Il y a une base par profil. Conservez Users\<name>\ dans le chemin collecté : le dossier lui-même n'indique pas à qui appartient la base.

Quels fichiers prendre

FichierÀ prendre ?Pourquoi
wpndatabase.dbOuiLa base après checkpoint
wpndatabase.db-walOuiLes modifications validées pas encore réécrites : souvent les notifications les plus récentes, et d'anciennes images de pages utiles à la récupération
wpndatabase.db-shmFacultatifUn index en mémoire partagée que SQLite reconstruit ; il ne contient aucun élément de preuve absent des deux autres
appdb.datS'il existeLe stockage antérieur à 1607

Système actif : un seul cliché instantané

La base est ouverte tant que l'utilisateur est connecté : une simple copie échoue ou renvoie un fichier rempli de zéros. Un unique cliché instantané de volume (VSS) fournit la base et son WAL au même instant. Depuis un Windows PowerShell élevé :

New-Item -ItemType Directory -Force -Path C:\triage | Out-Null
$sc = Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{ Volume = 'C:\' }
$vss = Get-CimInstance -ClassName Win32_ShadowCopy -Filter "ID='$($sc.ShadowID)'"
cmd /c mklink /d C:\triage\vss "$($vss.DeviceObject)\"
robocopy C:\triage\vss\Users C:\triage\Users wpndatabase.db wpndatabase.db-wal appdb.dat /S /XJ /B /R:0 /W:0 /NP /NDL
cmd /c rmdir C:\triage\vss
$vss | Remove-CimInstance

Le résultat est C:\triage\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\ pour chaque profil.

KAPE

kape.exe --tsource C: --tdest C:\triage\kape --target WindowsNotificationsDB

La cible WindowsNotificationsDB utilise le masque wpndatabase.db* (le WAL est donc inclus) ainsi que appdb.dat, pour chaque utilisateur.

Velociraptor

Collectez l'artefact Windows.Triage.Targets du projet Velociraptor Triage avec la cible WindowsNotificationsDB, depuis l'interface graphique ou un collecteur hors ligne. L'artefact intégré Windows.Search.FileFinder, avec un glob sur le dossier Notifications et l'envoi des fichiers activé, fonctionne également.

Images disque

Montez l'image en lecture seule et exportez Users\*\AppData\Local\Microsoft\Windows\Notifications\ en conservant l'arborescence. Examinez aussi les clichés instantanés de l'image : un instantané plus ancien peut contenir des notifications expirées depuis.

Les erreurs qui coûtent des preuves

  • Ouvrir la base active dans un navigateur SQLite. Ouvrir une base en mode WAL peut déclencher un checkpoint qui intègre le WAL au fichier principal et le réinitialise — les anciennes images de pages dont vous aviez besoin pour la récupération disparaissent.
  • Copier la base sans son WAL, ou copier les deux à des moments différents. Dans le premier cas, on perd les notifications les plus récentes ; dans le second, on mélange des états. Un WAL provenant d'une autre base est détecté et ignoré par le parseur.
  • Attendre. Les notifications expirent et celles qui sont fermées sont supprimées ; l'espace libre est réutilisé à mesure que de nouvelles notifications arrivent.

Calculez l'empreinte des fichiers tels que collectés, puis analysez des copies — par exemple avec le parseur dans le navigateur.

FAQ

Où la base de notifications Windows est-elle stockée ?

Dans C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db, avec wpndatabase.db-wal et wpndatabase.db-shm à côté. Les anciennes builds de Windows 10 utilisent appdb.dat dans le même dossier.

Quelle cible KAPE la collecte ?

WindowsNotificationsDB. Elle collecte wpndatabase.db* (base, -wal et -shm) et appdb.dat dans chaque profil utilisateur. La même cible est disponible dans l'artefact Windows.Triage.Targets de Velociraptor.

Articles liés

Cas fictif : l'apport d'une base de notifications à la chronologie d'une intrusion — téléchargement, alerte antivirus, nouvelle app, message supprimé.

Pas à pas : ouvrir la base de notifications Windows et son -wal dans un parseur web gratuit, trier, récupérer les toasts supprimés et exporter.

Ce que la base de notifications Windows enregistre, où elle se trouve, ce qu'elle prouve et ses limites : guide pratique de wpndatabase.db pour le DFIR.