Accueil > Blog > MainWP j’aime et j’aime pas

MainWP j’aime et j’aime pas

marionette

Voilà, ça fait maintenant quelques temps que j’ai cru percevoir une faille dans le système de MainWP, puis en lisant des “trucs” à droite à gauche, en regardant sur le forum de MainWP et autres, j’avais commencé à me convaincre qu’en fait, ce n’était qu’une illusion. Un peu comme quand on est persuadé de quelque chose mais qu’autour de vous, tout le monde te dit que ce n’est pas vrai.

Avant-propos

Si votre site esclave (celui où est installé mainWP-child) est relié au site maitre, aucun soucis à se faire, tout se joue entre le moment de l’install du plugin esclave et sa liaison au maitre

Ok,  mais quand ton réseau est lié à un plugin et que ça t’en réveille la nuit, c’est que ton inconscient te crie “Fuck les gens, putain, il y a un truc qui ne va pas alors prouve le”. C’est bien joli mon inconscient, le prouver, c’est enfreindre la loi ici, et je parle pas de guidelines de Mister G que j’enfreins à outrance, non là, il s’agit des lois françaises…..

Bon, alors trouve un moyen de faire autrement.

 

Petit rappel sur la loi

La Cour d’appel de Paris a considéré dans un arrêt du 5 avril 1994 que ” l’accès frauduleux, au sens de la loi, vise tous les modes de pénétration irréguliers d’un système de traitement automatisé de données, que l’accédant travaille déjà sur la même machine mais à un autre système, qu’il procède à distance ou qu’il se branche sur une ligne de communication “.

L’article L.323-1 du Nouveau code pénal prévoit que ” le fait d’accéder ou de se maintenir, frauduleusement, dans tout ou partie d’un système de traitement automatisé de données est puni d’un an d’emprisonnement et de 15 000 euros d’amende “. Ces systèmes comprennent, entre autre, les sites web.

” Lorsqu’il en résulte soit la suppression ou la modification de données contenues dans le système, soit une altération du fonctionnement de ce système, la peine est de 2 ans d’emprisonnement et de 30 000 euros d’amende

L’article 323-2 du Nouveau Code pénal définit l’entrave volontaire au système comme ” Le fait d’entraver ou de fausser le fonctionnement d’un système de traitement automatisé de données “. “La peine encourue est de 3 ans d’emprisonnement et de 45.000 euros d’amende.

Plus d’informations : http://www.djibouteam.fr/legislation-francaise-hacking-intrusion/

Alors aujourd’hui, par simple sécurité pour vous, pas pour moi, je vais commencer par la fin, je vais vous donner directement la solution afin de vous protéger, vous utilisateurs de MainWP. Dans une semaine donc, je publierai le début de cet article concernant ce que j’ai trouvé, mais il m’apparaissait évident que le faire dans l’ordre normal risquait de créer un chaos sans nom. Et comme je sais que pas mal de SEOs utilisent ce plugin, je préfère laisser le temps à cet article de faire le tour avant de lâcher les chiens et vous faire me détester.

à quoi sert MainWP ?

MainWP est un plugin que l’on va installer sur ses différents WordPress avec un plugin dit “esclave” , le MainWP-child afin de pouvoir prendre la main sur tous ces esclaves depuis une instance “maître” (un WordPress pour les contrôler tous).

Plugin super utile quand on a une tripotée de WordPress à gérer, il faut savoir que ce plugin est vraiment super intéressant à utiliser, j’en suis moi même un amoureux (oui mais).

Conclusion du début

Bon, on va faire simple, quand vous installez un esclave, vous devez le lier immédiatement au maître.

SAVBon, j’ai envoyé un mail au support de MainWP, c’est tellement ridicule que ça m’a mis la rogne, ils sont mignons, mais limite ils me prennent pour un con et me disent que c’est moi qui ai mal configuré mes instances.

Ils sont tellement gentils qu’ils m’ont même donné les URLs pour corriger mes possibles problèmes, ok j’ai lu leur torchon et leurs correctifs sont presque pire que le mal initial, mais ça j’y reviendrai la semaine prochaine.

En attendant, si tu as du MainWP chez toi, vérifie que tes esclaves sont tous bien reliés,

si tu n’as pas les fonds nécessaires pour te payer la licence suffisante pour gérer tous tes WP esclaves, supprime le plugin mainWP-child des sites non reliés, c’est vital, vraiment.

Dans le cas contraire, tes sites sont tous reliés, pas de soucis, tu peux dormir tranquille.

Pour plus de sécurité, je te conseille très fortement de lire cet autre article écrit par Sylvain Deauré : http://www.blog-expert.fr/?p=1399

 

Dans 7 jours, je publierai la suite, c’est à dire la possible faille et le reste.

crédits de la photo : http://www.oxfordartfactory.com/sands-through-the-hourglass-every-fri-sat-in-august-2012/sands-marionette/

Partie 2 : 7 jours plus tard, alors, il vient d’où le problème ?

exemple-mainWP-child

Le problème, il vient tout simplement du fait que pour lier un esclave à un  maître, il n’y a besoin que du login, pas de mot de passe. Et le fameux “Child Unique Security ID:” mouais, youpi.

Simple, quand vous liez un esclave, vous vous êtes déjà emm***é à remplir le unique ID ? vous avez vu la galère que c’est pour monter tout le truc ? du coup, on laisse par défaut, et c’est ça le problème.

Alors, vous me direz, oui mais bon, faut connaitre le login du WP : STOP 2 minutes, admin est le login le plus utilisé sur WP car c’est le login par défaut, et quand ce n’est pas ça, je sais que la plupart d’entre vous, moi y compris, on est parfois feignants, et pour un MFA encore plus, du coup, retrouver le login de l’admin, suffit de retrouver l’author, ok, tout le monde me suit là ?

Maintenant parlons plus “footprint”

En tant que SEO, nous sommes déjà sensibles au concept de footprint, je vous laisse chercher donc le chemin jusqu’au plugin esclave de MainWP, il est pas trop dur, et même si google n’affiche plus de résultats via la requête “inurl:” (merci bibi qui a envoyé des mails aux proprios pour faire le nécessaire au nettoyage), il n’en reste pas moins possible de retrouver via google des sites l’ayant installé. Vous êtes SEOs, donc je pars du principe que vous saurez chercher.

Maintenant, ne parlons plus SEO, mais plus sécurité WEB. Vous savez qu’il existe des crawlers pour les moteurs de recherche, mais sachez qu’il en existe pour tout et n’importe quoi des crawlers. Et il en existe aussi pour renifler les CMS (wapalyzer par exemple) et d’autres pour sniffer des failles.

Les developpeurs ne me contrediront pas quand je dis que développer un crawler simple, c’est facile et rapide. Maintenant, si un hacker a sniffé cette faille, sait-on jamais, et qu’il se soit fait son petit crawler qui ira sniffer tous les WP et checker si le plugin MainWP esclave est installé …..

Dites vous que nous ne sommes pas seuls sur le WEB, que nous ne sommes pas les maitres du WEB, et encore moins les plus filoux. Donc, dites vous que d’autres y auront pensé et ne seront pas forcément aussi White Hat que moi sur ce coup.

Au final, pour accéder à n’importe quel mainWP esclave, il suffit d’en avoir repéré un, rentrer le login et URL du site cible, juste le root URL, pas de mot de passe, et si le mainWP esclave n’est pas encore lié à un maitre, c’est premier arrivé premier servi, les autres se feront recaler. Une fois dans votre WP, le hacker n’aura aucun mal à poser une vraie backdoor et supprimer le plugin, vous faisant croire que votre install du plugin esclave a buggué, ou plus sournois, libérer l’esclave afin que vous puissiez en reprendre le contrôle et sans vous rendre compte de rien…..

Encore plus loin, pouvoir mettre en surveillance le blog parasité dans le but de sniffer votre compte Adsense (oui on est sur un MFA), tracker votre ID, et regarder si le reste de votre réseaux ne serait pas accessible. Imaginez votre tronche si du jour au lendemain, pouf, tout votre réseau envoit VOTRE fric à quelqu’un d’autre ? Ou pire, si le quelqu’un est assez sournois pour faire en sorte de n’afficher son propre ID adsense qu’une fois sur 3, vous ne vous rendrez compte de rien….

Conclusion

Dernier petit rappel, pour ceux que cela amuseraient de vouloir passer du mauvais côté de la barrière le premier paragraphe sur la législation . De plus, si vous vous sentez à l’abri derrière votre VPN, sachez que les autorités peuvent via injonction (suite à plainte ou autre) faire demander au service de VPN quelle était l’IP réelle qu’il cachait au moment X, date Y, instant T sur le site Z, et croyez moi, il y a beaucoup de sociétés de VPN qui ouvrent très facilement leurs portes pour ne pas se risquer avec la justice (ne comptez pas non plus sur moi pour vous dire qui est sûr ou pas, je ne le ferai carrément pas)

Aujourd’hui, si je publie ce billet, c’est parce qu’après avoir expliqué aux DEVs de MainWP, dont je suis aussi client, via un mail super long et détaillé, la teneur de cette faille (oui car pour moi, à partir du moment ou il est possible de rentrer quelque part où l’on ne devrait pas, c’est qu’il y a faille de sécurité) ces derniers m’ont carrément chié à la bouche en me disant que c’était moi qui ne savait pas configurer mon plugin, et que s’il y avait une faille, ils seraient les premiers au courant…… co**ards.

 

Sauvez un dauphin albinos, partagez !!!

A propos DjibouTeaM

Check Also

Barbecue SEO Toulouse

Ce vendredi 09 juin, on se retrouve entre gens du WEB pour se faire un …

14 commentaires

  1. Bon du coup je suis protégé, j’installe au moment de l’ajouter à mon maitre

    merci de l’info que j’ai faite tourner

  2. Je ne connais absolument pas ce plugin ; mais en clair, si j’ai bien compris, un site non-relié souffre d’une importante faille de sécurité qui pourrait permettre à quelqu’un de {malintentionné|malin} de griller l’ensemble du réseau ?

    • Salut Alex,

      alors, non, il ne pourrait pas griller le réseau, fort heureusement, pour l’instant, je ne préfère pas dévoiler ce que l’on peut faire, le temps que l’article tourne et permette à ceux qui gèrent leurs réseau via ce plugin, de pouvoir mettre en place ce qu’il faut pour s’en protéger et protéger les suivants.

      Je te répondrais donc par le biais de la partie 2 de l’article 😉

      Pas que je veuille faire de mystère, mais je veux surtout permettre aux utilisateurs de pouvoir se couvrir avant de lâcher la suite (par mesure de précaution, en somme)

      • Okay, pas de problème. Bon du coup tu as piqué ma curiosité, je repasserai dans sept jours 🙂

  3. Je ne suis pas sûr d’avoir compris. L’ID unique du WP child n’est pas obligatoire ?

    • Exact Lionel, l’ID unique n’est pas obligatoire, sauf si tu as bien pris le temps de paramétrer ton mainWP-Child (une horreur au passage), c’est à dire, comme la plupart des bases de sécurité sur WordPress, effectué par 10% des gens.

      Quand je parle de la base en sécurité WP, je parle de créer un second admin sur WP et supprimer le premier, ne pas mettre admin en login, créer et utiliser un compte qui ne fera que la rédaction sur son blog mais pas qui soit rédacteur et Admin du WP (trop facile de retrouver le login sinon), etc.

      Le seul moyen de se protéger est de lier le mainWP-child (l’esclave) au maitre dès l’install du plugin esclave, direct, sans attendre.

  4. Hello

    J’attendais cet édit, merci !

    Le problème que tu soumets et le même pour ManageWP, une fois le plugin esclave installé il nous indique en notice rouge dans l’admin qu’il faut de suite l’ajouter via le manager (le maitre) sinon il y a risque qu’une personne l’ajoute.
    J’avoue que la faille est exploitable, mais qui irait installer un esclave sans le lier au maitre ? Ce serait ne pas respecter la logique de la chose.
    Je me demande si vraiment on peut trouver via les footprints un site esclave sans maitre. La faille n’est donc pas si exploitable que ça je pense et nécessite effectivement une mauvaise manipulation de la part de la personne qui installe l’esclave, c’est à dire de ne pas le lier de suite à un maitre.

    Merci tout de même du partage même si je m’attendais vraiment un du lourd, là finalement je reste sur ma faim :p Je vais devoir lécher le plat ^^

    • Malheureusement, le problème de la mauvaise manip semble bien réel, car en cherchant pas très fort, donc en restant sur un moteur “classique” comme Google, j’ai réussi a en détecter 6 sur le TOP 30 des SERPs sur une footprint pas super bien calibrée.

      Au départ, je ne m’attendais pas à autant de résultats car la requête que j’ai entré n’était pas super ciblée, et je partais du même postulat que toi, à savoir “quelqu’un qui installe ce genre de plugin, le relie de suite”, mais force est de constater qu’il y a des ratés dans les installs, dans les liaisons entre maîtres et esclaves.

  5. Merci beaucoup pour l’info ! Je fais un lien vers cet article depuis la rubrique “veille technologique” de mon blog. Ce que tu expliques pour MainWP existe sans doute pour d’autres plugins qui font des relais entre les WordPress, d’où l’importance de bien tout tester, et en cas de code obfusqué, hop à la poubelle et on en prend un autre ou on le développe !

    • clair qu’il doit y en avoir d’autres, t’imagine même pas à quel point il est facile de créer une backdoor sur un wordpress à partir du moment ou tu es dedans.

      rien qu’avec les fonctions natives de WordPress, il est possible de se connecter en admin sans login ni mot de passe, alors, le mieux reste vraiment de sécuriser dès l’entrée.
      Je ne parle mêem pas des failles dues à des plugins mal codés (les lecteurs de CrockSEO.com savent de quoi je veux parler ) donc, il vaut mieux rester vigilant.

  6. Hop une petite note vers cette page depuis http://reseau.dumac.free.fr/dumaciens/article.php3?id_article=167 et encore merci pour l’info !

    Je suis un ancien de Code Seo donc j’imagine bien pour les rusés de Crockseo ^^

  7. Ouh, ça envoie du lourd ce truc. Donc au final, je n’étais pas très loin de l’explication quand je disais qu’un type borderline pouvait “griller” l’ensemble du réseau.

    Vraiment dommage que les dev ne se bougent pas le cul plus que ça. Le problème avec ce genre de billet, c’est que c’est à double tranchant : il y aura bien un connard pour essayer ce que tu viens de décrire. Du coup, corriger cette faille me semble plus que jamais nécessaire à la lumière des différents possibles de nuisance…

    • C’est d’ailleurs la raison pour laquelle j’ai publié la semaine dernière une des possibles solutions avant de publier le reste aujourd’hui.

      Après, libre aux script kiddies de tenter, la sentence est aussi expliquée en début d’article, et rester anonyme aujourd’hui sur le web est quelque chose de TRÈS difficile, les vpns et proxies n’y changent plus grand chose

  8. Pour ce plugin, je me rappelle qu’ils avaient à l’époque laisser le dossier backup en lecture simple. Bref, le mec qui faisait le backup de tous ses sites pouvaient se les faire prendre facilement.
    J’avais mis en avant le délire sur leur forum et heureusement qu’ils ont corrigé rapidement.
    Si tu veux augmenter ta parano, je pourrai te filer quelques liens d’un OS sur Youtube en privé.