Comment fonctionne réellement la forensique de pagefile.sys
20/05/2026 · 2 min de lecture
Il n'existe aucun format binaire documenté pour pagefile.sys. Tout outil
qui l'analyse — page_brute, bulk_extractor, X-Ways, Magnet Axiom, celui-ci —
recourt à la même famille de techniques.
1. Carving par signature, page par page
Le fichier est découpé en pages de 4 Ko et chaque page est comparée à un catalogue de signatures :
| Signature | Ce qu'elle indique |
|---|---|
MZ … PE\0\0 | Une image exécutable a été paginée |
regf | Bloc de base d'une ruche de registre |
hbin | Bin d'une ruche — un morceau de 4 Ko |
FILE / BAAD | Enregistrement MFT NTFS |
SQLite format 3 | En-tête de base SQLite |
<?xml | XML — fragments de journaux, manifests, configs |
ElfFile / ElfChnk | Fichier / chunk EVTX |
SCCA | Fichier Prefetch |
%PDF | |
PK\x03\x04 | ZIP / DOCX / XLSX |
\x89PNG / \xFF\xD8\xFF | PNG / JPEG |
Une page qui correspond est un fort indice : l'artefact complet vit ailleurs, sur des pages non adjacentes.
2. Extraction de chaînes
L'essentiel de la valeur d'un pagefile réside dans ses chaînes :
- ASCII : suites contiguës d'octets imprimables (0x20–0x7E) de longueur ≥ 6.
- UTF-16LE : suites contiguës de paires
(imprimable, 0x00). Windows est Unicode en interne, donc l'essentiel du texte utile est ici.
Chaque chaîne est accompagnée de son décalage absolu pour la corréler à sa page d'origine.
3. Balayages regex sur les chaînes
Les chaînes alimentent ensuite un catalogue figé de regex : URL, e-mails,
IPv4, IPv6, chemins Windows et UNC, clés de registre, GUID, lignes de
commande (cmd.exe, powershell, mshta, rundll32, certutil…), et
indices de credentials (password=, Authorization: Bearer …, formes JWT).
4. Repli statistique
Pour les pages sans signature, des statistiques aident à les classer : entropie élevée (> 7,5) → vraisemblablement chiffré ou compressé (souvent Xpress-Huffman sous Windows 10+) ; proportion de nuls élevée → emplacement inutilisé ; forte proportion d'imprimables → texte n'ayant pas déclenché de signature.
Ce que vous ne pouvez pas faire
L'analyse autonome du pagefile ne dit pas quel processus possédait une page, ni quelle adresse virtuelle elle occupait. Cela nécessite un dump de RAM et le parsing des Page Table Entries (ce que font Volatility et MemProcFS). Le pagefile seul fournit du contenu, pas du contexte.