Speicherort von ActivitiesCache.db und forensische Sicherung
Wo ActivitiesCache.db je nach Kontotyp liegt und wie Sie die Datei mit ihrer -wal aus Images, per KAPE, Velociraptor oder am laufenden System sichern.
Kurz gesagt. Die Datenbank liegt unter C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\ActivitiesCache.db. Sichern Sie den gesamten Ordner ConnectedDevicesPlatform jedes Profils, einschließlich ActivitiesCache.db-wal. Am laufenden System verwenden Sie einen Collector mit Raw-Disk-Zugriff (KAPE-Target WindowsTimeline, Velociraptor) oder eine Schattenkopie und sichern Datenbank und WAL gemeinsam. Erst hashen, dann auswerten.
Auf einem ausgeschalteten Datenträger ist die Sicherung einfach, auf einem laufenden System überraschend leicht falsch gemacht. Die zwei klassischen Fehler: die Datenbank ohne ihr WAL kopieren und die beiden Dateien zu unterschiedlichen Zeitpunkten kopieren. In beiden Fällen erhalten Sie eine Zeitachse, die plausibel aussieht und stillschweigend unvollständig ist.
Der Pfad
| Bestandteil | Wert |
|---|---|
| Basis | %LOCALAPPDATA%\ConnectedDevicesPlatform\ (C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\) |
| Kontoordner | L.<username> bei einem lokalen Konto (artifacts-kb); Praktiker berichten von einer hexadezimal wirkenden Kennung bei Microsoft-Konten und einem Ordner mit Präfix AAD. bei Entra-ID-Konten (Azure AD) (README von ActivitiesCacheParser) |
| Dateien | ActivitiesCache.db, ActivitiesCache.db-wal, ActivitiesCache.db-shm |
| Daneben | CDPGlobalSettings.cdp und kontobezogene .cdp-Dateien (JSON-Einstellungen der Plattform) |
Zwei Details zählen in der Praxis.
Ein Benutzer, mehrere Kontoordner. kacos2000 beobachtete, dass beim Wechsel eines Benutzers von einem lokalen zu einem Microsoft-Konto der Ordner L.<username> entfernt und ein neuer Ordner für das Microsoft-Konto angelegt wird, in den frühere Einträge übernommen werden; beim Wechsel zurück bleibt die Datenbank des Microsoft-Kontos erhalten (kacos2000). Hören Sie nicht beim ersten gefundenen Ordner auf.
Der Ordnername ist nicht der Benutzer. Bei Microsoft- und Entra-ID-Konten enthält der Ordnername keinen Benutzernamen. Ordnen Sie die Datenbank über den Profilpfad (Users\<name>\) zu und behalten Sie diese Struktur in der Sicherung bei. Der Glossareintrag ConnectedDevicesPlatform fasst die Benennung zusammen.
Welche Dateien Sie sichern
| Datei | Sichern? | Warum |
|---|---|---|
ActivitiesCache.db | Ja | Die Datenbank nach dem Checkpoint |
ActivitiesCache.db-wal | Ja | Bestätigte, noch nicht zurückgeschriebene Änderungen, oft die jüngste Aktivität (warum das WAL zählt) |
ActivitiesCache.db-shm | Optional | Der WAL-Index: eine rekonstruierbare Suchstruktur ohne eigene Beweise |
Einstellungsdateien *.cdp | Ja, kostet nichts | Kontext zum Konto und zu den Plattformeinstellungen |
SQLite stellt klar, dass die WAL-Datei zum dauerhaften Zustand der Datenbank gehört und dass eine Trennung bestätigte Transaktionen kosten kann (sqlite.org/wal.html). Behandeln Sie das Paar als ein Beweisstück.
Aus einem Datenträgerabbild
Die Post-mortem-Sicherung ist der saubere Fall: Nichts hält die Dateien offen, und während Ihrer Arbeit kann kein Checkpoint stattfinden.
- Binden Sie das Abbild schreibgeschützt ein.
- Exportieren Sie
Users\*\AppData\Local\ConnectedDevicesPlatform\rekursiv mit Pfaden. - Hashen Sie jede exportierte Datei.
- Prüfen Sie jeden Kontoordner auf eine
-wal. Ein leeres oder fehlendes WAL in einem Abbild bedeutet meist, dass die letzte Verbindung sauber geschlossen und zurückgeschrieben wurde (sqlite.org); notieren Sie es, ein Fehler ist es nicht.
Sehen Sie auch in Volumeschattenkopien nach, falls das Abbild welche enthält. Ein älterer Snapshot kann eine Datenbank von vor dem Löschen des Verlaufs oder vor dem Ablauf von Einträgen enthalten. Der Disk-Image-Parser und der Papierkorb-Parser decken die benachbarten Beweise ab, die Sie aus demselben Abbild brauchen.
Von einem laufenden System
Auf einem laufenden Rechner hält die Benutzersitzung die Datenbank offen. Eine normale Dateikopie scheitert oft an einer Freigabeverletzung oder, schlimmer, gelingt für die Datenbank und nicht für das WAL.
KAPE. Das Target WindowsTimeline aus KapeFiles sammelt ActivitiesCache.db* rekursiv unter dem Ordner ConnectedDevicesPlatform jedes Benutzers und erfasst so Datenbank, WAL und SHM in einem Durchgang (WindowsTimeline.tkape). KAPE liest gesperrte Dateien per Raw-Disk-Zugriff.
Velociraptor. Das Artefakt Windows.Forensics.Timeline verwendet standardmäßig C:\Users\*\AppData\Local\ConnectedDevicesPlatform\*\ActivitiesCache.db; laut Dokumentation ist es zugunsten von Generic.Forensic.SQLiteHunter veraltet (Velociraptor-Dokumentation). Nutzen Sie für die Dateisammlung ein Muster, das auf ActivitiesCache.db* endet, damit das WAL mitkommt.
Schattenkopie. Eine neue Schattenkopie anzulegen und daraus zu kopieren, liefert ein konsistentes, zeitgleiches Paar. Das verändert das System; halten Sie es in Ihren Notizen fest.
Egal welches Werkzeug: Datenbank und WAL müssen vom selben Zeitpunkt stammen. Ein WAL von einem anderen Moment kann Frames enthalten, die nicht zu den Datenbankseiten passen. Der Windows Timeline Parser prüft, ob das eingespielte Ergebnis noch eine plausible Timeline ist, und ignoriert ein unpassendes WAL mit einer Warnung, kann aber nicht wiederherstellen, was eine schlechte Kopie nie erfasst hat.
Anzeichen einer fehlerhaften Kopie
| Symptom | Wahrscheinliche Ursache |
|---|---|
Datei beginnt mit Nullen statt SQLite format 3 | Das Kopierwerkzeug konnte die gesperrte Datei nicht lesen und hat einen leeren Puffer geschrieben |
| WAL vorhanden, Parser meldet Salt- oder Prüfsummenfehler schon beim ersten Frame | WAL von einem anderen Zeitpunkt oder aus einer anderen Datenbank |
| Datenbank lässt sich lesen, jüngste Aktivität ist auf einem aktiven Rechner Stunden oder Tage alt | WAL fehlt |
Nur -wal und -shm, keine Datenbank | Sammelmuster zu eng |
Das Werkzeug meldet jeden dieser Fälle ausdrücklich: Dateien, die mit Nullen beginnen, ein WAL ohne Datenbank und eine ignorierte -shm erscheinen unter Nicht ausgewertete Dateien, und ein fehlendes WAL löst eine Warnung aus.
Zuordnung und Beweiskette
- Lassen Sie
Users\<name>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\in der Sicherung unverändert. Das Werkzeug ordnet jede Datenbank überUsers/<name>/oder den OrdnerL.<name>zu; Ihr Bericht sollte das genauso tun. - Hashen Sie die gesicherten Dateien und arbeiten Sie nur mit Kopien. Öffnet man die Originale mit einer gewöhnlichen SQLite-Bibliothek, kann das WAL in die Datenbank zurückgeschrieben und beim Schließen gelöscht werden (sqlite.org); das verändert das Beweismittel.
- Notieren Sie die Zeitzone des Systems und die des Benutzers und führen Sie Zeitstempel in Ihren Arbeitsnotizen in UTC.
Triage-Sammlungen: was Sie zusätzlich mitnehmen
Wenn Sie Timeline ohnehin sichern, sollte derselbe Durchgang die Artefakte mitnehmen, die sie bestätigen: SRUDB.dat für SRUM, C:\Windows\Prefetch für Prefetch, AutomaticDestinations für Jump Lists, Recent\*.lnk für LNK-Dateien, die Benutzer-Hives für Beweise aus der Registry und die Ereignisprotokolle für EVTX. Timeline ist am stärksten als eine Stimme unter mehreren; siehe Windows Timeline vs SRUM vs Prefetch vs Jump Lists.
FAQ
Wo wird die Windows-Timeline-Datenbank gespeichert?
In C:\Users\<user>\AppData\Local\ConnectedDevicesPlatform\<account-folder>\ActivitiesCache.db. Der Kontoordner heißt L.<username> bei einem lokalen Konto und trägt bei Microsoft- sowie Geschäfts- oder Schulkonten eine andere Kennung.
Brauche ich die -shm-Datei?
Nein. Die -shm-Datei ist ein Shared-Memory-Index, den SQLite neu aufbaut. Sichern Sie sie mit, wenn Ihr Werkzeug sie erfasst, die Beweise liegen aber in ActivitiesCache.db und ActivitiesCache.db-wal.
Kann ich ActivitiesCache.db von einem laufenden System kopieren?
Nicht mit einer normalen Kopie, solange der Benutzer angemeldet ist, denn die Datei ist in der Regel geöffnet. Nutzen Sie einen Collector mit Raw-Disk-Zugriff wie KAPE oder Velociraptor oder eine Volumeschattenkopie und sichern Sie Datenbank und WAL zum selben Zeitpunkt.
Nächste Schritte
Sobald Sie die Dateien haben, analysieren Sie ActivitiesCache.db im Browser, oder beginnen Sie mit dem vollständigen Leitfaden zur Windows-Timeline-Forensik.