Google Chrome et Safari sont en effet les 3eme et 4eme navigateurs sur lesquels je trouve une vulnérabilité en rapport avec une redirection.
La complexité de se spoofing est tel qu'il faut a la fois utiliser de multiples éléments JavaScript dont les exécutions sont additionnées dans le temps, modifier le contenu d'un fichier choisi en utilisant un langage serveur (PHP/ASP...) , puis utiliser une redirection dont la réponse va être manipulé dans le but d'afficher le contenu souhaité.
Étrangement similaire au SSL spoofing que j'avais signalé sur Mozilla Firefox tant pour les éléments JavaScript utilisés que pour sa complexité il n'en reste pas moins que cette fois-ci en plus du certificat SSL , l'adresse de location peut être aussi manipulé.

L'exploit peut offrir plusieurs formes d'exploitation :
  1. La première est bien évidemment de changer l'adresse de la location_bar par l'adresse d'un site web ciblé tout en intégrant un contenu légitime dans le but de persuader l'utilisateur qu'il se trouve réellement sur le site de son choix afin qu'il y entrent ses informations personnelles (Identifiant , Mot de passe , Code Bancaire etc ) [ VOIRE VIDÉO 1 ]
  2. La deuxième nécessite moins d'interaction de la part de l'utilisateur , cependant elle requière plusieurs éléments indispensables à son exploitation. cette attaque va prendre comme cible les identifiants et mots de passe enregistrés dans le navigateur dans le but de détourner l'adresse cible du formulaire de connexion sur le site pirate. Cependant l'utilisateur devra quand-même valider la connexion sur une adresse autre que celle du site ciblé (mais qui cependant détient le même certificat SSL due à l'action du Spoofing) . [ VOIRE VIDÉO 2 ]
J'ai bien évidement poussé mes recherches plus loin dans l'espoir de trouver une solution permettant l'exécution de code JavaScript sur le domaine ciblé.
L'exécution de code JavaScript de manière conventionnelle ne marche évidement pas.
J'ai alors pensé qu'insérer du code JavaScript dans une Iframe pourrait me permettre d'exécuter du code sur le même domaine que celui dont le contenue est manipulé par le Spoofing.
L'action échoue mais tests après tests je me suis alors rendu compte qu'une certaine interaction de l'utilisateur pouvait permettre l'exécution désiré.
Le drag & drop ...

C'est en effet via le biais d'un URI JavaScript contenant un certain élément pointant lui même sur du code que l'exécution peut être effectué sur le domaine distant a condition de "drag & drop" (prendre et poser) cette URL dans la Location Bar (Voir vidéo 1).
Vidéo 1 :


Vidéo 2 :


Vidéo 3 :


Pour conclure , cette vulnerabilité de google chrome offre de multiples scenarii d'attaque possible dont certaines peuvent évidement avoir un impact hautement critique.

Vulnérabilité reporté sur la plateforme Chromium le 2/09/2010

PoC: http://www.alternativ-testing.fr/Research/safari/spoof/56GFGF6GF2FDDF/spoofing.html

Auteur : Jordi Chancel