Quelque outils permettent d’avoir un image de la mémoire
Ces outils permettent d’avoir un format raw de la mémoire. Sur windows, vous avez aussi le fichier d’hibernation %SystemDrive%/hiberfil.sys qui est une image compressée.
Pour les machines virtuelles
- vmware : .vmem file
- Hyper-v : .bin file
- Parallels : .mem file
- VirtualBox : .sav file
Ces fichiers se retrouvent dans le datastore et il n’est pas nécessaire d’éteindre la machine virtuelle.
La première étape est d’informer volatility du bon profile mémoire. Pour se faire nous utilisons la commande imageinfo. Il va y avoir quelques Suggested Profile(s).
python2 vol.py -f cridex.vmem imageinfo
Nous essayons de trouver le bon avec la commande pslist. Avec le bon profile, nous avons plusieurs processus qui sont listés
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 pslist
Nous pouvons voir les connections réseaux établies (requiert un profile compatible)
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 netscan
Liste des processus cachés (analyser les lignes avec false). ici csrss.exe est caché
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 psxview
Nous pouvons voir aussi les modules injectés. Normalement aucune ligne ne devrait être listée avec false
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 ldrmodules | grep -i false
Nous pouvons voir aussi les modifications dans dll standard du système
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 apihooks
Le code injecté est un indice d’une infection. Nous pouvons récupérer ce code avec la commande malfind
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 malfind -D /home/r0cker/dump
Nous pouvons aussi extraire les dlls infectés avec
python2 vol.py -f cridex.vmem --profile=WinXPSP2x86 --pid=584 dlldump -D /home/r0cker/dump #le pid 584 a été trouvé précédemment comme un processus injecté. Nous trouvons les dlls utilisés par celui-ci
Nous pouvons téléverser les fichiers extraits sur virustotal.com ou hybrid-analysis.compour connaître le nom du virus impliqué.
Ressources