Ayant moi même été touché par cette forme d’attaque je me permet de vous traduire ici un article initialement paru sur le blog de WordFence.com. Cet article détaille comment des hackers ayant récupéré des informations d’identification grâce à d’autres failles de sécurité sur d’autres sites, tentent de les utiliser pour se connecter à des comptes WordPress.com afin d’infecter des sites sous le CMS WordPress.
Dans mon cas, le hacker a, grâce à mon compte WordPress.com, désactivé et supprimer le plugin de sécurité global WordFence. J’ai donc reçu un message d’alerte du plugin m’informant qu’il avait été désactivé, ce qui m’a permis de réagir avant que cette attaque prenne plus d’ampleur.
Pour ma part j’ai activé l’identification en 2 étapes sur WordPress.com et supprimé le plugin Jetpack des sites où il n’était pas essentiel.
Voici la traduction de l’article original :
Des comptes WordPress.com détournés sont utilisés pour infecter des sites sous WordPress
Notre service client de WordFence.com a été alerté d’un problème que plusieurs utilisateurs ont eu au cours des derniers jours. Ces utilisateurs ont tous signalé un plugin malveillant nommé « pluginsamonsters » soudainement installé sur leur site. Ils ont découvert le problème grâce à une alerte du plugin de sécurité Wordfence.
L’équipe de WordFence a donc enquêté sur ces compromissions et dans cet article, nous décrivons comment les hackers ont procédé et ce que vous pouvez faire pour empêcher que cela vous arrive.
En résumé, voilà ce qui se passe :
- Un Hacker va se connecter à un compte WordPress.com en utilisant des informations d’identification compromises.
- Si ce compte sur WordPress.com est configuré pour gérer toutes les installations WordPress via le plugin Jetpack, l’attaquant utilisera cet accès pour installer un plugin « pluginsamonsters » malveillant sur le site cible.
- Le plugin donne à l’attaquant le contrôle total du site web cible et le site est maintenant compromis. Le plugin est visible sur le tableau de bord WordPress.com mais est invisible sur la liste des plugins du site WordPress cible lorsqu’il est actif. (Il est visible lorsqu’il est désactivé)
Pour que cette attaque se produise, les conditions suivantes doivent être remplies:
- Le propriétaire du site doit avoir installé Jetpack.
- Jetpack doit être configuré pour permettre la gestion du site à partir d’un compte WordPress.com.
- Le compte WordPress.com doit avoir des informations d’identification compromises. Cela se produit généralement lorsque vous avez réutilisé une combinaison e-mail / mot de passe sur un autre site ou service compromis.
- Le compte WordPress.com ne doit pas avoir d’authentification à deux facteurs activée.
Faiblesse des mot de passe WordPress.com et Jetpack comme vecteur d’entrée
Jetpack est un plugin WordPress très populaire avec une toute une gamme de fonctionnalités, y compris la possibilité d’interagir avec WordPress.com. Pour utiliser Jetpack, vous devez obligatoirement créer un compte sur WordPress.com. Il vous permet de gérer plusieurs sites WordPress à partir d’une seule et même console centrale sur WordPress.com. L’une des fonctionnalités disponibles est de gérer les plugins sur vos sites, et même d’installer de nouveaux plugins.
Tout comme dans WordPress installé sur votre serveur, vous pouvez soit sélectionner un plugin depuis le dépôt public WordPress, soit télécharger votre propre plugin dans un fichier zip
Lorsque Jetpack est connecté à votre site, il dispose des mêmes privilèges que le compte administrateur du site. Donc, si vous choisissez de télécharger un plugin, tout ce que vous téléchargez sera transmis et installé sur votre site, sans poser aucune difficulté.
Comme nous avons étudié les sites avec « pluginsamonsters » installés, nous avons trouvé des signes que cette fonctionnalité est abusée. Par exemple, nous avons vérifié les journaux d’accès au site au moment de la création du plugin (en fonction de l’horodatage de son répertoire) et trouvé des entrées comme celle-ci:
192.0.89.53 – – [22/May/2018:02:38:06 +0000]
« POST /wp-admin/admin-ajax.php?token=[redacted]×tamp=1526956686&nonce=uFn5aA
OgH4&body-hash=gwB8z8pKX%2F6xzYdAbNzYTNeD8cc%3D&signature=gxiGNsGi2Z9Ba3SwaNUn7Dq
yBXc%3D HTTP/1.0″ 200 141 « – » « Jetpack by WordPress.com »L’adresse IP source fait partie du réseau Automattic, les auteurs de Jetpack. Nous avons également travaillé pour identifier les plugins que tous les sites affectés avaient en commun, et Jetpack était le seul. Une fois que notre développeur principal a fait la remarque que Jetpack permet l’installation à distance d’un plugin, les morceaux du puzzle ce sont mis en place.
Nous avons connecté Jetpack sur certains de nos sites de test et essayé de télécharger un plugin malveillant. Cela a fonctionné, et nos journaux d’accès ont montré la même activité.
Pluginsamonsters un logiciel malveillant
Notre prochaine étape consistait à analyser le logiciel malveillant et à découvrir ce qu’il faisait. Cela n’a pas pris longtemps – c’est assez simple, et comme nous l’avons mentionné, c’est une variante des logiciels malveillants que nous avons déjà rencontrés. Tout comme ses prédécesseurs, il se cache de la liste des plugins dans le tableau de bord WordPress d’un site. Pour être clair, le plugin est toujours visible sur la console de gestion de WordPress.com, mais est caché dans l’interface d’administration du site victime lorsqu’il est activé. Le plugin est visible sur le site de la victime lorsqu’il est désactivé.
Le plugin malveillant maintient un fichier « .txt » qui peut contenir du code à exécuter dans l’action de WordPress loop_start. Il comprend également un script PHP séparé qui est un simple outil de téléchargement de fichiers.
Nous avons pu observer l’utilisation de cet outil par les hackers. Ils l’utilisent à deux fins. Premièrement, ils ajoutent plus de portes dérobées aux sites infectés afin de maintenir l’accès. Ces backdoors sont aussi de simples outils de téléchargement de fichiers, et ils sont créés avec des noms anodins comme wpcfgdata.php, wpplugdata.php, etc. Ensuite, ils modifient le fichier index.php racine des sites infectés. C’est la vraie raison de cette campagne de hack, la partie qui permet de faire du profit aux hackers.
Le code malveillant ajouté à index.php est chiffré, mais assez simple. Il atteint un domaine malveillant – dans tous nos échantillons, c’était roi777[dot]com. De ce domaine, il obtient un autre domaine malveillant – nous avons observé des douzaines de ceux-ci, tous avec l’extension en « .tk ». Il utilise Javascript pour rediriger les visiteurs vers une page sur le deuxième domaine malveillant, et définit un cookie afin que la redirection ne se produise qu’une fois toutes les 12 heures.
D’après nos tests, les pages malveillantes vers lesquelles les visiteurs ont été redirigés contenaient des scarewares, avec des fonctions de synthèse vocale, des fenêtres contextuelles et le piratage de la souris:
Mais il se peut que d’autres contenus soient diffusés en fonction de l’appareil, de l’adresse IP source, etc. Sur les sites infectés, les domaines « .tk » sont actualisés une fois par minute.
Dans certains cas, les hackers éditent également des fichiers Javascript de base, les infectant avec du code pour produire des popups lorsque les visiteurs cliquent sur n’importe quoi sur le site. Ils semblent cibler les fichiers jQuery situés dans / wp-includes / js / jquery.
La première instance de cette attaque que nous avons observée était le 16 mai. À partir d’hier, le 21 mai, les attaquants ont commencé à installer le même plugin malveillant sous un nom différent, « wpsmilepack ».
Comment les hackers entrent
Nous avons déjà observé que ces mêmes hackers utilisaient des attaques de « credential stuffing » en février. Ils prenaient des noms d’utilisateur et des mots de passe volés à partir sur d’autres sites et essayaient de les utiliser pour se connecter directement aux sites WordPress, allant même jusqu’à vérifier les noms de domaine enregistrés par une adresse email compromise. En réponse, nous avons mis à jour le plugin Wordfence pour empêcher les connexions utilisant des mots de passe compromis.
Ces hackers sont ingénieux, et il semble que l’angle de Jetpack soit juste le dernier qu’ils aient trouvé. Il démontre en outre à quel point il peut être dangereux de réutiliser les mots de passe au fil des services.
Ce que vous pouvez faire
Pour vous protéger de cette attaque, nous vous recommandons de prendre les mesures suivantes:
- Assurez-vous que vous utilisez un mot de passe fort et unique sur votre compte WordPress.com. Ce compte dispose d’un accès administratif à tous les sites que vous gérez via WordPress.com et Jetpack.
- Activez l’authentification à deux facteurs sur votre compte WordPress.com. Vous pouvez utiliser ce guide pour activer l’authentification à deux facteurs (ou 2fa) sur votre compte WordPress.com.
Prendre ces mesures verrouillera votre compte WordPress.com et fera en sorte que les pirates ne puissent pas l’utiliser comme vecteur d’entrée dans les sites que vous gérez.
Services de gestion centralisés en tant que cible
WordPress.com vous donne la possibilité de gérer à distance plusieurs sites via le plugin Jetpack. Ce type de fonctionnalité est fourni par plusieurs autres services. Cela peut être un outil puissant pour les agences et les développeurs qui gèrent un grand nombre de sites WordPress. Avouons-le, mettre à jour des centaines de sites Web n’est pas amusant et tout ce qui le rend plus facile est un service précieux.
Il est important de réaliser que, si les outils de gestion à distance sont de puissants facilitateurs, ils disposent également d’un accès administratif aux sites qu’ils gèrent. En tant qu’utilisateur, il est de votre responsabilité de vous assurer que votre compte utilisateur utilise un mot de passe fort et unique avec une authentification à deux facteurs. Sinon, vous risquez de compromettre en masse tous les sites gérés par un service comme celui-ci.
Ces compromissions que nous signalons aujourd’hui ne sont pas le résultat d’une vulnérabilité. Ils sont le résultat de la réutilisation des informations d’identification par les propriétaires de sites. Comme le dit le vieil adage: « Il n’y a pas de victimes. Seulement des volontaires. » Dans ce cas, si vous réutilisez les informations d’identification sur un compte avec ce niveau de gestion et que l’authentification à deux facteurs n’est pas activée, vous vous portez volontaire pour avoir une mauvaise semaine.
Le Plugin Gratuit Wordfence détecte cette variante de logiciel malveillant
Si vous avez été touché par cette attaque, notre équipe de nettoyage de site peut résoudre le site compromis rapidement et efficacement. Vous pouvez en savoir plus sur les nettoyages de sites Wordfence sur cette page.
Dans tous les cas, les clients ayant des sites compromis ont découvert qu’ils avaient été piratés parce que l’analyse des logiciels malveillants Wordfence détectait le code malveillant que l’attaquant avait installé. Étant donné qu’il s’agit d’une variante des anciens programmes malveillants que nous suivons, nos analyses gratuites et Premium peuvent détecter les logiciels malveillants que l’attaquant est en train d’installer. Donc, pour vous protéger contre cela, il suffit d’installer la version gratuite de Wordfence et il vous alertera si une variante de ce plugin malveillant est détectée.
Nous recommandons le service « HaveIBeenPwned » de Troy Hunt depuis un certain temps. J’ai eu le plaisir de rencontrer Troy il y a quelques semaines à Redmond. Encore une fois, nous vous recommandons d’utiliser HaveIBeenPwned pour vérifier si votre adresse e-mail a été impliquée dans des Brèches de données précédentes. Si c’est le cas, assurez-vous de changer votre mot de passe sur tous les services que vous utilisez. Utilisez un mot de passe fort et unique sur chaque service et utilisez un gestionnaire de mot de passe comme 1Password pour gérer vos mots de passe uniques forts.
Wordfence a intégré la base de données HaveIBeenPwned pour s’assurer que vous n’utilisez pas de mots de passe piratés pour vos comptes WordPress. Nous n’avons aucun contrôle sur le compte d’utilisateur que vous utilisez sur WordPress.com, vous devrez donc vous assurer manuellement que vous n’utilisez pas un mot de passe piraté pour ce compte.
Écrit par Brad Haas et Mark Maunder avec des recherches par Åsa Roseberg et James Yokobosky. Montage technique par Matt Barry. Montage final par Dan Moen. Un merci spécial à Åsa, James, Matt et Brad pour la recherche primaire qui a abouti à cette publication.
Retrouvez l’article original sur le blog du Plugin WordFence