Vous êtes sur la page 1sur 64

HERV SCHAUER CONSULTANTS

Cabinet de Consultants en Scurit Informatique depuis 1989 Spcialis sur Unix, Windows, TCP/IP et Internet

OSSIR Groupe SUR 8 juillet 2008

VMware et scurit
Julien Raeis <Julien.Raeis@hsc.fr> Nicolas Collignon <Nicolas.Collignon@hsc.fr>

Agenda
Rappels sur la virtualisation Mesures de scurit intgres VMware Virtualisation et DMZ Revue des vulnrabilits Retour d'exprience HSC

2/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Rappels sur la virtualisation

3/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Dfinitions

Virtuel : Se dit des lments (terminaux, mmoire...) d'un systme informatique considrs comme ayant des proprits diffrentes de leurs caractristiques physiques - Grand Dictionnaire Encyclopdique Larousse Virtualisation : abstraction des ressources d'un systme informatique.

4/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Historique
Concept introduit dans les annes 60
But : partitionner les ressources des coteux mainframes de l'poque IBM M44/44X, naissance du terme pseudo-machine
Premire implmentation de machines virtuelles

IBM CP-40
Systme tournant sur S/360-40

Perte d'intrt dans les annes 80


Dport des applications sur des clients et serveurs x86
Architecture bon march

Mais cots d'infrastructure physique levs, manque de protection en cas de panne, maintenance des postes de travail coteuse, etc.

5/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation de l'architecture x86


Problme
Architecture non-prvue pour la virtualisation 17 instructions ne peuvent tre virtualises simplement

1999 : VMware propose une solution


Interception ( trap ) et conversion de ces instructions Excution directe des autres instructions par le processeur

6/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Chronologie
2005 et 2006 Extensions VT-x et AMD-V 26 juin 2008 Microsoft Hyper-V

~1960 IBM M44/44X

2001 Microsoft Virtual PC VMware ESX

1999 VMware Workstation

2003 Xen (para-virtualisation)

2007 KVM intgr Linux

7/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 1/6
Au moins 7 types diffrents !
mulation Virtualisation partielle Virtualisation complte Para-virtualisation Virtualisation native Virtualisation par zones Virtualisation applicative etc.

8/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 2/6
mulation
Simulation intgrale du matriel QEMU, PearPC, Bochs Principe des mulateurs des vieux ordinateurs/consoles de jeu
Amiga, Atari, etc.

Virtualisation partielle
Partage de ressources matrielles par abstraction Implmentation rpandue
Adressage virtuel des processus Linux, Windows, etc.

9/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 3/6
Excution classique
Applications en Ring 1, 2 ou 3 Systme d'exploitation en Ring 0 Excution indpendante

Ring 3 Ring 2 Ring 1 Ring 0

Applications

Systme d'exploitation (OS) Couche matrielle

10/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 4/6
Virtualisation complte
Applications en Ring 3 Systme invit en Ring 1 En Ring 0
Systme d'exploitation hte Moniteur de machines virtuelles

Ring 3 Ring 2 Ring 1 Ring 0

Applications

Technique de traduction binaire


la vole par VMware par exemple Traduit les instructions nonvirtualisables

OS invit OS hte + VMM Couche matrielle

11/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 5/6
Para-virtualisation
Applications en Ring 3 En Ring 0
Systme d'exploitation modifi pour raliser des appels ( hypercalls ) directement la couche de virtualisation Couche de virtualisation tournant dans l'OS hte

Ring 3 Ring 2 Ring 1

Applications

OS invit modifi Ring 0 Hyperviseur Couche matrielle

Les instructions non-virtualisables sont directement traduites par le biais d'appels spciaux

12/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Virtualisation(s) - 6/6
Virtualisation native
Applications en Ring 3 En Ring 0
Systme d'exploitation invit NONmodifi

Ring 3 Ring 2 Ring 1 Ring 0

Applications

Couche de virtualisation tourne sous le mode Ring 0 Traitement systmatique des instructions problmatiques par la couche de virtualisation
le rle des hypercalls

OS invit Hyperviseur Couche matrielle

Mode Extensions des processeurs jouent root

tat des invits stock dans des structures ddies du mode racine
13/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Agenda

Mesures de scurit intgres VMware

14/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Deux types de produits


Deux types de produits
Hbergs ( hosted )
VMware Workstation, Server, Player, Fusion Moniteur de machines virtuelles tourne sur l'OS hte

Hyperviseur
VMware ESX et ESXi VMKernel pour le rapport avec le matriel et la virtualisation Systme Linux pour le charger en mmoire, ensuite virtualis

15/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

VMware ESX
Avant la 3.0
Dmarrage sur un systme Linux comme support Chargement de modules propritaires VMware
Moniteur de machines virtuelles Gestion du systme de fichiers VMFS

Depuis la 3.0
Dmarrage sur un systme Linux Chargement de modules propritaires
Pivot sur VMkernel qui prend la main Chargement des pilotes matriels par VMkernel (et non Linux) Virtualisation du systme Linux sous-jacent ( Service console ) Lancement du moniteur de machines virtuelles, pilote VMFS, etc.
16/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Mcanismes de scurit - 1/3


Authentification et contrle d'accs
Utilisation de PAM pour VMware Server et ESX sous Linux Interfaage possible avec Active Directory

Communications chiffres
Entre VMware Infrastructure Client/Server Console et le serveur

Isolation entre hte et invits


Par l'hyperviseur, au niveau systme et rseau (virtuel, bien sr)

Bientt : VMSafe
API de communication avec l'hyperviseur Prochaine version d'ESX Tellement sr que VMware demande un NDA pour avoir des infos
17/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Mcanismes de scurit - 2/3


Options de configuration (pas toujours) documentes
http://sanbarrow.com/vmx.html Notamment, pour la scurisation :
Isolation.tools.copy.enable = FALSE isolation.tools.paste.enable = FALSE isolation.tools.hgfs.disable = TRUE isolation.tools.dnd.disable = TRUE ... # Copier # Coller # Dossiers partags # Drag'n'Drop

Restrictions d'authentification par PAM


#%PAM-1.0 auth required pam_unix.so shadow nullok account required pam_listfile.so item=group sense=allow file=/etc/vmware/vmwaregroup onerr=fail account required pam_unix.so
18/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Mcanismes de scurit - 3/3


Service console de VMware ESX
Pare-feu par l'outil esxcfg-firewall Bas sur netfilter/iptables MAIS ! Interdiction de rajouter des rgles manuellement sous peine de perdre le support VMware

Autres mcanismes d'ESX


Propagation du bit NX aux processeurs virtuels Dsactivation de l'Hyper-threading Systme de rles (type RBAC) pour les utilisateurs de VI Protections rseau niveau 2 Segmentation rseau par VLANs (sur les commutateurs virtuels par exemple)
19/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Revue des vulnrabilits

20/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Historique des avis de scurit


Diffusion de correctifs de scurit
De 2003 2005
Pas de centre de scurit VMware 10 vulnrabilits corriges

Puis mise en place d'un systme d'alertes et d'avis


2006 : 10 avis pour 17 vulnrabilits 2007 : 6 avis pour 25 vulnrabilits 2008 : 10 avis pour pour 31 vulnrabilits (au 16 juin 2008)

Avis touchent la fois


Les produits VMware Les paquets tiers (Service Console de ESX Server)

21/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Rcapitulatif des vulnrabilits


Anne 2003 2004 2005 2006 2007 2008 Total 3 6 2 17 25 31 ESX 3 5 0 16 23 25 Virtualisation hberge 1 2 2 2 8 14 Produits VMware 0 3 2 7 8 8 Produits tiers 3 3 0 10 17 23 Sortie de l'isolation 0 0 1 0 1 2

4 sorties d'isolation
Depuis l'invit vers l'hte 3 ncessitent des conditions particulires, non-prsentes par dfaut 2 sont uniquement valables sur VMware Workstation et Player

Quelques lvations de privilges


Dans l'invit avec les VMware Tools notamment Dans l'hte par des produits tiers ou vmware-authd
22/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Retour d'exprience

23/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Expriences HSC
Audits sur plates-formes de virtualisation
ESX Server uniquement Audit de configuration Audit d'architecture Intgration de la virtualisation en DMZ

Travaux de recherche
Communications avec l'hyperviseur Protocoles de communication Gestion des sessions Les Shared Folders Comment exploiter une vulnrabilit dans l'hyperviseur
24/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Configuration - 1/2
Correctifs de scurit
Pas d'automatisation Dploiement rgulier tout de mme

Service console
Minimisation des services dploys
Outils de supervision CIM Activation du SNMP Serveur HTTP de gestion dsactiv

Activation du pare-feu Restriction du service SSH

25/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Configuration - 2/2
VMware Virtual Center
Cration d'utilisateurs et rles prcis
Administrateurs de machines virtuelles (avec droit de redmarrage) Administrateurs ESX (accs la configuration des VMs)

Partage des ressources strict pour viter les dnis de service

Systmes invits
Dploiement des VMware Tools (minimiss) Considrs comme des machines physiques Options d'isolation actives
Copier/coller, Drag'n'Drop, etc.

Suppression des priphriques virtuels inutiles


26/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Architecture - 1/2
Sparation stricte de la console de service Pas bien !

Bien !

27/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Architecture - 2/2
Autres possibilits d'amlioration
Pare-feu de primtre Pare-feu virtuel (cf. plus loin) Utilisation de VLANs
Dans ce cas, premire architecture vue prcdemment peut tre OK Trois niveaux :
Invits Commutateurs virtuels Commutateur physique la sortie du rseau virtuel

Dans tous les cas, filtrer les entres/sorties de la console de service


Point critique : hte compromis == architecture compromise

28/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Intgration en DMZ - 1/5


Trois possibilits
Chacune offre un degr supplmentaire de virtualisation : 1. Virtualisation de chaque DMZ 2. Virtualisation globale de toute les DMZ avec segmentation 3. Virtualisation globale, pare-feu inclus

29/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Intgration en DMZ - 2/5


Schma classique

30/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Intgration en DMZ - 3/5

31/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Intgration en DMZ - 4/5

32/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Intgration en DMZ - 5/5

33/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Un peu de recherche

34/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Les interrogations
Comment l'hyperviseur peut-il obtenir des informations sur les systmes virtualiss ?
Adresses MAC Adresses IP ...

Par o passent les I/O sur les Shared Folders ? Copy/paste, DND, obscurit, ...

35/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : pourquoi ?
Ncessit de communiquer entre l'invit et l'hyperviseur Doit fonctionner sans que l'invit puisse tablir des connexions rseaux vers l'hyperviseur Qui ?
Driver HGFS VMware Tools API Vix ...

36/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor
Terminologie non fantasme :)
$ strings vmware-vmx | grep -i backdoor | wc -l 23

2 ports I/O
0x5658 VX 0x5659 VY commandes lectures / critures

37/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : authentification ?
Qui peut utiliser la backdoor depuis l'invit ?
Le kernel (ex: hgfs.sys) Les applications (ex: VmwareHgfsClient.exe)

Aucun point de centralisation dans l'invit


Impossible de dterminer les droits du client Du point de vue de l'hyperviseur :
root = nobody SYSTEM = Invit

38/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : utilisation sur x86


Paramtres des commandes passs par les registres
Registre eax ebx ecx edx esi edi ebp Contenu Signature VMXh Argument spcifique la commande Commande Descripteur de canal (Channel handle) Dpend du type de commande VX ou VY

Lecture (in) ou criture (out) sur les 2 ports d'I/O


movl movl movl movl inl $0x00005658, $0xffff000a, $0xa9b2a797, $0x564d5868, (%dx), %eax %edx %ecx %ebx %eax /* VX */ /* VMXh */

39/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : utilisation sur x86

C:\temp> vmrpc -v call "info-get guestinfo.ip" io[c] ebx=c9435052 ecx=0000001e edx=ffff5658 esi=00000000 ebx=c9435052 ecx=00010000 edx=00050000 esi=9c0eefdb io[c] ebx=00000015 ecx=0001001e edx=00055658 esi=9c0eefdb ebx=00000015 ecx=00810000 edx=00055658 esi=9c0eefdb io[w] ebx=00010000 ecx=00000015 edx=00055659 esi=003d23cf ebx=00010000 ecx=00000000 edx=00055659 esi=003d23e4 io[c] ebx=00000015 ecx=0003001e edx=00055658 esi=9c0eefdb ebx=00000009 ecx=00830000 edx=00010000 esi=9c0eefdb io[r] ebx=00010000 ecx=00000009 edx=00055659 esi=9c0eefdb ebx=00010000 ecx=00000000 edx=00055659 esi=9c0eefdb io[c] ebx=00000001 ecx=0005001e edx=00055658 esi=9c0eefdb ebx=00000001 ecx=00010000 edx=00055658 esi=9c0eefdb ==> 1 192.168.0.11 io[c] ebx=00000000 ecx=0006001e edx=00055658 esi=9c0eefdb ebx=00000000 ecx=00010000 edx=00055658 esi=9c0eefdb

edi=00000000 edi=7d721754 edi=7d721754 edi=7d721754 edi=7d721754 edi=7d721754 edi=7d721754 edi=7d721754 edi=003d2510 edi=003d2519 edi=7d721754 edi=7d721754

ebp=00000000 ebp=00000000 ebp=00000000 ebp=00000000 ebp=9c0eefdb ebp=9c0eefdb ebp=00000000 ebp=00000000 ebp=7d721754 ebp=7d721754 ebp=00000000 ebp=00000000

==> 1 ==> -127 ==> 1 ==> -125 ==> 1 ==> 1

edi=7d721754 ebp=00000000 edi=7d721754 ebp=00000000 ==> 1

40/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : utilisation annexe


Dtecter si un systme est virtualis ou pas
Une mthode parmi beaucoup d'autres (IDT, GDT, ACPI ...)

Historique 2002 Premiers virus dtectant VMware 2005 Premiers virus infectant les invits depuis l'hte 2007 Une variante de Storm dtecte VMware et Virtual PC Modification du flot d'excution
Bloquer le code malveillant pour viter l'analyse dans une sandbox Modifier la charge utile pour infecter l'environnement virtualis

41/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : protocoles
2 ~protocoles~ de communication
Hypervisor

RPCI
l'initiative du guest
TCLO HGFS Server ... RPCI VMware Tools ...
42/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

TCLO
l'initiative de l'hte

Guest

Concepts
Protocole connect Principalement ASCII Descripteur de canal
Cod sur 16 bits ~8 descripteurs disponibles (0-8)
... open channel Select channel # + Generate SID

Identifiant de session
Cod sur 64 bits Gnr par l'hyperviseur (alatoire)
43/64

close channel

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Protocole RPCI
~ 50 commandes
log <msg> tools.set.version <ver> upgrader.setGuestFileRoot <int> <path> info-get guestinfo.<key> info-set guestinfo.<key> <val> ...

Rponse de l'hyperviseur : <0|1> [data] Ex : commande log


C:\temp> vmrpc call "log coucou c'est nous" ==> 1 vcpu-0| Guest: coucou c'est nous
44/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Protocole RPCI
Possibilit de bloquer presque toutes les commandes
Commande
tools.capability.resolution_set tools.capability.resolution_min tools.capability.printer_set vmx.capability.edit_scripts copypaste.hg.copy.files disk.shrink ...

Paramtre
resolutionSetDisable resolutionMinDisable printerSetDisable scriptEditDisable copyDisable diskShrinkDisable ...

Attention aux effets de bord ... :)

45/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Protocole TCLO
Lecture de commandes TCLO intervalles prdfinis ~ 30 commandes gres par l'hyperviseur
Capabilities_Register Set_Option <str> <str> Vix_1_Open_Url <str> <str> <str> Time_Synchronize <int> Resolution_Set <int> <int> OS_Suspend ...

Rponse de l'invit : <OK|ERROR> [data]

46/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Protocole TCLO : flux d'excution


tools.capability.hgfs_server toolbox 1 reset OK ATR toolbox Capabilities_Register tools.capability.statechange tools.capability.auto_upgrade 2 tools.capability.guest_temp_directory 1 C:\temp vmx.capability.unified_loop toolbox OK Set_Option broadcastIP 1 info-set guestinfo.ip 0.0.0.0 OK

open channel open channel

announce app. type

reset announce app. type


RPCI / guest TCLO / guest TCLO / host

command answer
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

command(s)

47/64

Les sessions
Secrets de sessions
gnr via /dev/urandom sous Linux (pas de #ifdef PURIFY) 64 bits rpartis sur 2 registres
esi + edi pour les requtes ebp + edi pour les I/O VX VY

Expiration des sessions aprs inactivit : ~1 min Certaines sessions sont quasi-permanentes
Ex: service VMware, HGFS, etc.

48/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Attaques sur les sessions ?


Pourquoi ?
Pas d'authentification spoofer un client RPCI/TCLO depuis un compte non privilgi de l'invit vis--vis de l'hyperviseur. Intercepter les oprations de DND sur la console distance Remonter des fausses informations dans la console de supervision depuis un compte non privilgi Empcher le bon fonctionnement des agents VMware depuis un compte non privilgi

Intrt limit si accs local privilgi

49/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Sessions : pseudo DoS


Blocage des canaux RPC disponibles
C:\temp> vmrpc block blocked channel 5 blocked channel 6 blocked channel 7 blocked channel 1 blocked channel 0 vcpu-0| GuestMsg: Too many channels opened

Seule les sessions permanentes sont utilisables


C:\Program Files\VMware\VMware Tools> VMwareHgfsClient.exe [hgfsclient] WARNING: Failed to create RPC channel

50/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Sessions : MITM
Trouver l'identifiant de 64 bits ?
pour intercepter les messages mis par l'hyperviseur pour usurper l'identit d'un client RPC de l'invit

Journalisation de l'attaque
vcpu-0| vcpu-0| vcpu-0| vcpu-0| ... GuestMsg: GuestMsg: GuestMsg: GuestMsg: Channel Channel Channel Channel 1, 1, 1, 1, Wrong Wrong Wrong Wrong cookie. cookie. cookie. cookie. Man Man Man Man in in in in the the the the middle middle middle middle attack? attack? attack? attack?

rotation des journaux + commande log pour nettoyer les journaux ...

Trop long ...


51/64

100 000 tests / seconde

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Sessions : identification applicative


L'hyperviseur identifie les applications avec un label
Spcifi par l'invit Permet souvent de filtrer les messages TCLO envoys l'invit
vmx.capability.unified_loop <appname> tools.capability.hgfs_server <appname> <int>

Quelques labels reconnus par l'hyperviseur


toolbox, toolbox-ui, toolbox-dnd tools-upgrader, tools-sso, tools-hgfs ...

52/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Sessions : identification applicative


Journalisation des labels inconnus
C:\temp> vmrpc tclo "OK ATR test" > reset > Capabilities_Register vcpu-0| Tools_SetAppRunningStatus: Unknown app name 'test'

Journalisation des identifications


vcpu-0| GuestRpc: Channel 5, registration number 1, guest application tools-upgrader.

L'hyperviseur vrifie si l'application est dj identifie


vcpu-0| GuestRpc: Channel 5, conflict: guest application toolbox-dnd tried to register but it is still registered on channel 2

53/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

HGFS
Host Guest File System Partage plusieurs rpertoires entre l'invit et l'hyperviseur I/O l'initiative de l'invit protocole RPCI
Commande : f

Messages binaires
~10 commandes HGFS
+2 f +6 +10 commande arguments...

00 00 00 00

54/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

HGFS : listage d'un rpertoire


+2 f +6 +10 +14 index 00 00 00 00 05 00 00 00 descripteur

Commande HGFS f 1 f 1 f 1 f
55/64

00 00 00 00

05 00 00 00

xx xx xx xx 01 00 00 00 xx xx xx xx 02 00 00 00 xx xx xx xx 03 00 00 00 xx xx xx xx

00 00 00 00 . 01 00 00 00 .. 02 00 00 00 tmp ...

mta-informations 00 00 00 00 05 00 00 00

mta-informations 00 00 00 00 05 00 00 00

mta-informations 00 00 00 00 05 00 00 00

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Backdoor : en bref ...


Impossible d'authentifier le client RPCI ou TCLO 2 protocoles de communication, ~90 commandes Une soupe de messages ASCII, binaires, base64, ...

56/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Un rve ...
Et si tout hasard ...
Une vulnrabilit dans l'hyperviseur ... permettait d'crire dans la mmoire du processus hte

Et si ...
Une fuite d'information dans l'hyperviseur ... permettait de localiser la mmoire de l'invit dans le processus hte

Alors ...

57/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Exploitation
Intrt
Obtenir un accs sur l'hyperviseur depuis un compte non privilgi de l'invit

ProblmeS
Ne pas tout casser ... Rcuprer le rsultat d'un shellcode

Faits
1 processus dans l'hte / machine virtuelle 1 thread / session RPCI moins de risques de bloquer l'invit

58/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Exploitation
Surcharge d'une commande RPCI dj enregistre
Commandes RPCI tableau dynamique Commandes HGFS tableau statique
vtable function #1 function #2 function #3 function #4 function #5 ...
59/64

vtable function #1 function #2 function #3 function #4 &shellcode ...

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Exploitation
HGFS
Localisation du tableau en identifiant la version de l'hyperviseur ex: commandes RPCI, contenu de l'IDT ou de la GDT, ... Pas disponibles sur toutes les versions de VMware Dysfonctionnement de HGFS

RPCI
Localisation du tableau avec une vulnrabilit annexe Impact minimal

Shellcode stock dans les tampons d'I/O RPCI


Adresse +/- stable Toujours en mmoire tant que l'I/O n'est pas termine
60/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Conclusion

61/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Scurit de la virtualisation ou virtualisation de la scurit ?


G1 G2 G3

Security module Hypervisor

G1

G2

G3

Security module Hypervisor

G1

G2

G3

Security module Hypervisor


62/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Rfrences
http://www.vmware.com/ http://www.vmware.com/security/ http://communities.vmware.com/ http://www.virtualization.info/ http://chitchat.at.infoseek.co.jp/vmware/backdoor.html http://sanbarrow.com/

63/64

Copyright Herv Schauer Consultants 2008 - Reproduction Interdite

Merci !

Merci de votre attention Questions ?


Julien.Raeis@hsc.fr Nicolas.Collignon@hsc.fr

http://www.hsc.fr/
64/64
Copyright Herv Schauer Consultants 2008 - Reproduction Interdite