Vitrina Site Connector et SEO Client : l'injecteur cloaké WordPress
Un mu-plugin « Vitrina Site Connector » ou « SEO Client » que vous n'avez pas installé ? C'est un injecteur qui cloake une redirection casino. Voici comment le reconnaître et le retirer.
Vous avez trouvé, dans wp-content/mu-plugins/, un fichier nommé wp-http-transport.php ou wp-seo-client.php — ou un mu-plugin qui se présente comme « Vitrina Site Connector » ou « SEO Client ». Vous ne l’avez pas installé. C’est un injecteur cloaké : une famille de malware que nous avons documentée en la nettoyant sur des sites réels, et que la plupart des scanners ne détectent pas.
Qu’est-ce que Vitrina Site Connector / SEO Client ?
C’est un injecteur de redirection planqué dans les must-use plugins de WordPress. Sa particularité : le code est propre, non obfusqué, écrit comme un vrai plugin orienté objet. Il ne contient ni eval() ni base64 — rien de ce que cherchent les antivirus classiques. À l’exécution, il contacte un serveur distant (C2) pour récupérer une destination, puis redirige une partie des visiteurs vers un casino ou l’affiche dans une iframe.
Nous l’avons rencontré sous deux composants complémentaires : un loader nommé wp-http-transport (Vitrina Site Connector) et un module wp-seo-client (SEO Client), avec un serveur de commande sur le domaine dillduck24[.]info.
Comment il fonctionne
- Emplacement furtif : les mu-plugins s’exécutent automatiquement, n’apparaissent pas dans la liste des extensions et ne peuvent pas être désactivés depuis l’admin.
- Beacon vers un C2 : le plugin appelle un point distant (par ex.
/vitrina/api/gate.phpou/seo-client.php) pour recevoir sa consigne au moment de la requête. La charge n’est donc pas dans le fichier — elle arrive en direct. - Protocole de réponse : le serveur renvoie des balises de type
<redirect>ou<frame>que l’injecteur interprète pour rediriger ou encadrer la page. - Cloaking : la redirection est conditionnée (visiteur non connecté, robots exclus ou ciblés selon le cas). Un administrateur connecté ne voit rien.
- Spam en base : la famille s’accompagne souvent d’articles injectés dont le champ auteur (
post_author) sort de la plage normale — typiquement entre 999 et 9999.
Les symptômes
- Un ou deux mu-plugins inconnus :
wp-http-transport.php,wp-seo-client.php. - Une redirection vers un casino signalée par des visiteurs, invisible pour vous.
- Des articles spam en base attribués à des identifiants d’auteur anormaux.
- Aucun résultat des antivirus classiques, malgré des symptômes réels.
Comment vérifier si vous êtes infecté
En SSH :
ls -la wp-content/mu-plugins/
grep -rn "vitrina\|seo-client\|http-transport" wp-content/mu-plugins/
grep -rEl "<\s*redirect\s*>|<\s*frame\s*>" wp-content/ --include=*.php
Côté base, cherchez les articles dont l’auteur sort de la plage de vos vrais comptes. Le scan gratuit WP-Detox inclut la détection comportementale de cette famille : il repère l’injecteur qui émet du contenu distant et le cloaking, là où les scanners de signatures échouent.
Le supprimer proprement
- Sauvegardez l’état actuel (fichiers + base).
- Supprimez les mu-plugins
wp-http-transport.phpetwp-seo-client.php, ainsi que tout mu-plugin inconnu. - Purgez le spam en base : les articles injectés aux auteurs anormaux (voir supprimer les articles spam casino).
- Cherchez les backdoors compagnons : cette famille arrive après une intrusion, il y a souvent d’autres portes — voir trouver et supprimer une backdoor.
- Fermez la faille et régénérez tous les accès (admin, base, FTP, clés de salage).
Comment il revient (persistance)
L’injecteur ne stocke pas sa charge : il la reçoit du C2 à chaque requête. Supprimer un affichage spam ne sert donc à rien tant que le mu-plugin est là — il réinjecte à la visite suivante. Et si l’accès d’origine (compte admin ou FTP compromis) n’est pas fermé, l’attaquant redépose simplement les mu-plugins. Le nettoyage n’est complet que lorsque les deux loaders sont retirés, le spam en base purgé et la porte d’entrée fermée.
FAQ
Pourquoi mon antivirus ne détecte pas Vitrina Site Connector ?
Parce que le code n’est pas obfusqué : c’est du PHP propre, bien écrit, qui ressemble à un vrai plugin. Les scanners qui cherchent des motifs comme eval() ou du base64 passent à côté. C’est la détection comportementale — le cloaking, le beacon vers un serveur distant, la plage d’auteurs anormale — qui le trahit.
Je ne vois aucune redirection sur mon site, suis-je quand même infecté ? Peut-être. L’injecteur cloake : il n’active la redirection que pour certains visiteurs et jamais pour un administrateur connecté. L’absence de symptôme visible pour vous ne prouve rien ; il faut vérifier la présence des mu-plugins et du beacon.
Supprimer les deux mu-plugins suffit-il ? C’est le cœur, mais pas toujours tout. Cette famille s’accompagne souvent d’articles spam en base (auteurs 999-9999) et parfois d’autres accès. Il faut retirer les mu-plugins, purger le spam en base et fermer la faille d’entrée.
Cette famille, nous l’avons identifiée et nettoyée sur des sites réels — c’est ce qui nous a permis d’ajouter sa détection comportementale à notre scanner. Le scan est gratuit, le nettoyage prend environ 30 minutes, c’est 149 € HT et remboursé si le site n’est pas propre. Pour la vue d’ensemble, commencez par le guide complet pour nettoyer un WordPress piraté.