wpndatabase.db: Speicherort und forensische Sicherung
Wo die Windows-Benachrichtigungsdatenbank unter Windows 10 und 11 liegt und wie Sie sie samt -wal von Live-Systemen, Images, mit KAPE oder Velociraptor sichern.
Kurz gesagt. Sichern Sie wpndatabase.db und wpndatabase.db-wal aus C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\ für jedes Profil, und zwar zum selben Zeitpunkt. Auf einem Live-System ist die Datei geöffnet: Verwenden Sie eine Schattenkopie, das KAPE-Target WindowsNotificationsDB oder Velociraptor. Öffnen Sie die Live-Datenbank nie vorher in einem SQLite-Tool.
Der Pfad
| Element | Wert |
|---|---|
| Ordner | %LOCALAPPDATA%\Microsoft\Windows\Notifications\ |
| Windows 10 ab 1607 / Windows 11 | wpndatabase.db, wpndatabase.db-wal, wpndatabase.db-shm |
| Windows 10 vor 1607, Windows 8.x | appdb.dat |
Es gibt eine Datenbank pro Profil. Behalten Sie Users\<name>\ im gesicherten Pfad bei: Der Ordner selbst verrät nicht, wem die Datenbank gehört.
Welche Dateien Sie sichern
| Datei | Sichern? | Warum |
|---|---|---|
wpndatabase.db | Ja | Die gecheckpointete Datenbank |
wpndatabase.db-wal | Ja | Bestätigte, noch nicht zurückgeschriebene Änderungen: oft die neuesten Benachrichtigungen sowie ältere Seitenabbilder, die für die Wiederherstellung nützlich sind |
wpndatabase.db-shm | Optional | Ein Shared-Memory-Index, den SQLite neu aufbaut; er enthält keine Spuren, die in den anderen beiden fehlen |
appdb.dat | Falls vorhanden | Der Speicher vor 1607 |
Live-System: eine Schattenkopie
Die Datenbank ist geöffnet, solange der Benutzer angemeldet ist, daher schlägt eine einfache Kopie fehl oder liefert eine Datei voller Nullen. Eine einzige Volumeschattenkopie liefert Datenbank und WAL vom selben Zeitpunkt. Aus einer Windows PowerShell mit erhöhten Rechten:
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
Das Ergebnis ist C:\triage\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\ für jedes Profil.
KAPE
kape.exe --tsource C: --tdest C:\triage\kape --target WindowsNotificationsDB
Das Target WindowsNotificationsDB verwendet die Maske wpndatabase.db* (die WAL wird also mitgenommen) plus appdb.dat, für jeden Benutzer.
Velociraptor
Sammeln Sie das Artefakt Windows.Triage.Targets aus dem Velociraptor-Triage-Projekt mit dem Target WindowsNotificationsDB, über die GUI oder einen Offline-Collector. Auch das integrierte Artefakt Windows.Search.FileFinder mit einem Glob auf den Notifications-Ordner und aktiviertem Datei-Upload funktioniert.
Datenträgerabbilder
Binden Sie das Image schreibgeschützt ein und exportieren Sie Users\*\AppData\Local\Microsoft\Windows\Notifications\ mitsamt Struktur. Prüfen Sie auch die Volumeschattenkopien im Image: Ein älterer Snapshot kann Benachrichtigungen enthalten, die inzwischen abgelaufen sind.
Fehler, die Beweismittel kosten
- Die Live-Datenbank in einem SQLite-Browser öffnen. Das Öffnen einer WAL-Datenbank kann einen Checkpoint auslösen, der die WAL in die Hauptdatei übernimmt und zurücksetzt — die älteren Seitenabbilder, die Sie für die Wiederherstellung brauchten, sind verloren.
- Die Datenbank ohne ihre WAL kopieren oder beide zu unterschiedlichen Zeitpunkten. Im ersten Fall gehen die neuesten Benachrichtigungen verloren, im zweiten werden Zustände vermischt. Eine WAL, die zu einer anderen Datenbank gehört, erkennt der Parser und ignoriert sie.
- Warten. Benachrichtigungen laufen ab, geschlossene werden gelöscht; freier Speicher wird wiederverwendet, sobald neue Benachrichtigungen eintreffen.
Hashen Sie die Dateien direkt nach der Sicherung und analysieren Sie dann Kopien — zum Beispiel mit dem Browser-basierten Parser.
FAQ
Wo wird die Windows-Benachrichtigungsdatenbank gespeichert?
Unter C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db, daneben wpndatabase.db-wal und wpndatabase.db-shm. Ältere Windows-10-Builds nutzen appdb.dat im selben Ordner.
Welches KAPE-Target sichert sie?
WindowsNotificationsDB. Es sichert wpndatabase.db* (Datenbank, -wal und -shm) und appdb.dat aus jedem Benutzerprofil. Dasselbe Target steht in Velociraptor im Artefakt Windows.Triage.Targets zur Verfügung.