N-PN White-Hat Project
Récuperation du mot de passe root MYSQL - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Tutoriels (https://dev.n-pn.fr/forum/forumdisplay.php?fid=15)
+--- Forum : [Tutoriel] Administration système (https://dev.n-pn.fr/forum/forumdisplay.php?fid=41)
+--- Sujet : Récuperation du mot de passe root MYSQL (/showthread.php?tid=1836)



Récuperation du mot de passe root MYSQL - Gr3ps - 23-12-2011

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.) :

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.


RE: Récuperation du mot de passe root MYSQL - naax - 14-02-2012

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.


RE: Récuperation du mot de passe root MYSQL - Di0Sasm - 14-02-2012

Quand tu es sur naax@naax:~$ tu tape seulement ça →
Code :
/etc/init.d/mysql stop
après tu suit la commande donné Gr3ps, si ça fonctionne pas quand tu fais mysql mysql tape cette commande à la place
Code :
mysql mysql -u root
pour arriver sur mysql.


RE: Récuperation du mot de passe root MYSQL - naax - 16-02-2012

oui donc c'est dans le cmd du mysql donc personne ne peut aller dessus sauf le propriétaire du site web


RE: Récuperation du mot de passe root MYSQL - Di0Sasm - 17-02-2012

Oui c'est le but de cette manipulation naax. Wink


RE: Récuperation du mot de passe root MYSQL - naax - 18-02-2012

donc si il y a que l'administrateur qui peut le faire, j'ai aucune peur^^
merci bienSmile