Qu’est-ce que le tabnabbing inversé et comment pouvez-vous l’empêcher ?
Le tabnabbing inversé, ou simplement le tabnabbing, est une attaque de phishing dans laquelle un attaquant trompe une victime en lui faisant saisir ses informations d'identification sur un faux site Web contrôlé par l'attaquant. Je sais que cela pourrait décrire de nombreuses attaques en ligne différentes. Et tandis que de nombreuses attaques en ligne créent de fausses pages Web pour voler les données des utilisateurs, le reverse tabnabbing y parvient d'une manière unique et intelligente.
Les attaques par tabnabbing inversé peuvent avoir des conséquences très graves, en fonction des informations d'identification qu'elles parviennent à compromettre. Heureusement, se protéger contre ces attaques est assez simple. Dans cet article, nous allons parler de ce qu'est le tabnabbing inversé, de son fonctionnement et de la façon de l'empêcher.
Vue de haut niveau des attaques par tabnabbing inversé
Voici comment une attaque par tabulation inversée pourrait fonctionner :
- La victime a un site Internet ouvert dans un onglet, dans son navigateur. Supposons qu'ils soient sur Facebook. Ils se connectent au site et voient que quelqu'un a publié quelque chose sur leur mur : une offre pour un article ou autre à prix réduit qui pourrait intéresser la victime.
- La victime clique sans méfiance sur le lien et est dirigée vers le site Web contenant l'offre dans un nouvel onglet. Ce site Web est en réalité un site malveillant contrôlé par l’attaquant.
- Pendant que la victime consulte la fausse offre sur le site malveillant, le site malveillant force une redirection de l’onglet Facebook d’origine de la victime vers un faux site Web cloné, contrôlé par l’attaquant, qui ressemble exactement à la page de connexion de Facebook.
- La fausse page Facebook invite la victime à ressaisir ses identifiants. Même si la victime sait qu’elle est déjà connectée, il y a de fortes chances qu’elle ressaisisse simplement son adresse e-mail et son mot de passe, pensant qu’un petit problème a dû se produire. Après tout, de tels problèmes sont relativement courants.
- Si la victime saisit ses identifiants sur le faux site Web, elle vient de remettre ses identifiants à l’attaquant et de compromettre son compte.
Comment fonctionnent les attaques par tabnabbing inversé ?
Les attaques par tabnabbing inversé sont possibles sur les sites Web qui permettent aux utilisateurs de publier des liens qui, lorsqu'ils sont cliqués, s'ouvrent dans un nouvel onglet. Le lien est ouvert dans un nouvel onglet en raison du |_+_| du lien. propriété.
Lorsqu'un utilisateur clique sur un lien créé avec |_+_|, son navigateur Web injecte deux variables dans la page de destination :
- |_+_|
- |_+_|
Le |_+_| La propriété stocke la page Web source sur laquelle le lien a été cliqué (la page Web de référence).
Le |_+_| La propriété renvoie une référence à la fenêtre parent (la fenêtre qui a ouvert la fenêtre), avec le |_+_| propriété. Vous pouvez utiliser la propriété window.opener à partir de la fenêtre de destination pour obtenir des détails et apporter des modifications à la fenêtre parent, par exemple en redirigeant l'onglet ouvert d'origine de la victime vers une page fausse mais d'apparence légitime qui lui demande ses informations d'identification. C'est le point central de l'attaque.
Exemple détaillé d'une attaque de tabnabbing inversée
Supposons qu’un attaquant publie le lien suivant sur un réseau social :
|_+_|Lorsque la victime clique sur le lien ci-dessus, son navigateur ouvrira « evilsite.com » dans un nouvel onglet. Étant donné que le nouvel onglet a été ouvert via un lien utilisant |_+_|, l'attaquant peut exploiter le |_+_| et |_+_| propriétés. Voyons à quoi pourrait ressembler le code de evilsite.com :
|_+_|Pendant que la victime consulte la fausse offre sur evilsite.com, evilsite.com redirige l'onglet d'origine de la victime vers une fausse page de connexion qui semble provenir du site Web ouvert par la victime. Dans notre exemple ci-dessus, la victime était connectée à Facebook, l’attaquant aura donc conçu la fausse page de connexion pour qu’elle ressemble à la véritable page de connexion de Facebook.
C'est le |_+_| propriété qui permet la redirection. Si la victime saisit ses informations d’identification sur la page redirigée, elle les remettra involontairement à l’attaquant.
Les attaques par tabnabbing inversé sont en réalité assez simples, comme vous pouvez le constater. Mais les dégâts qu’ils causent peuvent être catastrophiques, selon le compte compromis. Heureusement, il n’est pas trop difficile de se protéger contre ce type d’attaque, comme nous le verrons un peu plus loin.
Attaques de tabnabbing inversées dans la nature
En avril 2017, c'était signalé que le groupe de piratage informatique russe APT28 avait lancé une attaque contre Emmanuel Macron, alors candidat à la présidentielle française. Il s’agit du même groupe qui serait à l’origine du piratage du courrier électronique du DNC en 2016.
La technique utilisée lors de l’attaque contre Macron a été qualifiée de tabnabbing par les analystes de la sécurité du gouvernement danois, qui ont rédigé un rapport sur l’incident, après avoir accusé l’APT28 d’être responsable des propres attaques du gouvernement danois. Piratage de courrier électronique du ministère de la Défense .
Bien que l'attaque décrite ici diffère légèrement de notre exemple de playbook ci-dessus, dans la mesure où il existe une redirection supplémentaire du site Web malveillant (qui est ouvert lorsque la victime clique sur le lien de messagerie Web) vers le site Web légitime de la conférence. Avant la redirection vers le site légitime, le site malveillant fera son travail et modifiera l'onglet de messagerie Web ouvert.
Extrait du rapport :
« Pawn Storm utilise une variante du tabnabbing. Dans ce scénario d'attaque, la cible reçoit un e-mail provenant soi-disant d'un site Web qui pourrait l'intéresser, par exemple d'une conférence qu'elle est susceptible de visiter ou d'un site d'actualités auquel elle est abonnée. L'e-mail contient un lien vers une URL qui semble très légitime. Lorsque la cible lit son email et clique sur le lien, celui-ci s'ouvrira dans un nouvel onglet. Ce nouvel onglet affichera le site Web légitime d’un fournisseur de conférence ou d’informations après avoir été redirigé depuis un site sous le contrôle des attaquants. La cible est susceptible de passer du temps à parcourir ce site légitime. Distrait, il n'a probablement pas remarqué que juste avant la redirection, un simple script était exécuté, modifiant l'onglet d'origine du webmail en site de phishing. Lorsque la cible a fini de lire l'article d'actualité ou les informations de la conférence sur le site légitime, elle revient sur l'onglet de son webmail. Il est informé que sa session est expirée et que le site a à nouveau besoin de ses identifiants. Il est alors susceptible de ressaisir son mot de passe et de donner ses identifiants aux attaquants.
Comment prévenir les attaques par tabnabbing inversé ?
La manière de vous protéger contre les attaques par tabnabbing inversé dépend du côté de l’attaque dans lequel vous vous trouvez : côté serveur ou côté utilisateur. Nous examinerons les deux.
Prévenir les attaques de tabnabbing inversées côté serveur
Côté serveur, la manière de se protéger contre les attaques par tabnabbing inversé est assez simple. Cependant, cela s'applique de deux manières selon que votre site utilise HTML ou JavaScript pour ouvrir de nouvelles fenêtres. Nous allons vous montrer les deux manières.
HTML
En HTML, nous devons nous assurer de définir le |_+_| Attribut HTML avec les paramètres noreferrer et nooperner chaque fois que le serveur/l'application Web crée des liens.
En prenant le même exemple que ci-dessus, cela ressemblerait à ceci (c'est moi qui souligne) :
|_+_||_+_| garantit que la page liée n'a pas accès à |_+_| à partir de la page source. Tandis que |_+_| s'assure que l'en-tête du référent de la demande n'est pas envoyé avec la demande. De cette façon, le site de destination ne voit pas l’URL d’origine d’où provient l’utilisateur.
Javascript
En utilisant JavaScript, nous pouvons réaliser la même chose que ci-dessus en définissant le paramètre |_+_| propriété à null. Cela ressemblerait à ceci (encore une fois, c'est moi qui souligne) :
|_+_|Si vous envisagez d'afficher du contenu généré par l'utilisateur, vous devez également vous assurer que le serveur nettoie les entrées de l'utilisateur et applique « |_+_| » à chaque lien généré. Ainsi:
|_+_|Prévenir les attaques par tabnabbing inversé du côté utilisateur
En tant qu’utilisateur, vous ne pouvez pas faire grand-chose. L’essentiel se résume à suivre les précautions de sécurité de base qui s’appliquent à presque toutes les activités en ligne. Nous y reviendrons.
Mais d’abord, il y a quelque chose de concret que vous pouvez faire en tant qu’utilisateur pour vous protéger contre les attaques par tabnabbing inversé. Cependant, vous devez utiliser Mozilla Firefox comme navigateur Web. Firefox est open source et est livré avec de nombreux outils pour améliorer votre confidentialité et votre sécurité dès le départ. Je recommanderais donc de l’utiliser quand même.
Correction de Firefox
- Ouvrez une nouvelle fenêtre dans Firefox.
- Dans la barre d'URL, saisissez : à propos de : configuration et frappé Retour . Un message d'avertissement s'affiche.
- Cliquez sur Acceptez le risque et continuez .
- Dans la barre de recherche, tapez : dom.targetBlankNoOpener.dom . Le dom.targetBlackNoOperner.enabled la propriété est affichée.
- Fixez sa valeur à vrai . Ferme la fenêtre.
Cela empêche votre navigateur d'utiliser la propriété window.opener. Vous devriez donc être à l’abri des attaques par tabnabbing inversé si vous utilisez Firefox comme configuré ci-dessus.
Vous pouvez également faire preuve d’une vigilance générale lorsque vous êtes en ligne et suivre les conseils ci-dessous.
- Utiliser un pare-feu – Tous les principaux systèmes d'exploitation disposent d'un pare-feu entrant intégré et tous les routeurs commerciaux du marché disposent d'un pare-feu NAT intégré. Assurez-vous qu'ils sont activés car ils peuvent vous protéger si vous cliquez sur un lien malveillant.
- Ne cliquez jamais sur les pop-ups . Vous ne savez jamais où ils vous emmèneront ensuite.
- Si votre navigateur affiche un avertissement à propos d'un site Web auquel vous essayez d'accéder, vous devez Faites attention et obtenez les informations dont vous avez besoin ailleurs. Lors d’une attaque par tabnabbing inversé, si le site de l’attaquant utilise un certificat HTTPS auto-signé ou autrement invalide, votre navigateur vous en avertira. Et écouter votre navigateur pourrait bien vous épargner une attaque par tabnabbing.
- Ne cliquez pas sur les publicités. Ne le faites pas. Peu importe si l'annonce est une bannière, une fenêtre contextuelle ou une publication d'utilisateur. Si quelque chose vous intéresse, vous pouvez probablement le trouver vous-même en quelques secondes à l’aide d’un moteur de recherche.
- Limitez la quantité d’informations personnelles que vous publiez sur Internet. Plus il y a d’informations disponibles publiquement à votre sujet, plus il sera facile de les manipuler. Internet est un endroit hostile qui ne manque pas d’acteurs qui ne demandent qu’à vous exploiter. Avant de publier quelque chose de révélateur, demandez-vous si c’est vraiment nécessaire ou non.
Conclure
Alors voilà. Les attaques par tabnabbing inversé peuvent avoir des conséquences majeures. Mais au moins, la vulnérabilité est facile à corriger avec un peu d’étiquette de codage. Et encore une fois, rappelez-vous qu’Internet est un réseau hostile et traitez-le comme tel. Vous ne voulez pas être le maillon le plus faible de votre propre sécurité en ligne.
Soyez prudent.