pagefile.sys ist die Datei, die Windows als Auslagerungsspeicher für den
physischen RAM verwendet. Wenn das System knapp an Arbeitsspeicher ist,
schreibt der Memory Manager selten genutzte Seiten in diese Datei, sodass
der freigewordene RAM für heißere Workloads bereitsteht. Wird eine
ausgelagerte Adresse später wieder berührt, wird die Seite zurückgelesen.
Sie liegt standardmäßig unter C:\pagefile.sys, ist versteckt und
Systemdatei, und wird offen und gesperrt vom Kernel gehalten —
deshalb lässt sie sich nicht einfach in einer laufenden Sitzung kopieren.
Acquisition erfolgt beim Shutdown, aus einem Disk-Image oder durch Lesen
des rohen NTFS-Volumes.
Was drinsteckt
Die Datei ist ein roher Dump von Speicherseiten zu je 4 KB. Es gibt keinen Header, kein Inhaltsverzeichnis, keine Metadaten pro Seite, keine Reihenfolge. Seiten wurden in den jeweils freien Slot geschrieben, daher gehören zwei aufeinanderfolgende Seiten auf Disk meist zu verschiedenen Prozessen.
Konkret findet man:
- Fragmente von ausführbarem Code (PE-Images, JIT-Code, Shellcode).
- Registry-Hive-Bins (
hbin-Blöcke auslsass,services, User-Hives). - MFT-Einträge,
$LogFile-Seiten, Dateisystem-Cache. - SQLite-Datenbanken (Browser-Verlauf, Mail-Clients).
- Dokumentinhalt — JSON, XML, Klartext, Bilder.
- Klartext-Geheimnisse, die der Kernel nicht als sensibel erkennen konnte: Passwörter, Bearer-Tokens, JWTs, entschlüsselte Dateien, Kommandozeilen.
Warum es für Analysten zählt
Eine Auslagerungsdatei ist einer der wenigen Orte, an dem Daten, die
nur im Speicher existierten, auf Disk landen. Ohne Live-RAM-Aufnahme ist
pagefile.sys das nächstbeste Fenster auf den Zustand der Maschine.
Warum das Parsen schwer ist
Da die Datei keine Struktur hat, lässt sie sich nicht „parsen" wie ein Event-Log. Der Standardansatz ist Carving: Seite für Seite scannen, jede Seite per Inhalt klassifizieren (Magic Bytes, Statistik, String-Dichte) und herausholen, was übrig ist. Genau das tut dieses Werkzeug — im Browser, via WebAssembly, ohne Datenversand.