Volatility

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Forensics — analyse de mémoire vive
Type Framework d'analyse de dumps mémoire
Voir aussi Autopsy, Forensics

Volatility est un framework d'analyse de dumps mémoire (RAM) : il permet de manipuler, scanner et auditer une image de mémoire vive pour en extraire processus, clés de registre, fichiers, connexions réseau et autres artefacts — un pilier de l'investigation numérique.

Acquérir un dump mémoire

Sous Windows, on utilise par exemple DumpIt. Sous Linux, plusieurs approches :

# Vidage du tas d'un processus via gdb
gdb --pid 21360

# Extraction des segments rw-p depuis /proc/<pid>/maps
grep rw-p /proc/$1/maps \
  | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' \
  | while read start stop; do \
      gdb --batch --pid $1 -ex "dump memory $1-$start-$stop.dump 0x$start 0x$stop"; \
    done

# Ou un core complet
gcore 21360

Analyse

Identifier le profil du dump, puis explorer :

# Déterminer le profil de l'image mémoire
volatility -f forensic2.raw imageinfo

# Lire une clé de registre
volatility --profile=WinXPSP2x86 -f forensic2.raw printkey -K "Software"
volatility --profile=WinXPSP2x86 -f win7.dmp \
    printkey -K "Microsoft\Security Center\Svc"

# Rechercher des fichiers image dans la mémoire
volatility --profile=WinXPSP2x86 -f dump.raw filescan \
    | egrep --color 'jpg|gif|png|img'

Emplacement physique des ruches (Windows 7)

HKLM\SYSTEM    : \system32\config\system
HKLM\SAM       : \system32\config\sam
HKLM\SECURITY  : \system32\config\security
HKLM\SOFTWARE  : \system32\config\software
HKU\UserProfile: \winnt\profiles\username
HKU\.DEFAULT   : \system32\config\default

Interface graphique

Evolve fournit une interface web au-dessus de Volatility (choix dynamique des profils, entre autres) : https://github.com/JamesHabben/evolve/

Voir aussi