Pour gérer vos consentements :

SmartScreen : le bouclier de Microsoft Edge détourné pour du malvertising

Destinée notamment à avertir les internautes lorsqu’ils visitent des sites potentiellement malveillants, la fonction SmartScreen du navigateur Microsoft Edge peut être détournée pour diffuser des scams.

C’est, en substance, le constat qu’établit Manuel Caballero.

Ce chercheur indépendant en sécurité informatique s’est intéressé aux travaux menés par un confrère de Malwarebytes à propos du malvertising, qu’on définit communément comme l’utilisation de la publicité en ligne pour diffuser des logiciels malveillants.

Les travaux en question se concentrent sur l’évolution des pratiques au-delà du JavaScript typiquement utilisé pour envoyer des pop-up en boucle. L’accent est mis sur la puissance de certaines fonctions HTML5, à l’image de history.pushState(), qui consiste à insérer des données dans l’historique… et qui a la particularité, lorsqu’elle est utilisée de manière répétitive, de ne pas planter le butineur, mais de le bloquer, en sollicitant la machine au maximum de ses capacités.

En conséquence, l’utilisateur a le temps de lire le message qui s’affiche. Typiquement, une alerte « contextuelle » de type « Votre ordinateur est peut-être infecté », avec un numéro de téléphone d’apparence légitime, mais qui cache une arnaque.

Messages trompeurs

Sur cette base, Manuel Caballero a étudié SmartScreen et son système de blocage des URL malveillantes.

Il a déterminé que les alertes affichées dans le navigateur provenaient d’une ressource interne. En l’occurrence, une page HTM dénommée « PhishSiteEdge » et appelée via le protocole ms-appx-web.

Pour autant, ce n’est pas cette URL qui s’affiche dans la barre d’adresse : il s’agit de celle associée à la fonction hash.

Une recherche dans l’explorateur confirme que PhishSiteEdge.htm se trouve bien en local, dans le sous-dossier \Assets\ErrorPages du répertoire d’installation du navigateur.

Il s’y trouve d’autres ressources HTM qui ne peuvent pas toutes être chargées dans Edge, que ce soit directement, par l’intermédiaire d’une page Web ou encore d’un script.

En jouant avec la fonction window.open, qui retourne un message d’erreur lorsqu’un élément ne peut pas se charger, Manuel Caballero a déterminé qu’il suffisait de changer un caractère dans une URL bloquée pour qu’elle ne le soit plus.

Quel intérêt ? Celui de pouvoir remplacer un élément d’une URL par son code ASCII (par exemple, « 2E » pour le point) et ainsi de conserver une URL valide.

Reste alors à modifier le hash avec l’adresse qu’on souhaite afficher à l’utilisateur.

Non sans oublier de régler quelques paramètres que la page d’alerte (ici « BlockSite.htm ») importe via la fonction location.search : « BlockedDomain » pour afficher une URL en dessous du message d’alerte et « Host » pour insérer entre autres un numéro de téléphone… qui hérite automatiquement d’un lien cliquable.

Recent Posts

Cybersécurité : attention aux QR codes dans les PDF

Les attaques de phishing utilisant des QR codes frauduleux intégrés dans des documents PDF joints…

3 semaines ago

Windows 11 : une mise à jour majeure apporte de nouvelles fonctionnalités

Microsoft a amorcé le déploiement de Windows 11 24H2. Passage en revue des nouvelles fonctionnalités…

2 mois ago

Microsoft 365 : comment Copilot se déploie dans toutes les applications

L'intégration de Copilot dans la suite bureautique s'accélère. Où trouver l'assistant IA et comment l'utiliser…

2 mois ago

PC Copilot + : Microsoft veut garder Recall

Microsoft annonce une phase expérimentale pour lancer Recall sur les PC Copilot+. Elle doit commencer…

3 mois ago

Windows 11 : comment Microsoft va réduire la taille des mises à jour

Comment réduire la taille des mises à jour de Windows 11 ? Microsoft annonce la…

4 mois ago

Windows 11 : comment Bloc-notes va remplacer WordPad

Déjà doté de la sauvegarde automatique, d'un compteur de caractères et de Copilot, Bloc-notes embarque…

4 mois ago