Aller au contenu
SécuritéWP — Accueil
Sécurité WordPress

Le pirate a changé le mot de passe admin de WordPress : reprendre la main

Publié le · 8 min de lecture· Par

Le pirate a changé le mot de passe admin de WordPress : reprendre la main
Sommaire
  1. Vérifier que le mot de passe admin a bien été changé par un pirate
  2. Voie 1 : le lien « Mot de passe oublié », si votre email est intact
  3. Voie 2 : phpMyAdmin, réécrire le mot de passe dans wp_users
  4. Voie 3 : WP-CLI, la méthode la plus propre avec un accès SSH
  5. Voie 4 : un fichier temporaire déposé en FTP
  6. Voie 5 : le panneau de l'hébergeur
  7. Voie 6 : quand l'hébergeur doit intervenir
  8. Juste après : le pirate a peut-être encore une porte dérobée
  9. Si vous préférez que nous reprenions la main pour vous
  10. Sources

En bref : si le pirate a changé le mot de passe administrateur, vous pouvez reprendre la main sans lui : par « Mot de passe oublié » si votre email n'a pas été modifié, par phpMyAdmin (table wp_users), par WP-CLI (wp user update), par un fichier temporaire déposé en FTP, par le panneau de l'hébergeur ou, en dernier recours, par son support. Ensuite, changez tous les mots de passe, renouvelez les clés de sécurité, supprimez les comptes inconnus et nettoyez le site : le pirate a presque toujours laissé une porte dérobée.

Votre mot de passe habituel est refusé sur wp-login.php, la réinitialisation n'arrive jamais, et parfois un avis « Password Changed » ou « Email Changed » est arrivé dans la nuit. Le pirate a pris votre compte et a peut-être remplacé votre email par le sien. Voici les six voies pour reprendre l'accès, de la plus simple à la plus technique, avec les commandes exactes de la documentation WordPress.org et de WP-CLI, puis ce qu'il faut faire dans l'heure qui suit.

Vérifier que le mot de passe admin a bien été changé par un pirate

Écartez d'abord les causes banales : un gestionnaire de mots de passe qui remplit une ancienne valeur, une extension de sécurité qui bloque votre adresse IP après trop d'essais. Les signes d'un piratage :

  • Un avis de changement de mot de passe ou d'email que vous n'avez pas demandé. WordPress l'envoie depuis wp_update_user() dès qu'un profil est modifié dans l'administration, et l'avis de changement d'email part vers l'ancienne adresse, donc vers vous ; une modification directe en base n'envoie rien.
  • « Mot de passe oublié » annonce un envoi, mais rien n'arrive : l'adresse du compte n'est plus la vôtre.
  • Des administrateurs inconnus dans la liste des utilisateurs, sujet de notre article Un administrateur inconnu est apparu dans WordPress.
  • Le site redirige, affiche du contenu étranger, ou l'hébergeur vous a écrit.

Avant de toucher à quoi que ce soit

Faites des captures, notez l'heure, exportez une sauvegarde des fichiers et de la base. Ne supprimez rien encore : les comptes et fichiers du pirate sont des preuves et des indices sur la faille. Les premiers réflexes sont détaillés dans Site WordPress piraté : que faire dans la première heure.

Voie 1 : le lien « Mot de passe oublié », si votre email est intact

Sur votre-site.fr/wp-login.php?action=lostpassword, saisissez votre identifiant ou votre email. WordPress envoie un lien de réinitialisation à l'adresse enregistrée sur le compte. Si rien ne vient, vérifiez le courrier indésirable, puis considérez que l'adresse a été changée et passez à la voie suivante.

Voie 2 : phpMyAdmin, réécrire le mot de passe dans wp_users

Votre hébergeur donne accès à la base par phpMyAdmin ou Adminer. C'est la voie que recommande la FAQ « My site was hacked » de WordPress.org quand un compte administrateur a été détourné. Le préfixe des tables n'est pas toujours wp_ : il est indiqué par $table_prefix dans wp-config.php.

  1. Ouvrez la base du site, puis la table wp_users.
  2. Repérez votre ligne par user_login. Si user_email n'est plus votre adresse, remettez-la.
  3. Cliquez sur Modifier. Dans user_pass, effacez la valeur, tapez votre nouveau mot de passe en clair et choisissez MD5 dans la liste « Fonction ». Validez.

Ou, en une requête depuis l'onglet SQL :

UPDATE wp_users
SET user_pass = MD5('VotreNouveauMotDePasseLong'), user_email = 'vous@exemple.fr'
WHERE user_login = 'votre_identifiant';

Pourquoi MD5 ? Depuis la version 6.8, WordPress stocke les mots de passe en bcrypt (préfixe $wp$2y$), mais la documentation « Reset your password », mise à jour en mars 2026, confirme qu'un hachage MD5 écrit à la main reste reconnu à la connexion, puis remplacé par un hachage bcrypt. Changez donc à nouveau le mot de passe depuis votre profil une fois connecté.

Si l'adresse de notification du site a aussi été changée (Réglages > Général), corrigez la ligne admin_email de la table wp_options. Notre guide phpMyAdmin montre l'interface pas à pas.

Voie 3 : WP-CLI, la méthode la plus propre avec un accès SSH

Avec SSH et WP-CLI, selon ce que propose votre hébergeur, tout se fait en trois commandes depuis le dossier du site :

wp user list --role=administrator --format=csv
wp user update votre_identifiant --user_pass='VotreNouveauMotDePasseLong' --user_email='vous@exemple.fr'
wp user session destroy votre_identifiant --all

La première liste les administrateurs (notez les inconnus), la deuxième réécrit mot de passe et email, la troisième détruit les sessions ouvertes du compte, celle du pirate comprise. Deux compléments : wp user create secours vous@exemple.fr --role=administrator crée un compte de secours avec un mot de passe aléatoire ; wp user list --field=ID | xargs -n 1 wp user session destroy --all déconnecte tous les utilisateurs.

Voie 4 : un fichier temporaire déposé en FTP

Avec seulement un accès FTP ou SFTP, faites exécuter le changement par WordPress lui-même : la documentation WordPress.org propose d'ajouter, juste après le premier <?php de functions.php du thème actif :

wp_set_password( 'VotreNouveauMotDePasseLong', 1 );

Le 1 est l'ID de l'utilisateur dans wp_users, en général le premier administrateur. Chargez une page, connectez-vous, puis retirez la ligne immédiatement : elle réinitialise le mot de passe à chaque chargement tant qu'elle est là.

Si vous ignorez votre ID ou si le thème a été modifié par le pirate, préférez un mu-plugin : un fichier PHP placé directement dans wp-content/mu-plugins/. Les mu-plugins sont chargés d'office, n'apparaissent pas dans la liste des extensions et ne se désactivent qu'en supprimant le fichier. Celui-ci crée un compte de secours une seule fois :

<?php
// wp-content/mu-plugins/secours.php : à supprimer dès la première connexion.
add_action( 'init', function () {
    $login = 'secours-temporaire';
    if ( username_exists( $login ) ) {
        return;
    }
    $id = wp_create_user( $login, 'VotreNouveauMotDePasseLong', 'vous@exemple.fr' );
    if ( ! is_wp_error( $id ) ) {
        ( new WP_User( $id ) )->set_role( 'administrator' );
    }
} );

Connectez-vous avec ce compte, reprenez votre compte d'origine depuis Utilisateurs > Tous les utilisateurs, puis supprimez le fichier et le compte de secours. C'est la technique des pirates pour recréer un administrateur après chaque nettoyage, décrite dans notre article sur les portes dérobées dans mu-plugins.

Voie 5 : le panneau de l'hébergeur

Sur cPanel, WP Toolkit (Outils > Domaines) affiche pour chaque installation un bouton « Log in » qui ouvre l'administration sans mot de passe WordPress, et des réglages pour changer le mot de passe de connexion et l'email de l'administrateur. Cette voie suppose que votre compte d'hébergement est intact. Notre page back-office perdu décrit notre intervention quand aucune voie n'est accessible.

Voie 6 : quand l'hébergeur doit intervenir

  • Le mot de passe de l'espace client, du FTP ou de la base a été changé : plus aucun accès aux fichiers.
  • La boîte email de contact du compte d'hébergement est elle-même compromise.
  • L'hébergeur a suspendu le site après avoir détecté le malware ; voyez notre article sur les suspensions pour malware ou spam.

Ouvrez un ticket depuis un appareil sain, avec un justificatif d'identité et le numéro de client. Demandez la réinitialisation des accès et la liste des connexions récentes, puis activez la double authentification sur le compte d'hébergement.

Juste après : le pirate a peut-être encore une porte dérobée

Un mot de passe changé n'a jamais fait partir un pirate. Il est entré par une faille ou un accès volé et a laissé de quoi revenir : compte caché, fichier PHP dans uploads, mu-plugin, mot de passe d'application, session encore ouverte. Dans l'heure qui suit :

  1. Changez tous les mots de passe : chaque compte WordPress éditeur ou administrateur, FTP ou SFTP, base de données (puis wp-config.php), espace client, boîtes email. WordPress.org insiste : FTP, wp-admin, panneau d'hébergement et MySQL, pour tous les utilisateurs.
  2. Renouvelez les clés de sécurité de wp-config.php (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY et leurs sels) avec le générateur api.wordpress.org/secret-key/1.1/salt/. Les changer invalide tous les cookies et oblige tout le monde à se reconnecter, pirate compris (détails dans notre article sur les clés de sécurité et les sessions WordPress).
  3. Passez en revue les utilisateurs. Supprimez les comptes inconnus en attribuant leurs contenus à votre compte, vérifiez le rôle et l'email de chaque compte restant. Comparez le rôle affiché avec la clé wp_capabilities de wp_usermeta : un compte peut y recevoir directement des capacités d'administrateur sans porter le rôle, et la liste affiche alors un rôle anodin.
  4. Révoquez les mots de passe d'application, utilisés pour l'API REST et invisibles à l'écran de connexion : dans le profil de chaque administrateur, ou via wp user application-password list votre_identifiant --fields=name,created, puis supprimez les inconnus.
  5. Cherchez la porte dérobée : fichiers PHP dans wp-content/uploads, contenu de mu-plugins, extensions et thèmes que vous n'avez pas installés, fichiers modifiés récemment (find . -name "*.php" -mtime -30), code obscurci. Cette recherche fait partie du nettoyage complet d'un site WordPress piraté.
  6. Mettez tout à jour et fermez la faille (mot de passe faible ou réutilisé, extension vulnérable qui permet de créer ou modifier un utilisateur), puis changez les mots de passe une seconde fois : WordPress.org le recommande, car le pirate a pu lire les premiers pendant que sa porte dérobée était encore en place.
  7. Activez la double authentification sur tous les administrateurs et limitez les tentatives de connexion, avec notre guide pour sécuriser la connexion WordPress et notre comparatif des solutions 2FA.

Un test simple pour savoir si le pirate est encore là

Clés renouvelées et sessions détruites, notez le nombre d'utilisateurs, la liste des fichiers de mu-plugins et la date du fichier le plus récent dans uploads. Revérifiez chaque jour pendant une semaine. Un nouvel administrateur, un fichier PHP apparu, un mot de passe qui « ne marche plus » à nouveau : la porte dérobée est toujours là.

Si vous préférez que nous reprenions la main pour vous

Notre équipe répare et sécurise des sites WordPress piratés depuis 2016. Envoyez-nous un accès à votre espace d'hébergement, même sans accès WordPress : diagnostic gratuit sous 12 heures, puis récupération du compte, suppression des portes dérobées et nettoyage sous 48 heures, à prix fixe de 350 € annoncé avant intervention et remboursé si nous échouons. Vous recevez la liste des fichiers touchés, la faille identifiée et les accès renouvelés.

Sources

Pages consultées le 6 septembre 2026.

Votre site est touché ?

Nous intervenons sur les sites WordPress piratés, nettoyage et sécurisation compris. Décrivez votre situation, nous vous répondons.

À lire aussi