Regarder des deux côtés

C’est Noël, mais il y a des limites…

URL avec @ : attention aux arnaques et aux redirections frauduleuses

Regarder des deux côtés

Sur les réseaux sociaux tournent en permanence des tentatives d’arnaques renvoyant vers de faux sites. Certaines se renouvellent, d’autres existent depuis des (dizaines) d’années. C’est le cas des redirections avec les URL contenant un « @ ». La SNCF en est victime, mais c’est aux utilisateurs de faire attention. Sur ce coup, Firefox tire son épingle du jeu.

Tout le monde le sait, les arnaques sont nombreuses sur Internet et peuvent prendre différentes formes. Il est important d’être sur ses gardes, surtout quand l’offre paraît trop belle pour être vraie (spoiler : c’est très souvent le cas).

Dans notre dossier sur les noms de domaine, nous avons abordé plusieurs techniques différentes utilisées par des personnes malveillantes.

Regarder plus loin que le nom de domaine

Celle dont nous parlons aujourd’hui n’exploite aucune faille. Elle ne nécessite donc aucune configuration particulière et les sites qui en sont victimes ne peuvent donc rien y faire. L’arnaque repose sur un détournement de la syntaxe des URL. L’histoire n’est pas nouvelle, loin de là, puisqu’on en parlait déjà dans les années 2000, mais il est facile pour certains de tomber dans le panneau. Un rappel ne peut donc pas faire de mal.

Un nom de domaine est composé de deux éléments : un nom (ou radical) et une extension pour former un ensemble « nom.extension ». On peut ajouter des informations supplémentaires comme un sous domaine – sousdomaine.nom.extension –, cibler une page précise – nom.extension/mapage.html –, ou une combinaison des deux. Dans tous les cas, le plus important pour savoir où on se trouve est le couple nom.extension.

Des détournements classiques et bien connus consistent à modifier une lettre – un 0 (zéro) à la place d’un o (lettre o), un I (i majuscule) à la place d’un l (la lettre entre k et m)… – ou utiliser un nom de domaine proche de l’original. Dans l’arnaque dont il est aujourd’hui question, rien de tout cela ; le nom de domaine est tout ce qu’il y a de plus légitime.

[email protected]

Dans notre exemple, il s’agit de la SNCF, dont la bonne adresse est sncf.com, mais cela pourrait fonctionner avec n’importe quel autre site.

Comme vous pouvez le voir, des caractères supplémentaires se trouvent après l’extension. Cela arrive tout le temps, car les URL servent aussi à faire passer des paramètres et autres traceurs. Mais le « @ » à une signification particulière dans les URL, comme l’explique l’IETF. Le document date de 1994, autant dire que le sujet n’est pas récent.

On va simplifier un peu l’exemple de la RFC de l’IETF en prenant comme exemple : « //<user>:<password>@<host> » (host représente le nom de domaine, sncf.com dans notre exemple).

Il s’agit en fait d’une méthode d’identification directement via l’URL. On pourrait imaginer une adresse du genre « sebastien:[email protected] ». Dans ce cas, le site visé se trouve après l’@, les paramètres d’identification avant.

Des pirates détournent cette fonction en essayant de faire passer de faux sites pour de vrais sites. Dans l’image ci-dessus, on peut voir que l’URL est de la forme « [email protected] ». Beaucoup de personnes risquent de penser, à tort, que sncf.com est le site cible, alors que c’est l’identifiant (qui ne sera pas utilisé dans le cas présent) !

Résultat des courses, on est redirigé vers le site malveillant, pensant arriver sur celui de la SNCF (ou d’un autre site légitime, vous avez compris l’idée). La prévisualisation dans WhatsApp laisse apparaitre un message alléchant, que l’on pourrait croire venant de la SNCF : « Cadeau de Noël - Voyage gratuit pendant un an ».

Les attaquants mettent alors en place un site reprenant les couleurs et la mise en page de celui de la SNCF. Ils peuvent ensuite récupérer des informations de ceux qui se laissent avoir.

Quand c’est trop beau pour être vrai… c’est probablement une arnaque

Sans même avoir regardé l’URL, on se doute bien que l’offre pue l’arnaque à des km. Mais certains pourraient être tentés et se dire « au pire, on peut essayer ». C’est généralement l’occasion pour les pirates de récupérer des données personnelles. Dans le cas présent, il faut partager « l’arnaque » sur WhatsApp à un maximum de contacts, sans jamais rien obtenir en retour évidemment.

La SNCF est régulièrement la cible d’arnaques avec de fausses promotions, parfois avec des petits montants de quelques euros à payer. Là encore, il ne faut pas se dire qu’on ne risque que 2 euros par exemple. Une fois vos données bancaires récupérées, les pirates peuvent souvent faire bien plus de dégâts.

Firefox affiche un message d’alerte

On s’étonne quand même que les navigateurs redirigent les internautes sans autre forme de procès ni afficher le moindre message d’avertissement, d’autant que cette technique de manipulation existe depuis maintenant 20 ans. Ce n’est pas tout à fait exact, car il y a une exception : Firefox, qui demande une confirmation. Nous avons testé avec cette URL : « http://[email protected] », et un message d’alerte apparait :

« Vous êtes sur le point de vous connecter au site « next.ink » avec le nom d’utilisateur « youtube.com », mais ce site web ne nécessite pas d’authentification. Il peut s’agir d’une tentative pour vous induire en erreur.
« next.ink » est-il bien le site que vous voulez visiter ?
»

Brave, Edge, Chrome et Safari n’en ont que faire et renvoient sans broncher vers le site derrière l’@ (aussi bien sous Windows que Linux). Il faut dire que c’est le comportement attendu par défaut selon la notice de l’IETF, mais les navigateurs feraient bien de prendre exemple sur Firefox.

Mozilla prend en effet le parti de prévenir les utilisateurs, ce qui peut être utile pour les néophytes. Pour les aguerris (qui savent ce qu’ils font), il est possible de désactiver cette confirmation en ajoutant une entrée dans about:config : network.http.phishy-userpass-length, avec une valeur numérique à 255.

Commentaires (51)


Ça faisait longtemps le Rick Roll, merci :)

En fait, j'ai même pensé à une erreur de LibRedirect (extension Firefox), que j'ai accusé trop rapidement de penser que https://youtube.com@…/ était une URL YouTube à rediriger ailleurs.

Euh sinon, plus sérieusement, le comportement de Firefox me paraît très sensé, d'autant plus que même si je fais partie de la catégorie « utilisateurs avancés », je n'utilise quasiment jamais cette syntaxe. Il vaut mieux laisser le navigateur poser la question, et les gestionnaires de mot de passe pré-remplir ce qu'il faut…
C'est clair que le mot de passe en clair c'est pas une bonne pratique :D
C'est une syntaxe qui est clairement à oublier, mais qui devait être pratique il y a 30 ans

IfYouPlease

C'est clair que le mot de passe en clair c'est pas une bonne pratique :D
C'est une syntaxe qui est clairement à oublier, mais qui devait être pratique il y a 30 ans
Quand j'ai débuté mon taff de dev web y'a 22 ans j'ai repris des pages ou l'ancien webmestre avait mis des liens de DL de fichiers word/pdf en mettant le login et le mdp pour linker le fichier en FTP...

Ce fus ma toute première correction car ça m'a bien fait peur :transpi:

IfYouPlease

C'est clair que le mot de passe en clair c'est pas une bonne pratique :D
C'est une syntaxe qui est clairement à oublier, mais qui devait être pratique il y a 30 ans
Ce n'est pas le mot de passe, mais le login, la syntaxe avec user / mdp est user:[email protected]

Même avec un serveur qui attend une authentification, firefox avertit : https://cadeau:[email protected]/HTTPAuth/
Vous êtes sur le point de vous connecter au site « authenticationtest.com » avec le nom d’utilisateur « cadeau ».
C'est même pas la version 4k... ça craint :craint:

Blague à part, si j'apprécie grandement le rick roll en général, ici, il gâche complètement l'effet de vouloir montrer l'impact du @ sur l'URL, puisque le texte et le lien vers lequel il redirige ne sont pas les mêmes, et que le "vrai" lien ne contient même pas de @. Eventuellement un https://[email protected]/watch?v=dQw4w9WgXcQ aurait été plus adapté (tout en conservant la "blagounette")

fdorin

C'est même pas la version 4k... ça craint :craint:

Blague à part, si j'apprécie grandement le rick roll en général, ici, il gâche complètement l'effet de vouloir montrer l'impact du @ sur l'URL, puisque le texte et le lien vers lequel il redirige ne sont pas les mêmes, et que le "vrai" lien ne contient même pas de @. Eventuellement un https://[email protected]/watch?v=dQw4w9WgXcQ aurait été plus adapté (tout en conservant la "blagounette")
Tout à fait c'est juste idiot là !
La syntaxe reste utile dans des jobs d'automatisation, quand tu dois récupérer une ressource depuis un serveur distant ne proposant pas d'authentification par token ou autre du coup, pas à travers un navigateur mais via un curl ou un wget.
Fourbe ! :D
C'est effectivement bien vicieux. Et je soupçonne que pas mal de gens, y compris assez confirmés, doivent se faire avoir.

Gilbert_Gosseyn

C'est effectivement bien vicieux. Et je soupçonne que pas mal de gens, y compris assez confirmés, doivent se faire avoir.
À la base, ce « fourbe » était pour le Rick Roll de Seb '^^

Mais effectivement ça s'applique également pour ce type de redirection.
En même temps le message de Firefox me semble facile à contourner. Si il dit vrai, il ne s’affiche que si le site ne requiert pas d’authentification.

Hors comme le hacker contrôle de toutes façons le serveur, il pourrait très bien envoyer un header indiquant qu’une authentification est requise.

Après, franchement, cette syntaxe est tellement peu utilisée que ça ne mangerait pas de pain d’afficher un message à chaque fois.
Le hack ne nécessite pas le contrôle du serveur. Il pourrait s'agir d'une simple faille (sans aller jusqu'au contrôle donc) à un lien dans un commentaire. Difficile de demander au serveur d'envoyer une en-tête pour l'authentification dans ce cas.

Pour ma part, je pense qu'il serait plus simple de bannir cette utilisation tant elle est peu usitée dans ce genre de contexte. Et si vraiment il y en a besoin, le public cible doit être très restreint et devrait aller modifier lui-même les paramètres du navigateur pour l'autoriser.
non je viens de faire le test :
https://cadeau:[email protected]/HTTPAuth/
Vous êtes sur le point de vous connecter au site « authenticationtest.com » avec le nom d’utilisateur « cadeau ».
Au début de l’article, je voyais pas la faille.
Puis dès que j’ai vu //USER:MDP@DOMAINE , mais bien sur, c’est exactement comme ça que je me connecter à mon ftp (ftp://USER:MDP@DOMAINE)

Sauf que c’est bien « : » entre le login et mdp, hors, on parle là d’avoir un « . » (type sncf.com) à la place.
Du coup, y a une explication ?
Modifié le 19/12/2023 à 07h07
Oui, c'est que l'URL contient juste l'identifiant, sans le mot de passe.

Donc l'identifiant serait « sncf.com » (c'est autorisé) sur le site wpme.cc (NE PAS CLIQUER)

Glandos

Oui, c'est que l'URL contient juste l'identifiant, sans le mot de passe.

Donc l'identifiant serait « sncf.com » (c'est autorisé) sur le site wpme.cc (NE PAS CLIQUER)
J’avais bien pensé à USER sans MDP mais je savais pas que c’était autorisé.

Aldayo

J’avais bien pensé à USER sans MDP mais je savais pas que c’était autorisé.
C'est assez peu utilisé avec le HTTP. Ce fut plus ou moins courant avec les FTP par contre, dont les URL fonctionnent exactement de la même manière que pour HTTP, sauf que le schema est ftp:// au lieu de http://

Aldayo

J’avais bien pensé à USER sans MDP mais je savais pas que c’était autorisé.
Le schéma complet des URL, c'est :

≺protocol≻:[//[≺user≻:[≺password≻]@]≺host≻[:≺port≻]]/≺path≻[?≺query≻][#≺fragment≻]

(les [] indiquent ce qui est optionnel)

URL (wikipédia)

Mihashi

Le schéma complet des URL, c'est :

≺protocol≻:[//[≺user≻:[≺password≻]@]≺host≻[:≺port≻]]/≺path≻[?≺query≻][#≺fragment≻]

(les [] indiquent ce qui est optionnel)

URL (wikipédia)
Non, Wikipédia est correct et le premier champ est "schéma" (ou plan), pas "protocole".

Stéphane Bortzmeyer

Non, Wikipédia est correct et le premier champ est "schéma" (ou plan), pas "protocole".
Pour ma défense, juste en dessous, dans l'exemple, c'est indiqué protocole 😜

Sinon dans le texte, c'est précisé : « schéma de représentation (spécifique au protocole de communication utilisé pour accéder à cette ressource) »

Je ne comprends pas bien la différence, tu peux m'expliquer ? (ou sinon un lien qui explique ça, sur ton blog ?)

Mihashi

Pour ma défense, juste en dessous, dans l'exemple, c'est indiqué protocole 😜

Sinon dans le texte, c'est précisé : « schéma de représentation (spécifique au protocole de communication utilisé pour accéder à cette ressource) »

Je ne comprends pas bien la différence, tu peux m'expliquer ? (ou sinon un lien qui explique ça, sur ton blog ?)
Bon, j'ai trouvé cette page sur wikipédia.
La plupart des schémas ayant été conçus à l'origine pour être utilisés avec un protocole, ils sont souvent appelés de manière incorrecte des « protocoles »…

certains schémas ne sont associés à aucun protocole particulier (comme le schéma file) et d'autres n'utilisent pas le nom d'un protocole comme préfixe
Même si les utilisateurs et utilisatrices de Vivaldi ne sont pas en général des perdreaux de six semaines, je viens de demander la création d'une telle alerte avant l'ouverture d'URLs de type http(s)://user:[email protected] dans Vivaldi
Modifié le 18/12/2023 à 14h51
Sur Vivaldi, ça dépend du site.
"http://[email protected]" redirige bel et bien sur next.ink
mais "[email protected]" redirige sur une recherche Google (Google étant le moteur de recherche enregistré dans mon Vivaldi) de "[email protected]".
Bref, ça semble plus subtil que cela.

Edit: j'ai rien dit, j'avais pas mis http(s) devant. Avec, ça redirige direct. My bad.
Modifié le 18/12/2023 à 17h13
Bon, finalement, les experts en sécurité de Vivaldi trouvent inutile de proposer un tel message à partir du moment où l'url du site issu du lien trompeur est affichée correctement, sans ambiguïté, en barre d'adresse.
Dans le temps, Opera (v.6 à v.10 environ) proposait aussi ce genre de message, mais c'était parce qu'à l'époque le username et l'éventuel mot de passe restaient affichés en barre d'adresses (des * pour le mdp). Le dialogue de confirmation de chargement avait disparu des versions 11 et 12 d'Opera…
Modifié le 18/12/2023 à 17h50

ra-mon

Bon, finalement, les experts en sécurité de Vivaldi trouvent inutile de proposer un tel message à partir du moment où l'url du site issu du lien trompeur est affichée correctement, sans ambiguïté, en barre d'adresse.
Dans le temps, Opera (v.6 à v.10 environ) proposait aussi ce genre de message, mais c'était parce qu'à l'époque le username et l'éventuel mot de passe restaient affichés en barre d'adresses (des * pour le mdp). Le dialogue de confirmation de chargement avait disparu des versions 11 et 12 d'Opera…
C'est fou ça : ils sont un peu en dehors des réalités j'ai l'impression.
C'est quoi leur justification pour ne pas mettre ce message ?

potn

C'est fou ça : ils sont un peu en dehors des réalités j'ai l'impression.
C'est quoi leur justification pour ne pas mettre ce message ?
Je suis d'accord, l'arnaque est justement fondée sur le fait de ne pas faire attention à ce qui est écrit dans la barre d'adresse. Estimer que c'est suffisant que la bonne adresse soit écrite n'a donc aucun sens.

potn

C'est fou ça : ils sont un peu en dehors des réalités j'ai l'impression.
C'est quoi leur justification pour ne pas mettre ce message ?
Je l'ai expliqué plus haut. C'est la barre d'adresse qui t'indique où tu es exactement. Il y a plein d'autres moyens d'utiliser des liens trompeurs qui n'afficheront jamais de messages d'alerte dans aucun navigateur…
Là, en fait, Firefox ne fait que conserver un vieux truc qui avait probablement une utilité réelle il y a 20 ans. Là, ce n'est plus le cas.
Modifié le 19/12/2023 à 21h40

ra-mon

Je l'ai expliqué plus haut. C'est la barre d'adresse qui t'indique où tu es exactement. Il y a plein d'autres moyens d'utiliser des liens trompeurs qui n'afficheront jamais de messages d'alerte dans aucun navigateur…
Là, en fait, Firefox ne fait que conserver un vieux truc qui avait probablement une utilité réelle il y a 20 ans. Là, ce n'est plus le cas.
Tu veux dire : le truc que personne d'autre que les informaticiens (et encore) ne lit ?
Modifié le 19/12/2023 à 22h04
Je suis sous Vivaldi pour tout ce qui est navigation (je garde FF que pour le multimédia), et une telle alerte serait en effet bienvenue, même si je fais toujours gaffe aux liens sur lesquels je clic (même quand ils ont l'air écrits "en clair"): un coup de fatigue peut faire faire bien des erreurs!
Après sans connaître cette syntaxe en http, je l'ai tellement utilisée en FTP que si je l'avais vu j'aurai tiqué à coup sûr!

SKN

Je suis sous Vivaldi pour tout ce qui est navigation (je garde FF que pour le multimédia), et une telle alerte serait en effet bienvenue, même si je fais toujours gaffe aux liens sur lesquels je clic (même quand ils ont l'air écrits "en clair"): un coup de fatigue peut faire faire bien des erreurs!
Après sans connaître cette syntaxe en http, je l'ai tellement utilisée en FTP que si je l'avais vu j'aurai tiqué à coup sûr!
Si Vivaldi dégoupillait une alerte pour ce type de lien bien spécifique, il faudrait AUSSI faire de même pour tous les autres liens potentiellement trompeurs, bloquer systématiquement les redirections, etc.
Là, l'antique comportement de Firefox que tu trouves rassurant ne fait que masquer un petit symptôme marginal sans résoudre un problème plus global.

ra-mon

Si Vivaldi dégoupillait une alerte pour ce type de lien bien spécifique, il faudrait AUSSI faire de même pour tous les autres liens potentiellement trompeurs, bloquer systématiquement les redirections, etc.
Là, l'antique comportement de Firefox que tu trouves rassurant ne fait que masquer un petit symptôme marginal sans résoudre un problème plus global.
Pas vraiment d'accord, à cause d'un simple fait : l'usage légitime du @ dans une adresse HTTP(S) au sein d'un navigateur (je dis bien, au sein d'un navigateur)... ben je n'en vois pas. De ce fait, cela ne peut résulter dans la grande majorité des cas d'un comportement dangereux.

Les autres comportements que tu cites (lien trompeurs, redirections, etc.) sont des comportements très utilisés aujourd'hui, et il serait bien difficile de trier le bon grain de l'ivraie.
En plus, Firefox "accentue" aussi le domaine cible dans un lien, et dans le cas de http://[email protected], il met en surbrillance next.ink seulement (en plus du signalement).
Utilisateur du panda roux depuis des éons, j'ai pris l'habitude depuis longtemps de vérifier que ce qui est en surbrillance est bien le site où je souhaite me rendre, sinon j'évite.
Bref, merci FF !
Modifié le 18/12/2023 à 15h17
Me faire Rick Roll comme un noob, c'est moche 🤣🤣
Et hop, un peu de lecture pour certains de mes proches.
Gros merci d'avoir laissé cet article en accès public !
Je viens d'essayer http://[email protected] sur firefox. Il y a bien l'avertissement : "« next.ink » est-il bien le site que vous voulez visiter ?" dont vous parlez, mais il y a une une subtilité: Si je répond NON en mode normal, je vois une page blanche. Par contre en mode privé, je suis dirigé vers https://next.ink !
Effectivement, la même chose ici. En nav privée que je dise oui ou non j’arrive sur Next.ink

Sébastien Gavois

Effectivement, la même chose ici. En nav privée que je dise oui ou non j’arrive sur Next.ink
Bizarre, si je réponds non en navigation privée je reste sur une page blanche.

ryô

Bizarre, si je réponds non en navigation privée je reste sur une page blanche.
Perso, en navigation privée, je suis quand même redirigé même si je clique sur non.
Modifié le 19/12/2023 à 11h34
J'avoue que même en tant qu'utilisateur plutôt aguerri, je ne connaissais pas cette arnaque. Shame on me...

Par contre, j'ai déjà obtenu ce message de la part de Firefox (d'où l'intérêt de continuer à utiliser ce navigateur, mais ça c'est un autre problème). De toute façon, les sites que j'ai visité étaient bien légitimes.

Sincèrement, il faut vraiment être prudent quand on "surfe" sur internet.
Modifié le 18/12/2023 à 20h08
Firefox, qui demande une confirmation. Nous avons testé avec cette URL : « http://[email protected] », et un message d’alerte apparait


Si je copie-colle l'adresse, j'ai bien l'alerte. Mais bizarrement, si je clique sur le lien, j'ai bien Youtube qui s'ouvre, sans aucune alerte (par contre aucun risque d'être phishé car grâce aux LIDD d'hier j'ai installé LibRedirect, qui me charge un front-end visiblement trop utilisé pour être opérationnel :transpi:
Le vrai lien (href de la balise lien), n'est pas celui du texte affiché… (voir commentaire #1.4 plus haut)
De mon côté, petit retour personnel dans le même genre : j'ai cliqué sur un lien HTTP (notez l'absence de S) m'envoyant sur une page demandant une authentification BASIC (donc avec la mire de login fournie par le navigateur) et Firefox ne m'a pas averti que j'étais sur une page HTTP non sécurisée. Du coup, quand j'ai remarqué que j'avais envoyé mon mdp en clair sur le réseau, je l'ai remplacé direct, mais j'aurais bien aimé avoir un message d'information.
Surprenant. Firefox prévient normalement dans ce cas, par exemple pour la connexion à une livebox qui se fait toujours en http (!). Peut-être que le site en question basculait le http en https et que ça convenait donc à Firefox.

fred42

Surprenant. Firefox prévient normalement dans ce cas, par exemple pour la connexion à une livebox qui se fait toujours en http (!). Peut-être que le site en question basculait le http en https et que ça convenait donc à Firefox.
En l'occurrence, j'ai su que j'étais en HTTP quanf j'ai fait "annuler" sur la mire de connexion, donc à mon avis c'était pas en HTTPS.
Après, c'était en interne de mon entreprise, mais tout de même...
Curieux qu'on ait mis dans les mains du public un outils dangereux, sans qu'on lui ait jamais appris à l'utiliser. Avant de conduire une voiture, on doit passer un permis ...
Modifié le 19/12/2023 à 14h59
Avec une voiture, on peut tuer des gens (et ça arrive souvent). Avec un navigateur Web, c'est moins risqué.
Pas implémenté sur la version ESR 115.5.0
J'arrive sur l'URL de test sans avertissement
ESR 115.5.0 ici aussi et j’ai bien l’avertissement.
Tu as cliqué (RickRoll) ou tu as copié/collé (vrai test) ?

Triton

ESR 115.5.0 ici aussi et j’ai bien l’avertissement.
Tu as cliqué (RickRoll) ou tu as copié/collé (vrai test) ?
Effectivement en copiant / collant l'URL j'ai l'avertissement.
Et je ne pige pas la différence :(

gg40

Effectivement en copiant / collant l'URL j'ai l'avertissement.
Et je ne pige pas la différence :(
Il suffit de regarder :
- le lien : http://youtube.com/watch?v=dQw4w9WgXcQ
- le texte : http://[email protected]

Du coup, quand tu cliques sur le lien, tu es redirigé vers http://youtube.com/watch?v=dQw4w9WgXcQ. Le lien ne contient pas le @ => pas d'alerte. Le texte en contient un, mais on s'en fou, car ce n'est que du texte...

fdorin

Il suffit de regarder :
- le lien : http://youtube.com/watch?v=dQw4w9WgXcQ
- le texte : http://[email protected]

Du coup, quand tu cliques sur le lien, tu es redirigé vers http://youtube.com/watch?v=dQw4w9WgXcQ. Le lien ne contient pas le @ => pas d'alerte. Le texte en contient un, mais on s'en fou, car ce n'est que du texte...

rhôôôô la honte.
Merci :)
Fermer