Volatility + pagefile.sys : associer les deux pour une forensique mémoire complète
20/05/2026 · 5 min de lecture
Volatility (et son successeur MemProcFS)
sont les outils standards de la forensique mémoire Windows. La plupart
des analystes les utilisent contre un dump RAM seul. Ce qu'on rate
souvent, c'est que les deux savent lire pagefile.sys si vous le leur
fournissez — et le faire élargit considérablement ce que vous pouvez
récupérer.
Pourquoi Volatility ne peut pas utiliser le pagefile seul
Le travail de Volatility consiste à parcourir les structures de données
noyau d'une image mémoire capturée : listes EPROCESS, entrées de table
de page (PTE), pools noyau, tampons réseau. Tout cela vit en RAM —
rien n'est dans le pagefile.
Le pagefile en lui-même n'est que du contenu : des cadres mémoire bruts de 4 Ko sans attribution. Volatility ne sait pas quel emplacement appartient à quel processus, à quelle adresse virtuelle, ni même quel type de mémoire (tas, pile, fichier mappé) il représente.
C'est pour cela que des outils autonomes comme ce parser adoptent une approche de carving — regarder le contenu seul via des signatures d'octets magiques. Voir le billet sur les limites pour l'explication complète.
Ce qui change quand vous avez les deux
Quand vous fournissez à Volatility un dump RAM et le pagefile correspondant, il peut :
- Parcourir les PTE en RAM pour déterminer à quel processus et à quelle adresse virtuelle chaque emplacement du pagefile correspond.
- Lire à la demande les pages paginées pendant l'exécution des
plugins — si bien qu'un scan de processus, un
pslist, uncmdline, unvadinfo, undumpfilesobtiennent le contenu complet, y compris pour les régions mémoire qui ont paginé. - Faire tourner des plugins qui étaient auparavant en échec ou
partiels :
pstree,cmdline,dlllist,handles,consoles,cmdscan— tous deviennent complets.
En pratique, le pagefile est monté comme stockage de backing pour l'image mémoire.
Syntaxe Volatility 3
# Sans pagefile (le contenu paginé manque)
vol -f memory.dmp windows.pslist
# Avec pagefile (le contenu paginé est récupéré)
vol -f memory.dmp \
--layer "Stacker.layer0:PageFile=pagefile.sys" \
windows.pslist
La syntaxe --layer vous permet d'empiler un PagefileLayer au-dessus
de la couche mémoire physique, et la traduction de Volatility retombe
sur lui quand une PTE a le bit Pagefile positionné.
Note : la CLI exacte pour empiler les couches pagefile a évolué d'une
mineure à l'autre de Volatility 3 ; consultez vol --help et le -h
de windows.info pour votre build.
Syntaxe Volatility 2
Legacy mais encore beaucoup utilisé :
vol.py -f memory.dmp --profile=Win10x64_19041 \
--pagefile pagefile.sys \
pslist
Le flag --pagefile fonctionne pour la plupart des profils Win64 /
Win10. Pour les profils plus anciens, le flag peut ne pas être
supporté.
Syntaxe MemProcFS
MemProcFS expose la surface d'analyse sous forme de système de fichiers
virtuel dans lequel vous pouvez cd :
MemProcFS.exe -device memory.dmp -pagefile0 pagefile.sys
Le paramètre pagefile0 accepte un chemin ; pagefile1, pagefile2,
… peuvent être utilisés pour des pagefiles additionnels (serveurs
multi-volumes).
Une fois monté, des chemins comme :
M:\pid\1234\virt2phys.txt
M:\pid\1234\memory.vmem
M:\pid\1234\modules\…
… retournent du contenu avec les données paginées remplies depuis le pagefile de manière transparente.
Quel outil pour quoi
| Objectif | Meilleur outil |
|---|---|
| Parcourir processus, modules, handles, connexions réseau | Volatility 3 (avec --layer PageFile=) |
| Monter la mémoire comme système de fichiers ; triage interactif | MemProcFS |
| Carver du contenu d'un pagefile sans dump RAM | Ce parser |
| Chercher chaînes + IOC dans le pagefile sans dump RAM | Ce parser |
| Déchiffrer les secrets LSASS depuis la RAM | pypykatz / mimikatz / plugins Volatility |
Un triage IR complet implique généralement les trois : capture RAM pour l'analyse à chaud, pagefile pour le contenu paginé, et un balayage de chaînes pour les IOC rapides.
Workflow pratique
Un workflow de bout en bout raisonnable sur un hôte Windows :
- Acquérir la RAM (DumpIt, WinPMem, Magnet RAM Capture).
- Acquérir pagefile.sys (voir le billet dédié).
- Acquérir hiberfil.sys s'il existe (pourquoi) — c'est une seconde image mémoire plus riche.
- Éteindre, imager le disque.
- Première passe : déposer le pagefile dans ce parser pour un balayage IOC rapide — URL, IP, lignes de commande, credentials. C'est le chemin le plus rapide vers « est-ce qu'il y a quelque chose d'évidemment mauvais ici ? ».
- Deuxième passe : lancer MemProcFS avec le dump RAM + le pagefile. Parcourir les processus, dumper LSASS, vérifier les connexions réseau, examiner les drivers.
- Troisième passe : plugins Volatility 3 pour tout ce que MemProcFS ne couvre pas (plugins custom, extracteurs spécifiques à une famille de malwares).
- Recouper les trouvailles carvées contre les journaux EDR / Sysmon / EVTX pour l'ancrage temporel.
Et si vous n'avez que le pagefile ?
Cas courant lorsque la capture à chaud n'a pas été possible (verrouillé, BitLocker sans clé de récupération, attaquant déjà éteint, etc.) :
- Volatility / MemProcFS sont largement inutiles sans image RAM correspondante.
- Ce parser est votre outil. Carving + chaînes + artefacts produiront le signal le plus fort atteignable depuis le pagefile seul.
- La qualité de récupération est en contenu seul, pas en contexte — voir les limites.
Et si vous n'avez que le dump RAM ?
Cas courant en forensique cloud / VM où le pagefile vit sur le volume hyperviseur hôte et n'est pas facilement accessible :
- Volatility / MemProcFS fonctionnent, mais toute adresse paginée retourne zéro.
- Certains plugins échouent partiellement ; d'autres ne sont pas affectés (tout ce qui ne touche qu'aux pools noyau non paginés).
- Le pagefile est le supplément qui transforme une image mémoire partielle en image complète.
Les dumps de crash comme hybride
MEMORY.DMP issu d'un crash noyau est structurellement similaire à un
dump RAM et Volatility le lit nativement (--profile=… plus le
fichier). Il n'inclut pas le contenu du pagefile. Associez-le à
pagefile.sys de la même manière qu'avec une capture à chaud.
Liens connexes
- Comment acquérir pagefile.sys — récupérer le fichier d'abord.
- pagefile.sys vs hiberfil.sys vs swapfile.sys — ce que chacun contient, lequel récupérer quand.
- Limites de l'analyse de pagefile.sys — pourquoi le pagefile autonome et Volatility seul ne donnent chacun que la moitié de l'image.