Skip to content

Glosario

wpndatabase.db

Base de datos SQLite por usuario donde Windows 10 (1607+) y Windows 11 guardan las notificaciones de las aplicaciones, con su contenido, emisor y horas.

wpndatabase.db es la base de datos SQLite por usuario de la plataforma Windows Push Notification en Windows 10 (compilación 1607 y posteriores) y Windows 11. Guarda los toasts, las actualizaciones de icono y los distintivos que las aplicaciones envían al usuario, junto con la aplicación que envió cada uno y sus horas de llegada y caducidad. Sustituyó al archivo binario appdb.dat y está en la misma carpeta:

C:\Users\<user>\AppData\Local\Microsoft\Windows\Notifications\wpndatabase.db
                                                             wpndatabase.db-wal
                                                             wpndatabase.db-shm

Las tablas principales son Notification (una fila por notificación: Type, Payload, Tag, Group, ArrivalTime, ExpiryTime), NotificationHandler (una fila por aplicación que puede notificar), HandlerAssets y HandlerSettings (detalles clave / valor), WNSPushChannel (URI de canales push) y Metadata.

Por qué importa en una investigación

La base contiene contenido escrito por Windows en nombre de otras aplicaciones: vistas previas de chats y correos, alertas del antivirus que nombran archivos, avisos de descarga y avisos de dispositivos, cada uno con una hora de llegada FILETIME en UTC. A menudo sobrevive a aquello que anunciaba. También enumera cada gestor de notificaciones registrado, incluido el que apareció durante un incidente.

Tres aspectos prácticos: la base funciona en modo WAL, así que las notificaciones más recientes suelen estar solo en wpndatabase.db-wal y hay que recolectar ambos archivos juntos; el archivo está abierto mientras el usuario tiene sesión iniciada, así que la adquisición en vivo requiere una instantánea de volumen (shadow copy) o una herramienta de triaje como el target WindowsNotificationsDB de KAPE; y las notificaciones descartadas o caducadas se borran, pero a menudo pueden recuperarse del espacio libre.

Ejemplo

SELECT n.Type, n.ArrivalTime, h.PrimaryId, n.Payload
FROM Notification n
JOIN NotificationHandler h ON n.HandlerId = h.RecordId
ORDER BY n.ArrivalTime;

Ejecuta consultas así solo sobre una copia: abrir el archivo en una herramienta SQLite puede provocar un checkpoint del WAL.

Términos relacionados

Suelta la base y su WAL en el Windows Notification Parser y empieza por la guía de wpndatabase.db.