Le blog sécurité de FireAI

Par FireAI Security & Research Team · Publié

Phishing « Installer en tant qu'application » : lorsqu'un site Web se fait passer pour un logiciel

Phishing « Installer en tant qu'application » : lorsqu'un site Web se fait passer pour un logiciel

Les navigateurs basés sur Chromium permettent à un utilisateur de transformer presque n'importe quelle page Web en ce qui ressemble à une application native : sa propre fenêtre, sa propre icône Dock, aucun chrome de navigateur visible. Cette fonctionnalité est destinée aux sites légitimes que vous utilisez souvent. Le chercheur en sécurité mr.d0x documenté, le 11 juin 2024, a expliqué comment le même mécanisme peut être transformé en kit de phishing : installer une page en tant qu'application, puis dessiner une fausse fenêtre de navigateur, une barre d'adresse et tout, dans le code HTML de l'application.

Comment se construit l’illusion de l’application installée

Dans la technique documentée, une victime est dirigée vers une page qui l'invite à l'installer en tant qu'application, l'invite d'installation elle-même affichant un nom usurpé tel que « Connexion Microsoft ». Une fois installée, l'application s'ouvre dans sa propre fenêtre sans chrome. Puisqu’il n’y a pas de véritable barre d’adresse à usurper, la page dessine la sienne avec CSS : un faux convaincant, positionné exactement là où se trouverait la barre d’adresse d’un navigateur, affichant l’URL que l’attaquant souhaite afficher. Pour quelqu’un qui a été formé à « vérifier la barre d’adresse », l’application semble réussir cette vérification, car ce qu’il regarde n’est pas du tout la barre d’adresse du navigateur.

Qu'est-ce qui rend cela réellement convaincant

  • Il s'installe comme un logiciel normal : une icône dans le dossier Dock ou Applications, sa propre fenêtre, parfois des notifications push, dont aucune ne nécessite de quitter le propre flux d'installation du navigateur.
  • Le nom et l’icône de l’invite d’installation correspondent à ce que le manifeste de l’attaquant déclare. Rien dans l'étape d'installation ne vérifie que le nom correspond au site.
  • Une fois exécuté, le faux chrome persiste pendant toute la durée de la session : pas d'onglets de navigateur, de barre de favoris ou d'icônes d'extension pour briser l'illusion.

Auditer ce qui est réellement installé, depuis le terminal

Sur les navigateurs basés sur macOS, Chrome et Chromium, installez ces « applications » comme des ensembles d'applications ordinaires, et chacune enregistre la véritable URL sur laquelle elle a été installée à partir de son propre Info.plist, quel que soit le nom affiché dans le Finder. Nous l'avons confirmé par rapport à une application réelle actuellement installée sur ce Mac (un raccourci installé dans le navigateur vers un tableau de bord Cloudflare) :

Terminal
ls ~/Applications/*.localized/
Cloudflare.app

plutil -p ~/Applications/"Brave Browser Apps.localized"/Cloudflare.app/Contents/Info.plist | grep -i CrAppMode
  "CrAppModeShortcutName" => "Cloudflare"
  "CrAppModeShortcutURL" => "https://dash.cloudflare.com/"

Ce champ CrAppModeShortcutURL représente le fait qu'une fausse barre d'adresse ne peut pas modifier : il est défini une fois, au moment de l'installation, à partir du propre manifeste de la page, et c'est ce que l'application ouvre réellement à chaque lancement. Une application nommée « Bank Login » dont le CrAppModeShortcutURL pointe ailleurs que le domaine réel de votre banque a parlé d'elle-même.

  1. Répertoriez toutes les applications Web installées : ls ~/Applications/*.localized/*/, une fois par navigateur Chromium que vous utilisez (Chrome Apps.localized, Brave Browser Apps.localized, Edge Apps.localized et similaire).
  2. Pour tout ce dont vous ne vous souvenez pas clairement de l'installation ou qui gère une connexion, vérifiez sa véritable URL : plutil -p "<path>/Contents/Info.plist" | grep -i CrAppMode.
  3. Surveillez la véritable origine que Chromium affiche brièvement lorsque l'application s'ouvre et lisez-la, plutôt que la propre interface dessinée de l'application.

Pourquoi s'agit-il d'un problème de réseau, pas seulement d'un problème d'interface utilisateur

Quelle que soit l'apparence de la fenêtre, une page de collecte d'informations d'identification doit toujours envoyer ce qu'elle a collecté quelque part, sur le réseau, à partir d'un processus exécuté sur votre Mac. Un pare-feu qui demande uniquement « le binaire de cette application est-il signé et approuvé » ne peut pas aider ici : une PWA installée s'exécute dans le propre exécutable signé et approuvé du navigateur. Ce qui peut aider, c'est d'observer la connexion elle-même : quel processus l'établit et où elle va réellement, indépendamment de ce que prétend être la fenêtre à l'écran.

Le rôle de FireAI et de HisnLabs

Whatever a fake login screen looks like, it still has to send the password it captured somewhere; FireAI shows you exactly which process is trying to phone home and to what destination, installed web app or not, and lets you say no before anything leaves your Mac.

FireAI est le produit de HisnLabs : un pare-feu IA embarqué pour Mac. Il montre en langage clair chaque connexion faite par vos applications et vous laisse décider ce qui sort de votre Mac — son IA fonctionne en local, votre trafic ne nous est jamais envoyé, ni à personne d’autre. L’équipe de recherche en sécurité de HisnLabs est celle qui garde ces décisions fiables : elle recense les domaines de simple télémétrie face à ceux d’un vrai service, suit le pays et le réseau derrière une connexion, et entraîne le modèle embarqué (la fonction Autopilot) sur du trafic réel, sans que rien ne quitte votre Mac.

Vous pouvez lire les choix techniques qui s’y trouvent, ou essayer FireAI pendant 17 jours, sur FireAI, par HisnLabs.

Sources