Récuperation du mot de passe root MYSQL
Parce qu’un drame est vite arrivé (perte du mot de passe, manque d’informations…), voici une petite astuce rapide afin de se connecter à un serveur mysql sans avoir le mot de passe, ceci en vue de changer se mot de passe, voir dans certains cas de le récupérer.
La procédure est très simple et sauve parfois d’un mauvais pas.
Commençons d’abord par arrêter la base de donnée (adapter en fonction de la distrib.) :
Cela fait, nous allons relancer le service mysql, mais en mode « safe-mode » afin qu’il ne demande pas d’authentification
- skip-grant-tables permet de passer outre l’authentification
- skip-networking permet de ne pas écouter les requetes TCP/IP (par mesure de sécurité)
On peut alors lancer mysql sans authentification :
Nous pouvons en profiter pour récupérer le hash du user root :
Rien de plus simple ensuite de modifier le mot le fameux mot de passe perdu, nous allons directement changer le champs password de la table user du login root :
La commande « flush privileges » sert ici à remettre à jour les informations d’authentification
Mais dans certains cas, changer le mot de passe root pose problème si certains applicatifs utilise ce compte.
Il est donc parfois possible de retrouver le mot de passe (ce dernier étant du md5) grâce à un bruteforce ou des rainbow tables.
Petit exemple avec le site http://www.findmyhash.com/
Le résultat a pris 1.3 secondes à s’afficher.
Il suffit ensuite de se déconnecter, d’arreter le service mysql, et de le relancer en mode normal :
En espérant que ca puisse servir à d’autres.
La procédure est très simple et sauve parfois d’un mauvais pas.
Commençons d’abord par arrêter la base de donnée (adapter en fonction de la distrib.) :
Code :
testsrv:~# /etc/init.d/mysql stop
Cela fait, nous allons relancer le service mysql, mais en mode « safe-mode » afin qu’il ne demande pas d’authentification
Code :
testsrv:~# /usr/bin/safe_mysqld –skip-grant-tables –skip-networking
- skip-grant-tables permet de passer outre l’authentification
- skip-networking permet de ne pas écouter les requetes TCP/IP (par mesure de sécurité)
On peut alors lancer mysql sans authentification :
Code :
testsrv:~# mysql mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8788
Server version: 5.0.51a-6-log (Debian)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Code :
mysql> show tables;
+—————————+
| Tables_in_mysql |
+—————————+
| columns_priv
| db
| func
| help_category
| help_keyword |
| help_relation |
| help_topic |
| host
| proc
| procs_priv
| tables_priv
| time_zone
| time_zone_leap_second
| time_zone_name
| time_zone_transition
| time_zone_transition_type
| user
+—————————+
17 rows in set (0.00 sec)
mysql>
Nous pouvons en profiter pour récupérer le hash du user root :
Code :
mysql> select password FROM user WHERE User=’root’;
+——————————————-+
| password
+——————————————-+
| *c7e322cd310b848b9665fb706ea6d71d
+——————————————-+
1 row in set (0.01 sec)
mysql>
Rien de plus simple ensuite de modifier le mot le fameux mot de passe perdu, nous allons directement changer le champs password de la table user du login root :
Code :
mysql>UPDATE user SET password=PASSWORD(‘mon_nouveau_password’) WHERE User=’root’;
mysql>FLUSH PRIVILEGES;
La commande « flush privileges » sert ici à remettre à jour les informations d’authentification
Mais dans certains cas, changer le mot de passe root pose problème si certains applicatifs utilise ce compte.
Il est donc parfois possible de retrouver le mot de passe (ce dernier étant du md5) grâce à un bruteforce ou des rainbow tables.
Petit exemple avec le site http://www.findmyhash.com/
Le résultat a pris 1.3 secondes à s’afficher.
Il suffit ensuite de se déconnecter, d’arreter le service mysql, et de le relancer en mode normal :
Code :
mysql>exit
Bye
testsrv:~# mysqladmin shutdown
testsrv:~# /etc/init.d/mysql start
testsrv:~# mysql -u root -p
Enter password: ****************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9024
Server version: 5.0.51a-6-log (Debian)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
En espérant que ca puisse servir à d’autres.
Banni Messages : 8 Sujets : 1 Points: 0 Inscription : Jan 2012 |
RE: Récuperation du mot de passe root MYSQL
Je suis perdu des la première ligne de code, il faut www.monsite.com/etc/init.d/mysql stop
pourrais-je avoir plus de précision merci. |
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: Récuperation du mot de passe root MYSQL
Quand tu es sur naax@naax:~$ tu tape seulement ça →
Code : /etc/init.d/mysql stop Code : mysql mysql -u root |
Banni Messages : 8 Sujets : 1 Points: 0 Inscription : Jan 2012 |
RE: Récuperation du mot de passe root MYSQL
oui donc c'est dans le cmd du mysql donc personne ne peut aller dessus sauf le propriétaire du site web
|
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: Récuperation du mot de passe root MYSQL
Oui c'est le but de cette manipulation naax.
|
Banni Messages : 8 Sujets : 1 Points: 0 Inscription : Jan 2012 |
RE: Récuperation du mot de passe root MYSQL
donc si il y a que l'administrateur qui peut le faire, j'ai aucune peur^^
merci bien |