Mettre à jour ne suffit pas toujours
Tu viens d’appliquer WordPress 7.0.2 pour corriger la faille critique wp2shell. Bonne nouvelle : la porte est fermée.
Mauvaise nouvelle : si quelqu’un était déjà entré avant que tu ne la fermes, la mise à jour ne l’expulse pas. Un attaquant qui a eu le temps de créer un compte administrateur ou de déposer une porte dérobée reste chez toi, correctif ou pas.
Précisons tout de suite pour ne pas t’alarmer inutilement : au moment de la publication des correctifs, aucune exploitation active de cette faille n’était rapportée et les chercheurs n’avaient pas publié le détail de l’attaque. La probabilité que ton site ait été touché est donc faible.
Faible n’est pas nulle, et la vérification coûte trente minutes. Voici comment procéder.
Signe 1 : un compte administrateur que tu ne reconnais pas
C’est le premier réflexe, et le plus révélateur.
Va dans Comptes puis Tous les comptes, et filtre sur le rôle Administrateur.
Pose-toi la question pour chaque ligne : est-ce que je sais qui est cette personne ?
Les signaux qui doivent t’alerter :
- un compte dont tu ne reconnais ni le nom ni l’adresse e-mail ;
- une adresse e-mail sur un domaine jetable ou incohérent ;
- un compte créé récemment, alors que tu n’as embauché personne ;
- un nom qui imite un service légitime (
wp-admin,support,backup,wpservice).
Trie la liste par date d’inscription pour repérer les arrivées récentes en un coup d’œil.
Attention aux faux positifs : certains plugins et certains hébergeurs créent des comptes techniques légitimes. Avant de supprimer, vérifie auprès de ton prestataire.
Signe 2 : des fichiers modifiés récemment
Un attaquant qui dépose une porte dérobée laisse forcément une trace sur le disque : un fichier créé ou modifié.
Si tu as un accès SSH, cette commande liste les fichiers PHP modifiés dans les sept derniers jours :
find . -name "*.php" -mtime -7 -ls
Sans SSH, le gestionnaire de fichiers de ton hébergeur permet en général de trier par date de modification.
Ce que tu cherches :
- des fichiers PHP dans des dossiers qui ne devraient en contenir aucun, typiquement
wp-content/uploads(ce dossier est censé contenir des images et des documents, pas du code) ; - des noms de fichiers aléatoires ou volontairement discrets (
wp-cache-old.php,class-wp-init.php, une suite de lettres sans signification) ; - des fichiers du cœur de WordPress modifiés après ta dernière mise à jour.
Un point de repère utile : après une mise à jour, tous les fichiers du cœur ont sensiblement la même date. Celui qui dépasse mérite un regard.
Signe 3 : une activité inhabituelle dans les journaux d’accès
La faille passait par l’API REST de WordPress, et plus précisément par la route /wp-json/batch/v1. Tes journaux d’accès (access logs), disponibles chez ton hébergeur, gardent la trace des requêtes reçues.
Ce qui doit attirer l’attention :
- un volume anormal de requêtes vers
/wp-json/en provenance d’une même adresse IP ; - des requêtes vers
batch/v1alors que ton site n’utilise pas cette fonctionnalité ; - des rafales de requêtes en pleine nuit, à un rythme qu’aucun humain ne produit ;
- des codes de réponse en série (beaucoup de 200 sur des adresses inhabituelles).
Tu n’as pas besoin d’être expert : cherche simplement ce qui sort du motif habituel de ton trafic.
Signe 4 : les symptômes visibles
Parfois, la compromission se voit sans rien chercher :
- ton site redirige les visiteurs vers un autre domaine, souvent uniquement depuis un mobile ou depuis Google, et pas quand tu le visites directement ;
- des pages que tu n’as jamais écrites apparaissent, généralement sur des sujets sans rapport (pharmacie, jeux d’argent, contrefaçon) ;
- Google affiche un avertissement « Ce site peut être piraté » dans les résultats ;
- ton navigateur ou ton antivirus bloque l’accès ;
- tes e-mails partent en spam du jour au lendemain, parce que ton serveur a servi à envoyer du courrier indésirable ;
- le site est anormalement lent, parce que la machine travaille pour quelqu’un d’autre.
Signe 5 : ce que disent les outils
Deux sources gratuites et fiables :
Google Search Console. Section Sécurité et actions manuelles. Si Google a détecté du contenu malveillant, c’est écrit noir sur blanc.
Un scanner de sécurité WordPress. Les plugins de sécurité courants comparent les fichiers du cœur avec les fichiers officiels et signalent toute différence. C’est un excellent filet, à condition de ne pas s’y fier aveuglément : un scanner détecte ce qu’il connaît.
Tu as trouvé quelque chose. Et maintenant ?
Garde la tête froide et procède dans cet ordre.
1. Ne supprime pas tout tout de suite. Fais d’abord une copie complète du site dans son état actuel, même compromis. C’est ta preuve et ton point de retour si tu effaces quelque chose d’important par erreur.
2. Coupe l’accès. Change les mots de passe : administration WordPress, FTP, base de données, panneau d’hébergement. Force la déconnexion de toutes les sessions.
3. Supprime les comptes illégitimes, après avoir vérifié qu’ils ne sont pas des comptes techniques de ton hébergeur.
4. Restaure une sauvegarde antérieure à la compromission, si tu en as une et si tu peux dater l’intrusion. C’est souvent plus fiable que de nettoyer à la main.
5. Réapplique la mise à jour vers 7.0.2 (ou 6.9.5, ou 6.8.6) sur le site restauré. Une sauvegarde ancienne est par définition une version vulnérable.
6. Change aussi les clés de sécurité dans wp-config.php (les fameuses AUTH_KEY et compagnie). Cela invalide toutes les sessions volées.
Quand appeler quelqu’un
Fais-toi aider sans hésiter si :
- ton site traite des paiements ou des données personnelles ;
- tu ne trouves pas le point d’entrée mais les symptômes reviennent après nettoyage ;
- tu n’as aucune sauvegarde propre ;
- le site est déjà signalé par Google.
Un nettoyage bâclé donne un site qui semble réparé pendant deux semaines, puis rechute. La porte dérobée est presque toujours ailleurs que là où on l’a cherchée.
Le meilleur moment pour s’en occuper
Vérifier après une alerte, c’est bien. Ne pas avoir à le faire dans l’urgence, c’est mieux.
Trois habitudes suffisent à changer la donne : des sauvegardes automatiques testées, des mises à jour appliquées dans la semaine, et quelqu’un qui regarde les alertes. Si aucun de ces trois points n’est couvert sur ton site aujourd’hui, c’est là qu’il faut commencer.
Ce problème, Peechy s'en occupe
Plutôt que de tout gérer seul, confiez votre site à une agence qui s'occupe de tout — hébergement, sécurité, maintenance et corrections. Encore plus simple en abonnement : on règle les soucis avant même que vous les remarquiez.
Confier mon site à Peechy