☢️

Site hacké (procédure)

1 – Accéder à l’administration du site

Essayez de récupérer l’accès à l’administration du site :

Si ces 2 opérations vous redonnent l’accès au site, une extension ou le thème était peut-être en cause. Renommez correctement les dossiers, puis réactivez les extensions une par une à partir de l’administration de votre site, en testant régulièrement. Si le problème réapparaît, vous avez trouvé l’extension coupable. Vérifiez si il existe une mise à jour, si ce n’est pas le cas, cherchez une autre extension qui propose les même fonctionnalités. Procédez de même pour le thème.

Si vous n’avez toujours pas récupéré l’accès à l’administration du site, passez à l’étape suivante

2 – Vérifier les utilisateurs enregistrés

Il s’agit à cette étape de vérifier si vos droits pour administrer le site ne sont pas corrompus ou usurpés.

Avant toute intervention, sauvegardez votre base de données : connectez-vous à votre espace de gestion chez votre hébergeur, accédez à la base de données par PhpMyAdmin, et procédez à une sauvegarde (tuto dont les images sont anciennes, mais déroulement à suivre)

À présent, allez dans la table wp_users de la base de données (le préfixe wp_ peut-être différent chez vous), vérifiez que votre pseudo est bien présent, et vérifiez qu’il n’y a pas d’utilisateur mystérieux. Allez ensuite dans la table wp_usermeta et vérifiez si votre pseudo est bien en “administrator” (colonne meta_value) au bout de la ligne qui contient les “capabilities” (colonne meta_key).

Si dans la base de données, vous êtes toujours reconnu comme admin, modifiez simplement votre mot de passe comme indiqué dans le tuto de WPChannel cité en début d’article. Supprimez tout administrateur inconnu.

Si vous n’êtes pas en mode admin, il faut absolument recréer un profil administrateur directement dans PhpMyAdmin (tuto), vous pourrez alors vous connecter et supprimer les utilisateurs indésirables.

Tant que vous êtes là, procédez au nettoyage de la base de données (vidéo d’Alex, WP Marmite).

3 – Modifier vos mots de passe

Changez maintenant vos mots de passe de connexion chez votre hébergeur : mot de passe pour vous connecter au panneau de gestion chez l’hébergeur, et mot de passe de connexion à la base de données (chez certains hébergeurs, c’est le même que pour le panneau de gestion).  Attention, notez bien le mot de passe pour l’accès à la base de données, car il faudra le modifier dans le fichier wp-config.php situé à la racine de l’installation, accessible par FTP (Filezilla ou équivalent) ou dans le gestionnaire de fichier de votre hébergeur.Attention, c’est différent du mot de passe de connexion au site, qu’il faut modifier aussi si vous conservez votre ancien profil, comme vu à l’étape précédente.

4 – Augmenter la version PHP

Actuellement (décembre 2020), PHP est déjà accessible en version 8. Toutefois, les thèmes et extensions ne sont pas encore tous compatibles. Mais il est fortement conseillé de passer en PHP 7.3 ou PHP 7.4 si votre installation tourne avec une version inférieure.

Accédez au panneau de gestion ou espace client chez votre hébergeur, et parcourez les options pour modifier la version PHP. Cela peut différer d’un hébergeur à l’autre (pour OVH, suivez cette doc).

5 – Sauvegarder et nettoyer le site

Par FTP (Filezilla) ou dans le gestionnaire de fichiers chez votre hébergeur, faites une sauvegarde du dossier wp-content/uploads (vous en aurez besoin pour la ré-installation). Sauvegardez aussi le fichier wp-config.php et le fichier .htaccess

De même, faites une sauvegarde de votre ou vos thèmes personnalisés dans wp-content/themes. Supprimez tous les thèmes par défaut Twenty-XX, que vous pourrez ré-télécharger plus tard. Si votre thème provenait du répertoire officiel de wp.org et que vous n’avez pas modifié les fichiers des thèmes, supprimez-le. Attention, si c’est un thème payant, vérifiez si vous avez accès à une version saine. Ne téléchargez jamais “gratuitement” un thème payant, il contient probablement du code infecté.

Notez la liste de toutes vos extensions présentes dans wp-content/plugins  : supprimez toutes celles qui viennent de wordpress.org. Pour les extensions payantes, vérifiez si vous avez accès à une version saine (neuve, à jour), et supprimez-les du dossier wp-content/plugins.

Nettoyez les fichiers sauvegardés (wp-config.php et vos fichiers de thème) : pour cela, il faut les ouvrir avec NotePad++ ou SublimeText et supprimer la 1ère ligne composée d’une longue suite de chiffres et signes bizarres si c’est le cas, ou supprimez les espaces qui se trouveraient avant la balise d’ouverture <?php

Vérifiez que le dossier wp-content/uploads ne contient aucun fichier .php, à l’exception de index.php quasi vide. Si vous trouvez un autre fichier en .php, supprimez le fichier suspect.

6 – Remettre le site en place

À présent, il faut remettre en place le site avec des fichiers sains.

7 – Sécuriser le site

Il reste quelques manipulations pour finir de sécuriser le site :

Encore quelques conseils

Si besoin, quelques conseils à suivre pour finir de nettoyer et sécuriser votre site :

– https://www.iceranking.com/wordpress-seo/guide-complet-pour-nettoyer-et-securiser-wordpress-apres-un-hacking/ (tuto ancien mais toujours d’actualité)– https://wpformation.com/wordpress-pirate-hack/– https://www.seomix.fr/securiser-wordpress-piratage/

Chercher dans le serveur tout les fichier modifié il y a un moins d'un jour :

Chercher un morceau de code vulnérable :

grep -R "morceau de code que je cherches"