5 Dec 2010

2eme GSDays - H@ckRam

H@ckRam

Le but de la présentation est de faire l'état de l'art de l'exploitation de la mémoire RAM sous Windows.

Caractéristiques

Ce type d'exploitation présente deux caractéristiques principales:
  • facilitation d'analyse des données extraites, car celles-ci sont rarement chiffrées en RAM, a l'inverse des disques durs ;
  • discrétion ; l'analyse post-mortem est plus difficile à effectuer ;

Outils

En cas d'accès avec les droits administrateur a la machine, les différents outils existant permettant d'effectuer un dump de la mémoire physique sont:
  • win32dd
  • dd (pour Windows)
  • MemoryDD
  • mdd_1.3.exe (plugin memdump de Metasploit)

Exploitations

Il existe différentes méthodes d'exploitations dont, en remote:
  • utilisation du plugin memdump de Metasploit, que l'orateur démontre en exploitant la faille bien connue MS08-67 (SMB), et en injectant mdd_1.3.exe sur la machine cible.
et en local:
  • exploitation du fichier hiberfil.sys. Ce fichier est crée lors de la mise en hibernation du système Windows, et n'est jamais supprime (!). Par défaut, ce fichier est protégé en lecture. Cette protection est contournable en utilisant hobocopy ;
  • utilisation de WinDbg via le port série ;
  • récupération du fichier crash dump, memorydump (suite a un BSOD) ;
  • accès DMA en utilisant le port FireWire. L'orateur mentionne qu'il suffit de 7 minutes pour récupérer 1Go de données ;
  • dans le cas d'une virtualisation, le fichier .vmem contient une image de la mémoire de la machine virtuelle, accessible en lecture ;
  • enfin, l'orateur insiste sur la persistance des données dans la mémoire physique en cas d'arrêt brutal (3 minutes a température ambiante, 10 minutes en refroidissant la barrette mémoire). La barrette peut être récupérée et placée sur un système dédié (mcgrewsecurity.com).

Analyse

L'analyse des données mémoires récupérées peut se faire a l'aide de technique classiques (utilisation de strings, hexdump, couplés à des expressions régulières) ou d'outils plus spécialisés dans le Forensic, tels que Volatility, Memorise, PTFinder, ...). Certains outils requièrent un format spécifique ; heureusement certains utilitaires ont été développés pour effectuer des conversions entre les formats dump/Raw/sys(hibernate)...

L'orateur montre qu'énormément de mots de passe de différentes applications apparaissent en clair dans la RAM, ce qui en fait un vecteur d'attaque privilégié.

Il montre aussi que lors de la suppression de l'historique des browser web, la mémoire se remplie avec l'intégralité de l'historique, ceci etant du à un accès en lecture à l'historique stocké sur le disque.

Cas de zones chiffrées

L'orateur détaille le principe de l'outil PassWareKit qui permet de récupérer la clé de déchiffrement d'un volume TrueCrypt à partir de l'analyse de la mémoire d'un système correctement exploité.

Elévation de Privilèges

  • Manipulation de la mémoire directement par port serie + windbg, en se basant sur des processus lancés avec des droits SYSTEM ;
  • En modifiant la librairie msv1_0.dll qui gère les authentifications, dans le fichier d'hibernation ;
  • En modifiant la librairie msv_1.0.dll par un accès DMA.

Protections

  • Protéger l'accès physique à la machine ;
  • Protéger l'accès au BIOS (pour éviter un boot sur USB, CD-ROM ou même boot sur le réseau) ;
  • Chiffrer le disque dur ;
  • Désactiver l'accès DMA (Firewire) ;
  • Désactiver le port série ;
  • Désactiver la veille prolongée ;
  • Désactiver, ou réduire la taille, du crash dump ;
  • Changer régulièrement de password ;
  • Avoir une bonne politique de mise à jour ;
  • Verrouiller la machine lorsqu'on s'éloigne d'elle.

Liens

Arnaud à mis en ligne le support de la présentation et le papier sur le sujet. Tout est disponible ici.