vendredi 25 septembre 2026

À propos

Contact

Sécurité

Thèmes et extensions nulled : ce que nous avons trouvé dedans

Trois sites clients infectés, trois copies piratées ouvertes en pièces détachées : portes dérobées, liens cachés, comptes fantômes.

Par Clément Hadrot • 10 avril 2020 • 5 min de lecture • Aucun commentaire
Thèmes et extensions nulled : ce que nous avons trouvé dedans

« C’est la même extension, juste gratuite. » C’est souvent ainsi qu’un client justifie l’installation d’une copie piratée, dénichée sur un forum ou un site de téléchargement douteux, plutôt que d’acheter la licence officielle à quarante ou cent euros par an. Le raisonnement se comprend sur le plan budgétaire. Il ignore un détail essentiel : personne ne sait qui a modifié le code avant de le remettre en circulation.

Cet article revient sur trois cas rencontrés chez des clients qui nous ont contactés après avoir constaté un comportement anormal sur leur site. Dans chacun d’eux, l’origine du problème était une extension ou un thème dit « nulled », c’est-à-dire une version commerciale dont la vérification de licence a été retirée. Nous avons ouvert le code pour comprendre ce qu’il contenait réellement.

Cas n°1 : une porte dérobée dans une fonction de traduction

Le premier site tournait avec une copie piratée d’un thème premium de type vitrine. Le code se comportait normalement en apparence, jusqu’à ce qu’un scan de fichiers révèle une fonction nommée load_theme_textdomain_custom(), absente de la documentation officielle du thème. Elle décodait une chaîne encodée en base64 puis l’exécutait avec eval(), uniquement lorsqu’un en-tête HTTP précis était présent dans la requête.

Concrètement, quiconque connaissait ce détail pouvait envoyer une requête spécialement construite et faire exécuter n’importe quel code PHP sur le serveur, à l’insu complet du propriétaire du site. Le thème fonctionnait très bien au quotidien : rien dans l’expérience visiteur ne trahissait la présence de cette porte.

Cas n°2 : des liens de spam invisibles dans le pied de page

Le deuxième site utilisait une extension de constructeur de pages piratée. Le souci ne venait pas d’une fonction évidente, mais d’un fichier de template modifié : un bloc de liens vers des sites de vente de médicaments et de paris en ligne, inséré en pied de page avec un style display: none. Invisible pour un visiteur humain, parfaitement lisible par les robots des moteurs de recherche, qui avaient fini par pénaliser le référencement du site sans que personne ne comprenne pourquoi pendant plusieurs semaines.

L'essentiel à retenir : Une porte dérobée cachée dans une fonction anodine du thème ; Des liens de spam injectés invisibles dans le HTML public ; Un compte administrateur fantôme créé au premier chargement

Cas n°3 : un compte administrateur créé en silence

Le troisième cas est le plus direct. L’extension piratée, un plugin de formulaires, contenait dans son fichier principal un appel à wp_insert_user() déclenché au premier chargement d’une page d’administration, créant un compte avec le rôle administrator et un identifiant proche de wp-support. Le mot de passe était codé en dur dans le fichier. N’importe qui connaissant ce plugin piraté pouvait s’y connecter sur tous les sites l’utilisant.

Ce compte est resté invisible plusieurs mois : listé parmi les utilisateurs, mais avec un nom suffisamment discret pour ne pas attirer l’attention lors d’un coup d’œil rapide à l’écran Utilisateurs.

Ce que ces trois cas ont en commun

  • Le code modifié reste fonctionnel : le thème ou l’extension continue de remplir sa mission apparente, ce qui retarde la détection.
  • Les modifications ciblent des fichiers peu consultés (templates secondaires, fichiers d’initialisation) plutôt que le fichier principal.
  • Aucune de ces copies ne recevait de mise à jour légitime : les correctifs de sécurité ultérieurs de la version officielle ne s’appliquaient jamais.
  • Dans les trois cas, l’extension avait été téléchargée sur un site tiers, jamais sur WordPress.org ni sur la boutique de l’éditeur.

Pourquoi le risque dépasse la simple absence de mises à jour

L’argument habituel contre les copies piratées est qu’elles ne reçoivent pas les correctifs de sécurité. C’est vrai, mais c’est loin d’être le principal danger : une copie qui ne reçoit jamais de mise à jour est prévisible. Le vrai risque, illustré par nos trois cas, est que le code a été délibérément modifié avant sa mise en circulation, avec une intention malveillante précise et difficile à repérer sans relire chaque fichier.

Un thème piraté qui fonctionne parfaitement n’est pas une preuve d’innocuité, c’est souvent le signe que la porte dérobée a été bien conçue.

En résumé

Les trois audits présentés ici ne sont pas des cas isolés : chaque semaine, des sites WordPress sont compromis via une extension ou un thème obtenu hors des canaux officiels. Le coût d’une licence légitime reste dérisoire face au temps passé à diagnostiquer une infection, sans même compter l’impact sur la réputation et le référencement. Vérifier l’origine d’un composant avant de l’installer devrait faire partie du réflexe de tout administrateur de site, au même titre que la sauvegarde.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi