serveur410 s’est fait piraté !

Et c’est de ma faute…

Laisse-moi t’expliquer :

Jusque-là, mes sites étaient hébergés chez PlanetHoster, j’en étais plutôt content, mais plusieurs lecteurs m’ont informé qu’il était impossible de lire serveur410 via Tor.

Après vérification, je me suis aperçu que PlanetHoster bloque systématiquement toutes les connexions Tor.

J’ai demandé au support si on pouvait changer ça et la réponse est : Non, on reçoit trop d’attaque provenant de Tor.

Je parle souvent de respect de la vie privée ici, et Tor est une initiative qui permet de se protéger contre la surveillance, c’est important pour moi que les gens puissent lire serveur410 sans être tracké. Donc j’ai décidé de changer d’hébergeur.

J’ai choisi o2switch qui ne bloque pas systématiquement les connexions provenant de Tor, et qui en plus de ça affiche des valeurs avec lesquelles je connecte.

Mercredi 3 Mars je suis en plein déménagement de sites (j’avais plusieurs sites hébergés sur PlanetHoster)

Je suis connecté aux gestionnaires de fichiers de PlanetHoster pour réfléchir comment je vais m’y prendre pour déménager serveur410 sur mon nouvel hébergement chez o2switch.

Le premier truc qui me saute aux yeux c’est un dossier « site » dans le répertoire de serveur410.

Ça ne correspond pas à un dossier de WordPress (ce avec quoi marche serveur410) et je ne me souviens pas d’avoir créé ce dossier.

Je décide de visiter l’URL pour voir qu’est-ce que c’est.

Donc je tape « serveur410.com/site » dans la barre d’adresse de mon navigateur.

Et je me retrouve avec un index qui me propose des suites bizarres de chiffres « 321e_985b49… », un fichier « article.php » un dossier « cache » et un sitemap.xml.

Je clic sur la première suite de chiffre.

Ça m’amène sur une page de serveur410 avec marqué un énigmatique {{ keyword }} {{ text }} {{ links }}

Ok, chelou.

Je retourne sur l’index et je clic sur la deuxième suite de chiffre.

Et là je me dis que je suis dans la merde.

Devant moi il y a une looooooongue liste de mot clé aléatoire « etvl bac 2021, real madrid vs realsociedad tv, expedia partner solutions, synonyme de abriter… »

Clairement, je vois que c’est du Spam.

Et si c’est pas moi qui l’aie mis là, c’est qui ? Je pense pas qu’un plugin WordPress puisse faire ça…

Je retourne sur l’index et je clic sur le « article.php »

Là clairement, ça met fin à tout doute, je suis sur une page de serveur410 avec un texte incohérent et des liens, clairement conçu pour les moteurs de recherche.

Bref, je vois bien que j’ai été piraté…

Je retourne sur le gestionnaire de fichier, et je me rends compte qu’il y a plein de fichier PHP bizarre « 158mni02.php » « 579yxpru.php » à la racine de mon site.

À l’intérieur, aucun code lisible, tout est obfusqué, c’est une suite de chiffres.

Bon là, clairement je suis dégoutté.

Et je me sens démuni face à la situation.

Je me suis fait piraté.

Je ne sais pas par où commencer. Que faire ?

Par contre… je crois bien savoir comment c’est arrivé…

Comment c’est arrivé ?

La raison de ce piratage est la plus courante :

Un site pas mis à jour.

En réalité 2.

J’ai 2 sites, qui sont des anciens projets.

Et je suis pas super assidu sur les mises à jour.

Je les mets à jour de temps en temps, mais il peut se passer bien 2 mois sans que je me connecte à l’interface admin.

Je sais que c’est pas top.

Je sais que je risque de me faire pirater.

Mais je me dis que c’est des anciens projets. Alors au pire « si je me fais pirater c’est pas bien grave, il y a plus personne qui va dessus »

Je me dis qu’il faudrait que je les convertisse en site statique, au moins plus de risque de piratage et de mise à jour à faire. (surtout qu’il existe une extension top pour faire ça : Simply Static)

Mais ça fait partie des trucs qui traînent dans ta tête et dont c’est jamais le bon moment pour le faire.

Le truc c’est que :

Ces sites sont sur le même hébergement que serveur410 (qui lui est bien entretenu, à jour etc…)

Ce que j’avais pas capté, c’est que si un site ce fait piraté sur cet hébergement, tous les autres peuvent aussi se faire pirater (même s’ils sont à jour).

Dans ma tête ils étaient isolés, chacun de leur côté.

Mais pas du tout.

S’ils sont sur le même compte Cpanel, le même serveur, si un site ce fait contaminer, tous les autres peuvent se faire contaminer à leur tour…

Putain…

Voilà, j’ai été piraté par pure négligence.

Le truc de base quoi…

Mais si je vois par où le pirate est passé, je ne sais pas comment précisément…

Mais bordel, par où est-il passé ?

J’ai mené ma petite enquête… et ça a été vite trouvé.

Sur les deux sites, j’avais un plugin WordPress « wpDiscuz » qui était installé.

C’est un plugin qui remplace le système commentaire natif de WordPress, par quelque chose qui permet plus de personnalisation.

Par exemple les gens peuvent utiliser de la mise en forme sur leur commentaire (mettre en gras, en italique, mettre un lien etc…)

Et après recherche wpDiscuz a eu une faille introduite le 15 avril 2020 par la sortie 5.3.5 du plugin.

Dans cette version, les gens peuvent insérer une image dans leur commentaire.

Problème :

Les pirates peuvent déguiser du code PHP (du code exécutable pour serveur) en image, et l’envoyer sur ton serveur.

Le 12 juin 2020 le développeur de wpDiscuz sort un correctif pour boucher cette faille.

Moi, à l’époque, j’ai pas entendu parler de cette faille sur le plugin.

Et comme je l’ai dit précédemment, je fais des mises à jour que de temps en temps sur les sites où ce plugin est installé.

En plus, entre-temps le développeur de wpDiscuz à sorti une refonte de son plugin, la version 7, qui apporte de nouvelles fonctionnalités, entre autre sociale, qu’on ne peut pas désactiver et dont je ne suis pas fan. Donc je traîne particulièrement sur la mise à jour de ce plugin.

La suite tu l’as comprise…

Un pirate à exploité la faille de wpDiscuz sur 1 ou les 2 sites vulnérables et a installé tous ces petits fichiers malveillants.

Qui est le pirate ?

Ce n'est pas à propos de politique
je peux viser n'importe qui
n'importe quoi
n'importe où
Abribus pas cher
C'est un génie...

Le souci c’est que je fouille jamais dans les fichiers de mon serveur.

Je me connecte uniquement sur les admins de mes sites WordPress et vu d’ici il n’y a rien de louche.

Sur la partie « front-end », la partie que voient mes visiteurs, il n’y a aussi rien de louche.

Il n’y a pas de « You have been hacked » avec un masque d’Anonymous sur la page d’accueil.

Pas de redirection vers des sites de porn, de poker ou quoi…

Pas de publicité, de pop-up.

Pas de téléchargement qui se lance.

Pas d’utilisateur autre que moi sur WordPress.

Pas de liens bizarre dans les articles ou pages de mon site.

Bref, visiblement, aucun signe de piratage.

Il n’y a que quand on se connecte au gestionnaire fichier qu’on se rend compte du piratage.

Mais alors dans quel intérêt ?

Pourquoi pirater un site, si finalement… il ne se passe rien ?

En fait, tous le but de ce genre de piratage est justement de rester le plus discret possible.

On ne cherche pas à montrer que le site est piraté.

On ne cherche pas à prendre le trafic comme otage, à lui installer des virus ou quoi…

Non, on va l’utiliser en toute discrétion, sans impacter l’administrateur ou les visiteurs.

Il va falloir pirater plein de sites vulnérables comme les miens.

Dessus ces sites piratés tu vas placer des pages avec des mots clé et liens vers des sites que tu veux faire monter dans les résultats de recherche de Google (tes clients ou bien des sites qui t’appartiennent pour ton business)

Grâce à ces milliers de sites piraté qui font des liens vers tes sites, tu vas pouvoir booster leur référencement.

Ou au contraire, tu vas faire ça le plus salement possible pour que les moteurs de recherche s’aperçoivent que tu essayes de les niquer, et laisser les moteurs de recherche pénaliser les sites vers lesquelles tu fais des liens. (des concurrent que tu veux faire tomber)

Ce genre de pratique, ça s’appelle du BlackHat Seo.

C’est des techniques pour influencer les algorithmes, sans s’encombrer d’éthique.

Voilà, voilà.

C’est pas du piratage de grande voltige.

D’ailleurs c’est possible qu’aucun pirate humain n’est touché à mon site, mais que ça soit juste un robot qui ait automatiquement détecté une faille sur mon site, pour l’exploité et installé les pages sur mon serveur.

Il y a des bots qui sont conçus pour ça…

Pour scanner 24/24h 7/7j le web à recherche de site avec des vulnérabilités pour les exploiter.

Quelles sont les conséquences ?

J’ai mis super longtemps à me rendre compte du piratage, parce que comme je l’ai dit avant, c’était discret.

Donc difficile de savoir la date exacte du moment où il y a eu intrusion sur le serveur.

Peut-être en avril, avant même qu’il n’y est une annonce de faille et un correctif.

Peut-être en juin, peut-être en août…

Ce qui est sûr, c’est que fin octobre 2020 il y avait déjà intrusion (j’ai une copie locale d’un site présent sur le serveur qui montre une trace de fichier malveillant)

Bref, plusieurs mois pendant lesquels mes sites était piraté sans que je m’en rende compte.

Le truc le plus sensible que je garde sur mon serveur c’est les adresses mails des gens qui s’inscrive à la newsletter et les adresse e-mails que les gens laissent dans les commentaires.

C’est stocké en clair dans la base de donner de WordPress (j’utilise le plugin Mailpoet) (et non, il n’y a pas d’option pour les chiffrer)

Il n’y a pas de compte autre que le mien, pas de données perso, rien de précieux.

Je ne peux pas être sûr à 100% que le pirate n’ait pas accédé à la base de donnée. (il n’y a pas de trace en tous cas)

Le maximum que pourrait faire un pirate s’il avait récupéré les e-mails, c’est de t’envoyer des spams ou d’autres truc louche du genre, comme n’importe qui, qui possède ton adresse mail.

Perso, depuis tous ce temps, je n’ai pas reçu de spam ou de mail louche…

Et aucune personne d’inscrite ne s’est plain de ça, non plus…

C’est possible que le pirate ne soit intéressé que par le référencement et pas du tout par d’autres trucs.

Mais si jamais tu t’es inscrit à la newsletter avec un alias dédié (du genre prénom+serveur410@mail.com) et que tu reçois du spam ou des mails chelou alors hésite pas à me prévenir !

Au final, le piratage a servi à influencer les algos des moteurs de recherche. Et… c’est tout.

C’est pas agréable, mais ça aurait pu être bien pire !

Qu’est-ce que j’ai fait pour que ça n’arrive plus ?

Bonhomme paniqué qui fuit un serveur en feu, au dessus il y a marqué "BRULER LE SERVEUR !!!!"

Bon je te passe toutes la partie nettoyage… longue et fastidieuse.

(restaurer une sauvegarde n’était pas envisageable, étant donné que le piratage remonte à un moment et que je ne connais pas la date exacte de l’intrusion)

J’ai dû supprimer tous les sites dont je ne me servais plus du serveur, supprimer les fichiers malveillants, passer plusieurs scans (merci Wordfence et Imunify), changer des mots de passes, remplacer par du neuf toutes une partie de WordPress, explorer les recoins du site, repasser des scans…

Bref, tous un tas de nettoyage, de mesure de sécurité et de précaution.

Mais bon, à l’heure où je te parle le site est complètement nettoyé !

Plus de pirate, de fichiers malveillants, de pages louche… !

Et j’ai évidemment mis des trucs en place pour ne plus vivre cette situation bien chiante (ou du moins réduire grandement le risque que ça ré-arrive, la sécurité à 100%, ça n’existe pas)

Pour mettre les mesures en place, liston les 3 problèmes qui ont mené au piratage de serveur410 et leurs solutions :

Problème n°1 : Les mises à jour pas faites.

Solution :

J’ai activé les mise à jour automatiques sur WordPress, ses plugins et thèmes. Comme ça tout est à la dernière version.

Mieux vaut réparer un site cassé à cause d’une mise à jour qu’un site piraté !

C’est plus simple, plus rapide, et ça à moins de conséquence.

Problème n°2 : les sites ne sont pas isolés.

Solution :

serveur410 est maintenant sur l’hébergement d’o2switch, donc plus du tout sur le même serveur qu’avant.

Bon, ça c’est pas tellement une amélioration de la sécurité, j’aurais très bien pu continuer sur PlanetHoster vu que le serveur est nettoyé, mais j’avais prévu de faire cette migration donc je l’ai faite.

Par contre, le site est maintenant isolé des autres sites que j’héberge sur o2switch (Piradex est sur o2switch et n’a pas du tout été touché par le piratage, parce qu’il n’était pas en contact des sites hébergé sur PlanetHoster)

Donc si un de mes sites se fait pirater chez o2switch, les autres ne se feront pas contaminer.

C’est une option que proposent certains hébergeurs, o2switch le propose, donc j’en profite.

Problème n° 3 : le temps pour se rendre compte d’un piratage « invisible »

Solution :

J’ai installé Wordfence, une super solution de sécurité sur WordPress, qui lancera un scan tous les jours et m’avertira de dossiers/fichiers malveillant sur le site.

Comme ça, même si je ne fouille pas les fichiers de mes sites je serais averti très rapidement d’un piratage.

Problème n° 4 : l’exécution possible de code PHP à des endroits dont je n’ai pas l’utilité.

Solution :

Par défaut, WordPress permet l’exécution de code PHP dans le dossier « uploads ».

C’est ce qui a permis au pirate de pouvoir installer ces pages sur le serveur et de contaminer les autres sites.

Sans cette possibilité, même avec le plugin vulnérable, il n’aurait rien pu faire de tout ça.

J’ai désactivé l’exécution de code PHP dans le dossier « uploads » vu que je n’en ai pas l’utilité et que ça augmente la surface d’attaque possible.

Les autres trucs…

Ensuite j’en ai profité pour renforcer un peu la sécurité globale du site, ce n’est pas relatif à ce piratage, mais ça aidera à contrer les autres.

J’ai mis en place une protection contre le brute force (des bots qui essayent des combinaisons de mot de passe pour se connecter)

Bon j’utilise sur tous mes sites un mot de passe unique et complexe, donc ils risquent pas de le trouver par brute force, mais ça permettra au moins d’éviter de surcharger le serveur d’essais inutiles.

J’ai bloqué le protocole XML-RPC dont je ne me sers pas. (qui augmente aussi la surface d’attaque possible)

Et j’ai activé une notification sur mon mail quand quelqu’un se connecte à l’admin de WordPress. (si ce n’est pas moi qui me connecte, j’en serais avertie)

Quand j’ai créé les sites qui sont à l’origine du piratage, j’avais moins d’expériences sur ce que je pouvais installer ou pas.

Maintenant j’utilise beaucoup plus de fonction native de WordPress (je n’utilise pas wpDiscuz sur serveur410, Piradex ou ailleurs) et je fais plus attention de manière générale aux plugins que j’installe.

En appliquant ce genre de mesure, je réduis grandement le risque de me faire pirater. (déjà si tu mets à jour WordPress, que tu utilises un bon mot de passe et que tu n’installes pas n’importe quoi comme plugins/thème tu élimines 98% des attaques)

Et si jamais je me fais pirater, je m’en rendrais compte beaaaaaaaaucoup plus rapidement que cette fois-ci.

Le risque de se faire pirater est toujours là.

Comme d’habitude aucun système n’est sécurisé à 100%

Et je ne suis pas à l’abri qu’une faille soit découverte dans un plugin que j’utilise, alors même qu’il est à jour, et qu’elle soit exploitée par des pirates avant qu’elle ne soit découverte par des chercheurs ou les développeurs du plugin (comme c’est le cas de temps en temps)

Mais j’ai au moins fait ce qui est dans mon contrôle pour avoir un site sûr. Le reste je peux rien y faire.

Conseils pour les piratés

Se faire pirater c’est un grand moment de solitude. (surtout quand tu bosses seul, sans équipe, comme moi)

Tu ne sais pas par où commencer.

Tu es dépassé par le nombre d’informations qu’il t’arrive en même temps.

Il faut mettre à la porte les pirates, comprendre comment ils sont rentrer, et nettoyer tous ça.

À ça se rajoute, le côté émotionnel.

La perte de crédibilité, de confiance potentielle auprès de tes utilisateurs/visiteurs, plus ou moins important en fonction de si ton site est critique ou pas…

Se demander si un jour tu vas arriver à remettre tous ça sur pied.

Je te cache pas que pendant un moment j’ai voulu tout arrêté et partir élever des citrouilles dans le Vercors.

Mais finalement :

C’est plus impressionnant que ça n’est compliqué à réparer.

(j’ai réparé ça en plus ou moins 3 jours en prenant le temps, et en tatillonnant)

La majorité des piratages de WordPress sont des piratages de bas niveau.

C’est pas très compliqué de s’en débarrasser.

Ce n’est pas la NSA ou un pirate très déterminé à te nuire qui en a après toi.

Juste des robots/pirates d’entreprises peu scrupuleuse qui cherche à pirater un maximum de site chaque jour pour de la money…

Ce qui est bien c’est que le piratage WordPress est extrêmement documenté (étant donné que ça arrive des milliers de fois chaque jour)

Et donc que tu trouveras plein de ressources pour t’aider dans cette situation.

Également il y a de supers outils comme Wordfence ou Imunify qui te seront d’une grande aide pour nettoyer tout ce bazar (demande à ton hébergeur de lancer un scan, c’est comme ça que j’ai pu avoir accès à des scans Imunify) (mais assure-toi d’avoir une backup avant, à priori certains hébergeurs suppriment carrément ton compte s’ils apprennent que tu as été piraté…)

Et je te laisse avec 4 liens qui m’ont particulièrement aidé :

Bon courage !

Respire…

Prends ton temps…

Et ça se passera bien 🙂

Je ne poste rien sur Twitter, Facebook...

La seule manière d'êtres au courant des nouveaux articles est :

  • De t'abonner par mail :

Voir les derniers mails envoyés

(1x par semaine max, je ne spam pas, je ne sais pas si tu ouvres les mails, pas de tracking)

Pssst : tu peux aussi t'abonner au flux RSS : https://serveur410.com/feed/

12 réflexions au sujet de “serveur410 s’est fait piraté !”

    • Whaaa c’est chaud…

      Là-plupart du temps de piratage est dû à l’utilisateur, et quand c’est la faute de l’hébergeur… bein ça va être difficile à prouver…

      C’est pour ça que je préfère passer par des hébergeurs moyen ou petit (et de confiance), plutôt que par de gros mastodontes sans face. Au moins tu peut avoir un contact humain.

      Si ya des gens qui vont encore chez Godaddy ou Bluehost ou ce genre de société, ça m’intéresse de savoir pourquoi vous êtes là-bas ? Par habitude ?

      Parce que ya 100x mieux ailleurs ! (et au niveau des prix ça doit se valoir)

      Répondre
  1. Il y a aussi le fait que wordpress représentant plus de 50% des sites web de tout l’internet c’est une cible privilégiée pour ce genre de piratage.

    En utilisant autre chose que wordpress, on se mets à l’abri de toutes ces attaques bas niveau automatisées des failles wp ou de ses plugins.

    Répondre
  2. Orel,
    A partir de ce piratage, tu as fait un article plein de pédagogie et de bon sens.
    J’ai appris beaucoup de choses. Tiens-nous au courant si tu vas élever des citrouilles dans le Larzac 🙂

    Répondre
  3. Merci de ta transparence et de toutes ces explications ! Je suis abonné à ta newsletter et je n’ai rien reçu de suspect.
    Et merci globalement pour tout ce que tu fais sur ce site, j’ai vraiment découvert des choses fabuleuses 🙂

    Répondre

Laisser un commentaire