Il y a un petit moment, je m’étais fait piraté mon site (pas avec WP VCD) et cela avait causé une perte considérables. Tous les visiteurs venant de moteurs étaient après quelques secondes redirigés vers un site disposant des annonces Adsense.

J’avais cru que j’aurai plus à faire à ce genre de soucis compte tenu des précautions que j’avais prises en ce qui concernait la dite circonstance mais hélas, le problème m’est arrivé à nouveau cette fois ci avec WP VCD.

Cette fois ce n’était pas qu’un site mais plutôt un réseau de sites. Tous les sites du réseaux étaient sous le choc.

Comment cela est arrivé ? Comment j’ai passé presque une année avec le virus WP VCD sans m’en rendre compte ? Comment j’ai disséqué et résolu le problème, je vous en parle dans la suite de ce billet.

Il se pourrait que vous soyez vous aussi victime sans vous en rendre compte.

Comment savoir que mon site est piraté par WP VCD

La première fois que je m’étais fait piraté, les signes étaient beaucoup plus parlants. Baisse de trafic, signalement de visiteurs venant des moteurs de recherches, c’était donc facile que je me rende compte qu’il y a un ça ne va pas.

Avec WP VCD, c’est tout autre chose car tout se passe de la même manière que quand vous n’êtes pas piraté. Pas de redirection et donc, pas de baisse de trafic.

Cependant, WP VCD insère un script d’une régie publicitaire de popup (PropellerAds principalement) dans toutes les pages du site de tel sorte que tous les visiteurs qui viennent de moteurs de recherches, des sites référents, à n’importe quelle interaction avec l’un des éléments de votre site, les popups envoyant à des liens dangereux se déclenchent.

Un autre comportement bizarre, c’est l’incitation à vos visiteurs de s’abonner dans votre site pour recevoir toutes les nouvelles du site. Une fois l’abonnement effectué, le visiteur est bombardé toutes les heures durant la journée de push notifications publicitaires.

push notification

Certains push notifications sont même très dangereux (avec des liens trompeurs), capable de nuire à l’image de votre site puisque les notifications sont envoyées au nom de votre site.

Pour mon cas, vu que j’utilise Ezoic comme outil de testing de publicité par ML, j’avais cru que propellerAds faisait parti d’une de régie de publicité à laquelle Ezoic s’est affilié. En d’autres termes, je croyais que les popups qui s’affichaient sur mon site provenait d’Ezoic.

Comment le site est piraté ?

Si vous êtes vous aussi piraté, c’est-à-dire, vous voyez dans votre site le comportement décrit dans la section précédente, vous vous demandez surement qu’est ce qui a fait que votre site soit piraté. Via quel moyen et comment.

Principalement, le virus WP VCD est propagé sur les sites par l’utilisation des thèmes et plugins nulled (utilisation des thèmes & plugins premiums gratuitement).

Le virus peut-être propagé dans tous les sites d’un hébergement mutualisé c’est-à-dire, vous ne pouvez forcément pas utiliser un thème/plugin nulled mais si l’un des sites de l’hébergeur est infecté, il y a de forte chance que d’autres sites de l’hébergeur soient également compromis.

Techniquement, qu’est ce qui se passe ?

En utilisant un thème ou plugin nulled contenant le virus WP VCD

, le fichier class.theme-modules.php (pour les thèmes) ou class.plugin-modules.php (pour les plugins) est injecté dans le fichier bootstrapping de ce dernier.

Et c’est de là que l’infection d’autres fichiers de l’installation se déclenche. Si le code ne vous fait pas peur, jetez un œil sur ce que contient class.theme-modules.php.

Il crée d’abord le fichier wp-includes/wp-vcd.php et inject un code codé en base64 responsable de replication du script malicieux.

Le fichier wp-vcd.php est ensuite inclus sur wp-includes/post.php.

En bref :

  • wp-vcd.php infecte le fichier functions.php de tous les thèmes et crée le fichier wp-includes/class.wp.php et wp-includes/wp-tmp.php
  • class.wp.php est responsable de création et suppression d’utilisateur avec le droit administrateur
  • wp-tmp.php inject les codes Javascript qui affiche les popups et demande de souscription aux notifications.
  • L’infection du fichier functions.php met en route toutes actions des fichiers créés.

Vous pouvez retrouver la liste de tous les fichiers infectés par WP VCD.

Comment enlever le virus WP VCD après infection ?

Comprendre la problématique c’est très bien mais il ne remplacera jamais la bonté de sa résolution. Ce qui compte le plus pour l’instant, c’est enlever toutes les infections.

Pour enlever le virus, vous devrez d’abord commencer par savoir d’où il s’est introduit. C’est très important de l’identifier si non, vous risquez de l’enlever et le voir réapparaître à nouveau.

Vous avez utilisé un thème/plugin premium gratuit ? lequel ? trouvez et supprimez le fichier class.plugin-modules.php ou class.theme-modules.php. En suite, identifiez là où il est inclus pour ne pas voir les erreurs sur son site.

Ils sont généralement inclus sur le fichier style.css pour le cas de thème et sur les fichiers d’initialisation pour le cas de plugin.

Dès que c’est fait, effectuez ensuite ces opérations :

  1. Allez sur le fichier functions.php de votre thème, enlevez le code malicieuxvirus wp vcd
  2. Supprimiez les fichiers wp-tmp.php, wp-vcd.php et class.wp.php se trouvant dans le dossier wp-includes.
  3. Editer le fichier wp-includes/post.php et supprimez la ligne suivante de là si ça existe.
    <?php if (file_exists(dirname(__FILE__) . '/wp-vcd.php')) include_once(dirname(__FILE__) . '/wp-vcd.php'); ?>

Pour mon cas, je n’ai pas réparé le site du virus avec cette procédure. WordFence avec son scannage arrive à détecter le code malveillant et les supprimer si vous l’autorisez.

Attention ! WordFence n’arrive cependant pas à enlever le code malicieux qui se trouve dans le fichier functions.php. Au lieu d’effacer que le code malveillant, il supprime tout le code du fichier.

Ce qui peut empêcher que votre site fonctionne correctement. Je vous conseille de le faire manuellement.

Conclusion

Pour conclure, éviter l’utilisation des nulleds. mettez toujours à jours votre installation WP, enfin, contrôlez régulièrement votre site afin de savoir toujours le moment où il faut trouver une solution.

Catégorisé: