Phishing dans le Cloud : La stratégie Freemium

Arnaques Internet

Voici une technique de phishing, utilisée dans le Cloud, intéressante et très instructive.

cloud

Microsoft a d’ailleurs tweeté récemment à ce sujet :

Notez que cette astuce consistait à “donner à des phishers un nombre illimité d’URL de phishing“, un détail qui a attiré notre attention.

Nous détaillons donc ci-dessous notre point de vue sur cette technique.

Imaginez que vous êtes un cybercriminel

Si vous êtes un cybercriminel qui souhaite lancer une attaque de phishing sur le web pour récupérer des mots de passe de comptes, vous allez procéder en général comme suit :

  • Vous allez configurer un serveur web qui ressemble à la page de connexion habituelle du compte. Vous pouvez copier les images, extraire le code HTML ainsi que le code JavaScript dont vous avez besoin à partir du véritable site, ou utiliser des captures d’écran soigneusement effectuées, de sorte qu’un utilisateur lambda n’y verra que du feu.
  • Vous allez ensuite envoyer un email ou un message instantané pour conseiller, demander, inciter ou exiger que le destinataire se connecte immédiatement. A des fins de vraisemblance, vous pouvez copier du texte et des logos en provenance d’un email récent de la marque que vous ciblez.
  • Enfin, vous allez intégrer dans l’email un lien tombant à pic et menant directement à la fausse page de connexion. Vous devez utiliser votre propre nom de serveur et votre propre URL, mais vous pourrez aussi très bien créer des liens aux allures légitimes qui permettront de tromper un utilisateur pressé.

Le plus difficile ici est de trouver, au départ, un serveur à utiliser.

Vous pouvez configurer votre propre serveur, mais dans notre monde actuel axé sur le Cloud, une telle démarche coûte cher, prend du temps et risque de laisser de précieuses preuves derrière vous qui pourraient intéresser les services de police.

Cependant, si vous contrôlez complètement le serveur, vous pouvez lui faire faire ce que vous voulez.

Vous dépendez du nom du serveur, par exemple example.com, mais vous pouvez le programmer pour qu’il réponde à l’URL de votre choix, afin que example.com/brandrip7/login soit aussi facile à mettre en oeuvre que, par exemple, example.com/account/reset?user=jimbo.

Ainsi, vous pouvez utiliser le même serveur pour hameçonner plusieurs marques différentes en même temps.

Vous pouvez pirater le serveur d’un tiers ou acheter un accès à un serveur piraté, mais cela pourrait vous obliger à utiliser un lien web bizarre et improbable, un prétendu identifiant de messagerie qui se connecte à un magasin de vêtements en ligne, par exemple, et qui ne correspond pas vraiment à vos besoins.

Vous pouvez profiter de la réputation existante du serveur piraté, ce qui est souvent avantageux, en particulier si le nom de domaine est ancien et qu’il n’a pas été piraté auparavant. Le point positif est qu’il n’est probablement pas encore sur une éventuelle liste de blocage.

Toutefois, vous n’aurez pas beaucoup de flexibilité au niveau des URL que vous pourrez utiliser. Par exemple, si le piratage s’appuie sur une faille de sécurité au niveau de la galerie image du site, vous risquez de vous retrouver avec example.org/media/files/thumbs.php ou une URL similaire.

Vous pouvez également créer un compte gratuit (ou de test) sur un service d’hébergement web, vous offrant ainsi une plateforme de confiance, ainsi qu’un certificat TLS bien utile qui affichera un cadenas dans le navigateur de votre victime.

Bien que vous vous retrouviez avec un nom de serveur qui n’est clairement pas le site auquel vous souhaitez ressembler, tel que hosted.example, le service pourra ajouter votre nom d’utilisateur, ou le surnom de votre choix, à l’extrémité gauche.

Donc, vous pourriez vous retrouver avec l’URL ci-dessous, qui a l’air étonnamment réaliste malgré le nom de domaine qui ne devrait pas être là à la fin :

https://well-known-credit-card-company-name-com.hosted.example
https://webmail.service.name.rippedoffvendor.com.hosted.example

Les noms de domaine avec des rajouts à gauche

En rajoutant au nom de domaine des composants supplémentaires du côté gauche, vous dévoilez le vrai nom de domaine et par la même occasion vous confirmez qu’il n’est pas ce qu’il prétend être, au niveau du côté droit.

Sur un appareil mobile ou un ordinateur portable avec une surface d’écran limitée, les fenêtres du navigateur finissent souvent par tronquer les URL dans la barre d’adresse, de sorte que vous ne voyez que le début de celle-ci.

En d’autres termes, la preuve révélant que la page est hébergée sur un service Cloud populaire n’apparaît pas, tandis que l’indication montrant que la page est une page officielle appartenant à une marque complètement différente est, quant à elle, clairement visible.

Voici un exemple qui vous montre comment vous pourriez, au final, avoir accès à très peu de vérité, tout en ayant une forte impression de réalisme.

Le vrai site de Naked Security/Sophos ressemble à l’image ci-dessous, il s’agit d’une fenêtre de navigateur quelque peu exiguë :

cloud

Firefox a grisé la partie nakedsecurity au niveau du nom du serveur, pour vous rappeler qu’il ne s’agit pas de la dernière partie officiellement enregistrée de notre nom de domaine, qui est en réalité sophos.com, mais qui ne rentre pas dans la barre d’adresse.

Si vous êtes prudent, vous pouvez cliquer sur le cadenas pour obtenir plus de détails sur le certificat web renvoyé par le site :

cloud

Interpréter le certificat que vous voyez ici n’est pas facile, mais vous pouvez au moins savoir quelle entreprise délivrant des certificats web s’est portée garante pour nous et la quantité d’informations sur notre adresse dont elle a disposé pour délivrer son attestation.

Mon propre site (ces images ont été retouchées pour changer le nom de domaine en acme.example), en revanche, ressemble à l’image affichée ci-dessous :

cloud

Le certificat est émis par une autre autorité. Dans ce cas, il s’agit d’un certificat de validation basique gratuit de Let’s Encrypt, qui garantit uniquement le fait que je puisse me connecter à mon propre serveur web et en modifier le contenu (en effet, une validation basique, comme son nom l’indique, effectue un minimum de vérifications automatisées pour savoir si vous avez accès au serveur approprié, mais n’essaie pas de vérifier que vous disposez véritablement des droits pour y accéder).

Donc, si je crée mon propre sous-domaine appelé nakedsecurity.sophos.com.acme.example, je peux alors afficher une copie, plutôt passable, du véritable site :

cloud

Il y a beaucoup de choses qui ne vont pas ici, notamment le fait que le texte sophos.com soit grisé par Firefox pour me rappeler qu’il fait partie du nom du serveur, mais pas du nom de domaine, ne rentrant pas réellement dans la barre d’adresse.

En outre, le site est un peu douteux : j’ai utilisé une capture d’écran de mauvaise qualité au lieu du véritable code HTML, pour un résultat plus rapide mais moins précis, et vous pouvez simplement voir le texte acm... dans la barre d’adresse.

Même si l’URL s’estompe à l’extrême droite, la lettre a plus sombre sert néanmoins d’indicateur suggérant qu’un nom de domaine se trouve bien à la fin de l’adresse et que les apparences sont bel et bien trompeuses.

Afficher le certificat nous assène le coup fatal, car il est clairement émis pour un domaine ne se terminant par sophos.com, et ce certificat ne dit rien sur le lien entre le propriétaire du site et les propriétés web de sophos.com, ou son autorité sur celles-ci :

cloud

Vous pouvez également cliquer dans la barre d’adresse et faire défiler vers la droite pour dévoiler au grand jour le remplissage d’URL à gauche.

En d’autres termes, avec un peu d’efforts, même de faux sites web assez passables sont souvent faciles à repérer.

Phishing dans le cloud

Dans l’exemple mentionné dans le tweet de Microsoft ci-dessus, les cybercriminels ont décidé de ne pas utiliser leur propre serveur.

Au lieu de cela, ils ont créé plusieurs instances de serveur sur la plateforme web.app de Google, un service d’hébergement web basé sur le produit Firebase de Google.

Si vous visitez la page principale de web.app, vous verrez :

cloud

En créant une présence web sur cette plateforme, vous pouvez facilement acquérir un nom de site qui est un sous-domaine de la propriété Cloud de Google, avec le certificat HTTPS propre à Google dérivé du site de niveau supérieur.

En fait, tous (ou du moins la plupart) des sous-domaines semblent passer automatiquement par une résolution DNS, produire des réponses par défaut à partir des serveurs Firebase et sont couverts par le certificat maître de web.app, comme vous pouvez l’observer à partir de ces captures d’écran.

Un ensemble de noms de sous-domaines web.app choisis au hasard produisent tous les deux mêmes numéros IP lors d’une recherche via le DNS :

cloud

La sélection de l’un des sous-domaines aléatoires de cette liste conduit à une “page d’attente” par défaut, généralement visible lorsque vous visitez un serveur d’hébergement et essayez d’accéder à un contenu qui n’a pas encore été créé ou à des noms de domaine appartenant pour l’instant à personne :

cloud

En cliquant sur le cadenas et en faisant défiler pour accéder aux détails du certificat web, vous découvrez que Google a assumé la responsabilité de tous les sous-domaines de web.app, en utilisant ce qui est appelé dans le jargon un certificat générique (wildcard certificate).

L’astérisque * désigne le caractère générique du certificat et est couramment utilisé dans les noms de fichiers et les noms de domaine pour indiquer que “tout texte légal peut être inséré ici“.

Le Subject Alternative Name (Nom Alternatif de Sujet) dans un certificat web permet au propriétaire d’un domaine d’utiliser le même certificat pour couvrir plusieurs domaines différents, ainsi que tous les sous-domaines possibles de ces différents noms en utilisant le caractère générique, comme vous pouvez le voir ici :

cloud

L’échec comme moyen pour réussir

Les cybercriminels ont apparemment créé toute une série de domaines web.app similaires mais différents.

Nous avons examiné 56 sites différents signalés via le service VirusTotal de Google, un site via lequel les utilisateurs et les chercheurs peuvent soumettre des programmes et des sites web suspects (que l’ensemble du secteur de la cybersécurité peut ensuite automatiquement partager).

Parmi tous ceux testés, quatre domaines ont retourné des erreurs HTTP 451, un code de retour web signifiant “bloqué pour des raisons juridiques” :

cloud

Les 52 domaines restants ont généré des erreurs HTTP 404, signifiant “page non trouvée“, mais seulement 43 ont généré une page d’attente de type “site non trouvé” (comme illustré dans la capture d’écran ci-dessus), ce à quoi vous pouvez vous attendre pour une page supposée ne pas exister.

Neuf des 52 domaines ayant renvoyé “page non trouvée” avaient en effet déjà été configurés et l’étaient de manière à ce que le contenu par défaut “page non trouvée” soit une page de phishing :

cloud

Notez que, bien que HTTP 404 signifie “page non trouvée“, le trafic web signalant le code d’erreur incriminé est en soi une réponse HTTP classique et peut inclure une page web dans le corps de sa réponse.

Pour un utilisateur regardant une fenêtre de navigateur, une page “page non trouvée” s’affiche de la même manière qu’une réponse marquée d’un code HTTP 200, signifiant en réalité : “OK“.

En d’autres termes, et l’ironie de la situation ne nous échappe pas ici, une “page non trouvée” est signalée de la même manière qu’une page trouvée.

NB : Le serveur web Apache propose même une page 404 spéciale pour indiquer aux visiteurs que votre page officielle 404 “page non trouvée” n’a pas été trouvée. Nous ne savons pas ce qui se passerait si la page “page non trouvée page non trouvée ” devait elle-même être victime d’une erreur de type “page non trouvée”.

Au cas où vous vous poseriez la question, l’apparence que les cybercriminels ont donnée à leur site de phishing est étonnamment proche de la réalité.

Voici à quoi ressemblait le site web officiel de Microsoft dans le même navigateur au moment où nous avons réalisé la capture d’écran factice ci-dessus :

cloud

Pourquoi utiliser une page d’attente comme page de phishing ?

Comme Microsoft l’a mentionné au début, utiliser un HTTP 404 comme une véritable page est une astuce intéressante pour les cybercriminels, car cela signifie que toute URL située sur le site de phishing fonctionnera sans que ces derniers n’aient à se connecter à leurs différents comptes web.app et à configurer une nouvelle URL pour chaque nouvelle campagne de phishing.

Bien sûr, les noms de domaine, jusqu’à présent du moins, sont limités aux neuf qui sont déjà actifs (il en reste 43 disponibles pour les cybercriminels, semble-t-il), mais chacun de ces neuf domaines peut être associé à n’importe quel type de chemin d’une URL, à savoir le contenu de l’URL qui suit la barre oblique (slash) qui suit le nom de domaine.

Aucune des URL suivantes ne fonctionnerait sans que chaque URL ne soit configurée séparément, et donc sans une préparation préalable :

https://outlookloffice365userxxxxxxxx.example/ue10kfsuja8ur/hee8rjmn1il5ngeg159
https://outlookloffice365userxxxxxxxx.example/t7f95d225an169lousbhfk1ocp72vigg
https://outlookloffice365userxxxxxxxx.example/2019/08/19/important-note.html
https://outlookloffice365userxxxxxxxx.example/v5a5eflkm6vhglru
https://outlookloffice365userxxxxxxxx.example/login.aspx
https://outlookloffice365userxxxxxxxx.example/reactivate-your-account?user=dpk6n69

NB : En fait, nous avons concocté ces URL en nous inspirant de la RFC 6761, elles ne sont donc pas réelles.

Pour résumer, les cybercriminels ont trouvé le moyen d’utiliser une plateforme d’hébergement web simple pour générer autant d’URL de phishing qu’ils le souhaitaient, sans programmation ni script de configuration complexe.

D’ailleurs, si vous aviez rempli cette fausse page de connexion et l’aviez ensuite soumise, le formulaire web contenant votre nom d’utilisateur et votre mot de passe aurait été alors uploadé via une page piratée sur le site web d’un hôtel d’Afrique Oriental.

Le serveur de l’hôtel utilise le protocole HTTPS, comme cela devient la norme de nos jours. Votre navigateur ne vous avertira donc pas que vous êtes sur le point d’envoyer un mot de passe via un protocole HTTP non sécurisé.

Avec à la fois la landing page de web.app et la page d’exfiltration des données de l’hôtel utilisant des connexions chiffrées, les cybercriminels se sont fait passer pour des serveurs HTTPS sans avoir à demander eux-mêmes de certificats, simplement en s’appuyant sur le Cloud et en utilisant des serveurs déjà chiffrés.

Heureusement, il semble que le “serveur upload” récupéré par les cybercriminels ait été compromis par une vulnérabilité qui a permis le piratage d’un script spécifique côté serveur dans un répertoire particulier.

Pour résumer, les cybercriminels ont tout de même 52 noms de domaines différents personnalisés avec des liens de phishing, et un nombre pratiquement illimité d’URL à utiliser avec chacun de ces 52 domaines…

… mais ils sont bloqués, de toute façon, dans cette attaque, avec une seule URL inflexible et facilement bloquée, censée être utilisée pour exfiltrer vos mots de passe.

Nous arrivons à la dernière phase de ce scam, à savoir le dernier clic sans lequel les cybercriminels repartent bredouilles, et contre laquelle il est relativement facile de se protéger.

Une chaîne, comme on dit, n’a que la force de son maillon le plus faible, et cet adage nous permet d’éviter les cybercriminels autant, voire plus, qu’il ne les aide à nous piéger avec succès.

NB : Les produits Sophos bloquent l’accès aux pages de phishing piégées et au site piraté au niveau duquel les données volées sont uploadées.

Quoi faire ?

  • Évitez les liens de connexion qui parviennent par message. Si vous devez vous connecter à l’un de vos comptes en ligne, utilisez un lien que vous avez vous-même trouvé. Des services réputés peuvent vous demander de vous connecter, mais ils éviteront généralement de vous envoyer un lien tout simplement parce qu’ils ne vous demanderont jamais de cliquer dessus et vous déconseilleront d’ailleurs de le faire.
  • Pensez à utiliser un gestionnaire de mot de passe. Dans une telle attaque, votre gestionnaire de mots de passe ne mettrait surement pas votre mot de passe Outlook sur le site web de l’hôtel d’Afrique Oriental car les deux services n’auraient aucun lien entre eux.
  • Utilisez le 2FA sur tous les comptes dès que vous le pouvez. Les codes 2FA sont généralement envoyés ou générés sur votre téléphone à chaque fois que vous vous connectez, rendant ainsi votre mot de passe moins utile pour un cybercriminel. Même si un site de phishing demande un code 2FA et que vous en avez un prêt à être utilisé, cette étape supplémentaire vous donne la possibilité de vous arrêter et de réfléchir avant de vous connecter.
  • Utilisez un antivirus avec filtrage web intégré. Un produit tel que Sophos Home, par exemple, bloque non seulement les malwares qui tentent d’infecter votre ordinateur, mais assure également un suivi des sites web vers lesquels vous allez envoyer des données. Par conséquent, il peut vous empêcher de divulguer votre mot de passe dans de tels cas et vous alerter en cas de danger.
  • Faites attention aux indices fournis par votre navigateur. Parfois, même les astuces de phishing les plus soigneusement mises au point sont évidentes à détecter si vous prenez le temps de vérifier les indices fournis par votre navigateur. La partie grisée de l’URL dans la barre d’adresse peut vous aider à repérer un domaine rempli dans sa partie gauche, et vous inciter à vous arrêter pour examiner les certificats web qui vous permettent de démasquer les sites falsifiés ou piratés.
  • Sachez où se trouvent vos actifs Cloud. Les serveurs Cloud sont faciles à installer dans l’urgence et tout aussi facile à oublier par la suite. Un produit tel que Sophos Cloud Optix peut vous aider à garder une trace de votre utilisation du Cloud. Vous ne mettrez donc pas vos données là où elles ne devraient pas se trouver, et vous ne fournirez pas non plus par inadvertance un “hébergement gratuit à des d’avides cybercriminels”.
  • Tenez vos utilisateurs informés. Les pages de phishing comme celle présentée ici peuvent s’avérer redoutables en raison de leur élégante simplicité : en copiant les pages représentatives de marques bien connues, les cybercriminels font en sorte de faire passer votre vigilance à son minimum. Sophos Phish Threat vous permet de former et de tester vos utilisateurs à l’aide de simulations d’attaques de phishing réalistes mais sécurisées.

EN SAVOIR PLUS SUR LES TECHNIQUES POUR STOPPER LES ATTAQUES DE PHISHING

cloud


Billet inspiré de Serious Security: Phishing in the cloud – the freemium way, sur Sophos nakedsecurity.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.