La plateforme Volatility est une collection d'outils complètement ouvert, développé en Python sous licence GNU General Public, pour l'extraction d'objets numériques de la mémoire volatile (RAM) et des échantillons. Les techniques d'extraction sont effectuées complètement indépendamment du système étudié, mais offrent une visibilité sans précédent dans l'état d'exécution du système. Le cadre est destiné à présenter les techniques et la complexité associés à l'extraction des objets numériques à partir d'échantillons de la mémoire volatile et fournir une plate-forme pour les travaux futurs dans ce domaine de recherche passionnant qu'est le Forensic. Source : [wiki] / Traduction : Google





0x01. INSTALLATION


Il suffit d'avoir un client SVN et de taper sur le répertoire fourni par l'installation des développeurs :


# Téléchargement du SVN
svn checkout http://volatility.googlecode.com/svn/trunk/ volatility-read-only
vim Volatility-1.4_rc1/vol.py
 
# Remplacer l entête (première ligne) par :
"#!/usr/bin/python"
"#!/usr/bin/env python"
 
# Copier dans le PATH
sudo cp -r Volatility-1.4_rc1 /usr/local/
sudo ln -sv /usr/local/Volatility-1.4_rc1/vol.py /usr/local/bin/volatility

Pour plus de détails, et pour respect du projet, merci de vous rendre sur la page d'origine :

http://code.google.com/p/volatility/wiki/FullInstallation





0x02. ETUDE D'UN CAS NDH2011 : FORENSIC100


Il s'agit d'une épreuve de Forensic, d'analyse digitale post-mortem. Dans le cas présent, les instructions sont de trouver le mot de passe utilisé par le serveur VNC qui était sur la machine. Un fichier brute d'un sytème d'exploitation nous est fourni.

Après avoir analysé le fichier, il s'agit une image mémoire d'un Windows.
Pour le savoir nous avons analysés le fichier :


fdisk -l fichier.raw
# Aucune partition valide
 
hexdump -C fichier.raw|less
# Des traces du système d exploitation Windows

Le programme Volatility semble parfaitement pertinent. Voici les différentes étapes à suivre pour la résolution du challenge.
Le challenge étant fini il ne s'agit pas de spoiler.


# Obtenons la liste des processus
volatility pslist -f dump.raw

C'est WinVNC4 qui nous intéresse :
0x81dea980		 winvnc4.exe            1696    684      3     67 2011-03-10 13:09:47 
# Véritions que notre process possède une entrée dans le registre :
volatility regobjkeys -f dump.raw -p 1696

0xe10f5a48 Key    MACHINE/SOFTWARE/REALVNC/WINVNC4        
0xe1bb4020 Key    MACHINE/SYSTEM/CONTROLSET001/SERVICES/WINSOCK2/PARAMETERS/PROTOCOL_CATALOG9

On sait donc que l'offset qui nous intéresse est compris entre 0xe10f5a48 et 0xe1bb4020
# On recherche l offset des fichiers contenant les registre
volatility hivelist -f dump.raw

Contient les paramètres des logiciels installés :

Virtual     Physical
0xe13ffb60  0x02f2bb60  /Device/HarddiskVolume1/WINDOWS/system32/config/software
# Dans l aide de : volatility printkey -h on a :
"-o HIVE_OFFSET, --hive-offset=HIVE_OFFSET Hive offset (virtual)"
# Donc : 
volatility printkey -f dump.raw -o 0xe13ffb60
#>  Fourni les logiciels installés 
 
# La branche RealVNC nous interesse !
volatility printkey -f dump.raw -o 0xe13ffb60 -K RealVNC
 
# La branche WinVNC4 nous interesse !
volatility printkey -f dump.raw -o 0xe13ffb60 -K "RealVNC/WinVNC4"




0x03. CONCLUSION


Nous avons donc le mot de passe chiffré, avec la méthode de RealVNC. Ce chiffrage est faillible et ici n'est pas le but de résoudre le challenge mais de mettre en évidence l'utilisation et surtout la capacité du framework Volatility dans le travail des consultants en forensic.

Références :
http://steeve-barbeau.blogspot.com/
http://www.computersecurityarticles.info/security/memory-registry-tools/




   =>   Écrit par : Nicolas, le 25 juin 2015


 
Mots clés :  
  forensic 
  
  windows 
    >   Articles connexes :

Antiforensic



Comment gagner du temps sur Internet



Durcissement de Windows



6179514