Exécution
Vidages mémoire (MEMORY.DMP, minidumps)
Fiche vidages mémoire : emplacements de MEMORY.DMP et des minidumps, types CrashControl, vidages en mode utilisateur, traces de dump LSASS et outils d'analyse.
- Emplacement
- C:\Windows\MEMORY.DMP
- Prouve
- L'état mémoire lors d'un plantage, le pilote ou processus fautif, et les dumps d'un attaquant
- Horodatages
- Heure système de l'en-tête du dump en UTC ; horodatages NTFS du fichier (MEMORY.DMP écrit au redémarrage suivant le crash) ; événement System 1001
- Rétention
- MEMORY.DMP écrasé par le dump noyau suivant, parfois supprimé si le disque manque d'espace ; minidumps plafonnés en nombre, les plus anciens supprimés
- Accès
- Administrateur pour les dumps sous les dossiers Windows et ProgramData ; les dumps en mode utilisateur sont dans le profil
- Preuve de
- Exécution
- Type
- Fichier / système de fichiers
- Windows
- XPVista / 78 / 8.11011
- Cible KAPE
- MemoryFilesWER
- Velociraptor
- Windows.Triage.Targets:MemoryFilesWER
Outils
Comparer tous les outilsPrésentation
Un vidage mémoire (crash dump) est une copie de la mémoire écrite lors d'une défaillance. Les plantages du noyau (écrans bleus) produisent MEMORY.DMP et/ou un petit minidump ; les plantages d'applications peuvent produire des vidages en mode utilisateur via Windows Error Reporting. Des vidages sont aussi créés volontairement : les administrateurs s'en servent pour déboguer, et les attaquants vident la mémoire de lsass.exe pour voler des identifiants. En forensique, un vidage noyau est une image mémoire de la machine au moment du plantage, et tout fichier .dmp de lsass est un indicateur fort de compromission.
Emplacement
| Type | Emplacement par défaut | Remarques |
|---|---|---|
| Vidage noyau / complet / automatique | %SystemRoot%\MEMORY.DMP | Chemin dans DumpFile sous SYSTEM\CurrentControlSet\Control\CrashControl |
| Petit vidage (minidump) | %SystemRoot%\Minidump\*.dmp | Chemin dans MinidumpDir |
| Vidages en mode utilisateur (WER LocalDumps) | %LOCALAPPDATA%\CrashDumps\*.dmp | Configurés sous SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps |
| Pièces jointes des rapports WER | C:\ProgramData\Microsoft\Windows\WER\ | Voir Windows Error Reporting |
| Vidages manuels / d'attaquant | N'importe où (%TEMP%\lsass.DMP depuis le Gestionnaire des tâches, chemins personnalisés) | Recherche par extension et signature |
CrashDumpEnabled dans CrashControl : 0 aucun, 1 complet, 2 noyau, 3 petit, 7 automatique (valeur par défaut depuis Windows 8).
Ce que l'artefact prouve
- Un vidage noyau montre ce qui était chargé et en cours d'exécution au moment du plantage : processus, pilotes (dont un pilote malveillant ou vulnérable à l'origine du plantage), structures réseau et objets noyau.
- Un minidump identifie le code d'arrêt (bug check) et le pilote ou module fautif.
- Un vidage en mode utilisateur de
lsass.exemontre que quelqu'un a vidé la mémoire des identifiants ; ses horodatages de système de fichiers datent la tentative de vol. - Un vidage complet contient aussi la mémoire utilisateur ; un vidage noyau n'inclut pas les pages des processus utilisateur.
Champs clés
| Élément | Signification |
|---|---|
Signature PAGEDU64 / PAGEDUMP | En-tête de vidage noyau 64 bits / 32 bits |
Signature MDMP | Minidump en mode utilisateur (également produit par procdump et comsvcs.dll MiniDump) |
| Code d'arrêt et paramètres | Raison de l'écran bleu |
| Heure système dans l'en-tête | Heure du plantage |
Horodatages
| Horodatage | Positionné quand | Format | Pièges |
|---|---|---|---|
| Heure système de l'en-tête | Plantage ou création du vidage | UTC | À lire avec WinDbg (.time) ou un parseur |
| Horodatages $SI du fichier | Écriture du vidage sur disque | NTFS, UTC | MEMORY.DMP est écrit au redémarrage qui suit le plantage, à partir du fichier d'échange |
| Événement System 1001 (BugCheck) | Redémarrage après un code d'arrêt | UTC | Donne le code d'arrêt et le chemin du vidage |
Rétention et effacement
MEMORY.DMPest écrasé par le vidage noyau suivant (sauf siOverwriteest désactivé) ; Windows peut le supprimer automatiquement en cas de manque d'espace disque.- Les minidumps s'accumulent, les plus anciens étant supprimés au-delà du nombre configuré.
- Le Nettoyage de disque et la gestion de la file WER suppriment les anciens vidages ; les attaquants suppriment leurs dumps LSASS après les avoir exfiltrés : vérifiez la $MFT et le journal USN pour des fichiers
.dmpcréés puis supprimés.
Collecte
- Cibles KAPE :
MemoryFiles(minidumps, plus hiberfil/pagefile) etWER(MEMORY.DMPet autres*.dmpdeC:\Windows, dossiers WER,CrashDumps). - Velociraptor (
Windows.Triage.Targets) :MemoryFiles,WER. - Commandes natives :
reg query HKLM\SYSTEM\CurrentControlSet\Control\CrashControl
dir /s /a C:\*.dmp
wevtutil qe System /q:"*[System[(EventID=1001)]]" /f:text /c:5
Outils d'analyse
- WinDbg (Microsoft) :
!analyze -vpour la cause du plantage,lmpour les modules chargés,.timepour l'heure du plantage. - Volatility 3 : lit les vidages Windows comme une couche mémoire et exécute les plugins
windows.*(processus, pilotes, réseau). - MemProcFS (open source) : monte images mémoire et vidages comme un système de fichiers.
- BlueScreenView (NirSoft) : liste les minidumps avec codes d'arrêt et pilotes fautifs.
Le RAM Parser traite directement les vidages complets et noyau.
Conseils d'investigation
- Cherchez partout sur le disque les fichiers
.dmpcontenantlsassdans leur nom ou un en-têteMDMP, ainsi que les outils qui les produisent :procdump -ma lsass.exe,rundll32.exe comsvcs.dll, MiniDump, « Créer un fichier de vidage » du Gestionnaire des tâches. Ce sont des schémas classiques de vol d'identifiants par LOLBin. - Un écran bleu juste après l'installation d'un nouveau pilote peut trahir un rootkit raté ou une tentative « bring your own vulnerable driver » : vérifiez le module fautif et les services.
- Utilisez le vidage noyau comme image mémoire : comparez ses listes de processus et de pilotes avec le Prefetch et Amcache.
- Extrayez les modules suspects du vidage et triez-les comme des fichiers PE.
Artefacts liés
- Rapports d'erreurs Windows (WER)Fiche Windows Error Reporting : dossiers Report.wer, champs AppPath et SHA-1, événements Application 1000/1001/1002, vidages LocalDumps et rétention.
- hiberfil.sys (fichier d'hibernation)Fiche hiberfil.sys : ce que sauvent l'hibernation et le démarrage rapide, compression selon la version, conversion en image mémoire brute.
- pagefile.sys et swapfile.sysFiche pagefile.sys et swapfile.sys : mémoire paginée sur disque, données récupérables, ClearPageFileAtShutdown, compression et outils de carving.
- Journaux d'événements Windows (EVTX)Fiche des journaux d'événements Windows : emplacements EVTX, ID indispensables (connexions, processus, services, effacement), rétention, audit et outils.
- Fichiers PE (exécutables Windows)Fiche de tri des fichiers PE : hash, imphash et en-tête Rich, limites de la date de compilation, sections et entropie, informations de version, signatures, PDB.
Termes du glossaire
- Ordre de volatilitéLe principe consistant à collecter d'abord les preuves les plus volatiles, avant qu'elles ne disparaissent, comme décrit dans la RFC 3227.
- ID d'événement WindowsLe numéro qui identifie un type d'événement au sein d'un fournisseur donné ; il n'a de sens qu'associé à ce fournisseur et à son canal.
- LOLBin (binaire living-off-the-land)Binaire Windows légitime et signé que les attaquants détournent pour télécharger, exécuter ou dissimuler une charge sans déposer leurs outils.