Phishing Like a Fourbe ou l’histoire du Reverse Tabnabbing

Phishing

Phishing Like a Fourbe ou l’histoire du Reverse Tabnabbing

par

Régis Senet
Définition

Comme expliqué sur le site de l’OWASP, le Reverse Tabnabbing est une attaque où une page liée à la page cible est en mesure d’apporter des modifications à cette dernière.

Lors de l’ouverture de la deuxième page (la page malveillante) dans un autre onglet (via l’attribut target=’_blank’), cette dernière est en mesure d’accéder à certaines propriétés de Windows.opener, à savoir :

  • Opener.closed : Renvoie une valeur booléenne indiquant si une fenêtre a été fermée ou non.
  • Opener.frames : Renvoie tous les éléments iframe de la fenêtre actuelle.
  • Opener.length : Renvoie le nombre d’éléments d’iframe dans la fenêtre actuelle.
  • Opener.opener : Renvoie une référence à la fenêtre qui a créé la fenêtre.
  • Opener.parent : Retourne la fenêtre parente de la fenêtre actuelle
  • Opener.self : Retourne la fenêtre actuelle
  • Opener.top : Retourne la fenêtre la plus haute du navigateur

S’il s’agit du même domaine, alors le site malveillant est en mesure d’accéder à toutes les propriétés de Windows.opener

Attaque

Bien qu’à présent, certains palliatifs existent permettant de contrer cette attaque (nous en parlerons un peu plus tard), il reste intéressant de comprendre le fonctionnement de cette attaque et ce qu’il en reste à l’heure actuelle.

Les attaques de type Reverse Tabnabbing sont possibles lorsqu’un utilisateur est en mesure d’insérer une publication contenant un lien sur un site spécifique s’ouvrant dans un nouvel onglet, chose relativement classique sur les réseaux sociaux ou encore les blogs.

De la sorte, le site site-semi-malveillant.fr va s’ouvrir dans un nouvel onglet. Il est important de noter qu’aucun aspect malveillant n’est présent dans ce site, pouvant ainsi gagner la confiance de l’utilisateur et contourner des sandox.

Néanmoins, pendant ce temps-là, l’onglet contenant le réseau social ou le blog d’origine est redirigé vers une mire d’authentification du soi-disant site (https://site-malveillant.fr/login) grâce au code suivant présent sur site-semi-malveillant.fr :

Ainsi, lorsque l’utilisateur en aura fini avec le site semi-malveillant, il pourra reprendre ses activités sur son réseau social initial qui aura changé d’URL et devra se (re)connecter (sur le site malveillant) et ainsi transmettre ses identifiants à un attaquant.

Défense

Plusieurs points sont intéressants à prendre en compte lors de l’aspect défensif du Reverse Tabnabbing qui mit bout à bout pourrait faire office de « Défense en profondeur ».

Défense venant des développeurs

En effet, le premier point se trouve directement au niveau des développeurs du fait qu’il existe ici aussi des meilleures pratiques de sécurité. Ces dernières intègrent la directive rel ayant pour valeur « noopener noreferrer ». La valeur noopener aurait dû être suffisante, mais historiquement, Firefox ne le supportait pas tout le temps, l’ajout des deux est ainsi une valeur sûre :

L’ajout de cette directive permet de renvoyer une valeur nulle à Windows.opener.

Défense venant des navigateurs

De plus, cette vulnérabilité n’étant pas toute récente, les navigateurs ont eu le temps de se mettre à jour et d’intégrer par défaut la protection re=noopener dans la majorité des navigateurs :

Source : https://caniuse.com/?search=noopener


À des fins de tests par exemple, il est possible de désactiver temporairement l’utilisation du noopener sur Firefox par le biais de la variable targetBlankNoOpener au sein d’about:config en la passant à False :

Comme il est possible de le voir en affichant le code source de cette page, WordPress a ajouté en mai 2017 (WordPress 4.7.4) cette directive sur l’ensemble des liens ouverts dans un nouvel onglet.

Attention néanmoins, le window.open() n’est pas pris en compte dans cette sécurité par défaut des navigateurs sans l’ajout explicite de la directive noopener.

Défense venant des administrateurs système

Enfin, la dernière possibilité s’offrant à nous est la mise en place d’une Referrer-Policy au sein du serveur applicatif.

Cet en-tête de sécurité permet à un site de contrôler la quantité d’informations que le navigateur inclut lors de la navigation à partir d’un document. La Referrer-Policy peut avoir les valeurs suivantes :

  • no-referrer : aucun en-tête referrer n’est envoyée
  • no-referrer-when-downgrade : l’en-tête referrer est envoyée si la sécurité de la destination est la même (de HTTPS vers HTTPS)
  • same-origin : l’en-tête referrer est envoyée si l’URL a la même origine
  • origin : l’en-tête referrer est envoyée, mais contient seulement l’origine (le domaine) et pas l’URL complète
  • strict-origin : l’en-tête referrer contient l’origine uniquement (et pas l’URL complète) si la destination est aussi sécurisée (HTTPS vers HTTPS).
  • origin-when-cross-origin : l’en-tête referrer contient l’URL complète si la destination a la même origine et contient uniquement l’origine pour les autres cas
  • strict-origin-when-cross-origin : l’en-tête referrer contient l’URL complète si la destination a la même origine et contient uniquement l’origine si la destination est aussi sécurisée (HTTPS vers HTTPS).
  • unsafe-url : l’en-tête referrer contient l’URL complète dans tous les cas

Ce que nous faisons de mieux

effet glitch-court

Évaluez la sécurité de vos systèmes d’information afin d’anticiper les cyber-attaques.

Tests d'intrusion

Test d'intrusion

Mettez-vous dans la peau d’un attaquant

pour éprouver votre sécurité.

Audits

Audit

Identifions ensemble les points
de sécurité primordiaux à améliorer.

Formations

Formation

La formation est le premier
rempart de sécurité à mettre en place.

Tests d'intrusion

Test d'intrusion

Mettez-vous dans la peau d’un attaquant pour éprouver votre sécurité.

Audits

Audit

Identifions ensemble les points
de sécurité primordiaux à améliorer.

Formations

Formation

La formation est le premier
rempart de sécurité à mettre en place.

Ils nous font confiance

effet glitch-court

Qui sommes-nous ?

effet glitch-court

Depuis 2018, ORHUS s’est imposé comme un acteur clé de la cybersécurité, présent sur de nombreux challenges étatiques et engagé auprès de centaines d’entreprises à travers 3 continents. Fondée avec la volonté de dépasser les limites des audits partiels, ORHUS repose sur une approche exigeante et manuelle de l’audit de sécurité, menée par une équipe de 7 experts. Chaque jour, notre équipe met son expertise au service de votre réussite, avec pour priorité l’écoute de vos besoins et l’assurance d’un haut niveau de sécurité.

Vous souhaitez renforcer votre sécurité ?