Adams & XSS

Mathieu Pasquini
Shadow-Moses
Published in
7 min readAug 22, 2020

On avait dit qu’on serait prudent…

Suite à ce tweet de Martin Fourcade qui râlait du fait qu’a chaque identification sur le site ADAMS, pour son suivi longitudinal, il était obligé de répondre systématiquement à la question de sécurité. Sur sa capture d’écran on peut voir l’URL finale, donc -vous me connaissez- je suis allé jeter un coup d’œil. ADAMS est le site de connexion des athlètes à l’Agence Mondiale Anti-dopage.

L’Agence Mondiale Antidopage est un organisme internationale qui vise à lutter contre le dopage sportif. Tout est expliquer sur le site. Et l’un des moyens de combattre le dopage est de le suivi longitudinal des sportifs, de TOUS les sportifs du monde. C’est un cas assez particulier du droit puisqu’il s’agit de tracker de manière permanente les sportifs en les géolocalisant tout au long de l’année. Nos sportifs et sportives préférés doivent se connecter via une page dédiée, ils s’identifient avec leur login et authentifient avec leur mot de passe. Une fois connectés ils doivent renseigner leurs positions géographiques à différentes dates afin que les contrôleurs puissent savoir où ils se trouvent précisément afin de faire des contrôles inopinés. Ainsi ADAMS connait l’endroit exact où se trouvent tous les sportifs. C’est une mine d’or, comme on peut s’en douter, pour des personnes mal intentionnées.

Après quelques minutes de recherche et de tests, je me rends compte assez rapidement qu’on peut faire facilement une injection XSS sur le site via une petite astuce saisie dans le formulaire d’identification. C’est à dire qu’il est possible de manipuler une partie du code sans que l’internaute s’en rende compte, afin de le tromper ou de lui voler des informations, comme le vol de son mot de passe par exemple. On va y revenir.

Exemple de hacking et son exploitation

La video est un Prove Of Concept, c’est à dire la preuve formelle qu’une faille existe et qu’elle est exploitable. Je ne dirais pas ici le comment faire pour des raisons que j’expliquerai plus loin. Je ne vais ici que montrer ce qu’aurait pu faire un assaillant mal intentionné.

Etape 1, hameçonnage

Grâce à une campagne de mailing massif aux sportifs, ou des envois ciblés à des sportifs choisi, ou par tout autre moyen, je piège nos proies avant qu’il clique sur un lien qu’elles pensent légitime, mais en fait non c’est une URL avec du code spécialement conçu par mes soins. La phrase dans le mails pourrait être par exemple :

Please click on your login link to make sure your datas are up to date: https://adams.wada-ama.org/

Je crois que vous avez compris, vous n’arrivez pas là où pensez arriver. Dans notre exemple de cas, la redirection de permet de cacher facilement le code et de tromper les logiciels de protection. Le lien du POC n’est évidemment plus fonctionnel.

L’astuce consiste donc a entraîner notre pauvre proie sur le site, le domaine pour être précis, wada-ama.org, mais pas dans le sous domaine adams mais dans le sous domaine site-maintenance qui n’est pas protégée, car oubliée -comme souvent- par les développeurs et qui me permet, en restant dans le domaine, de contourner les logiciels de protection qui ne pourront pas voir que c’est un site avec un nom de domaine presque identique puisque c’est le bon site.

La page de maintenance http://site-maintenance.wada-ama.org/ ressemble en vrai à ça :

Mais, grace à mon code malicieux je l’ai fait ressembler à la vraie page de connexion :

Très peu de personne ne comprennent hélas la grammaire d’une URL, et donc n’y prêtent donc jamais attention. Le tour est joué, la proie est piégée.

Etape 2, récupérer les informations

L’objectif ici est donc voler les login et mot de passe de la proie. Rien de plus simple. Sur la copie d’écran ci-après on voit une petite fenêtre avec du texte par-dessus le site. C’est ce qu’on appelle une alerte javascript, c’est a dire un code qui permet d’afficher ce que l’on veut issu des processus exécutés sur la page. Sans rentrer dans les détails trop techniques, si j’arrive à faire exécuter cette alerte avec le contenu que je souhaite dedans, cela veut dire que je peux tout aussi bien m’envoyer le contenu par mail, ou le déposer sur un serveur voire dans une base de données. Bref, je peux donc maintenant récupérer le login et le mot de passe.

Etape 3, ne pas éveiller les soupçons

Dans mon POC je redirige vers une URL qui va substituer le texte du site pour mettre le mien, ici la Conscience d’un Hacker par le Mentor.

Lors d’un vraie attaque j’aurai en fait redirigé l’internaute vers la page du site qui annonce que le mot de passe saisi n’est pas le bon.

Ainsi la proie pensera simplement que le mot de passe qu’elle a saisi n’est pas le bon, va recommencer le processus de saisie “login + mot de passe” et bien se connecter à son compte. Mais le mal est déjà fait, j’ai maintenant le login et le mot de passe de ma proie. Totalement à son insu.

Etape 4, exploiter l’attaque

Le site wada-ama.org ne proposant pas du 2AF, c’est à dire un double facteur d’authentification comme l’envoi d’un SMS avec un code, je vais pouvoir me connecter à la place de ma proie. Je pourrai ainsi connaitre toutes ses localisation avec la date précise afin de me précipiter pour lui… demander un autographe.

S.A.H (Service After Hack)

Le spécialistes pourront argumenter qu’il y’a malgré tout une protection de plus avec la question secrète qui enquiquine Martin Fourcade à chaque connexion, et ils auront raison. Un peu de recherche et de social engenering permettra de résoudre la problème. Reste que la faille est manifeste et importante. J’ai fait ce qu’il devait être fait : j’ai contacté le site pour leur faire part de ma découverte en leur envoyant le POC. Me disant un peu benoîtement que cela sera corrigé rapidement vu le type de problème.

Il ne s’est rien passé pendant plus de 6 mois !

J’ai dû envoyer des mails, j’ai fais des post Facebook, des tweets, des relances pendant 6 mois. J’ai essayé de contacter la partie française, bref, j’ai joué le jeu. J’ai finalement eu une réponse 6 mois plus tard d’un avocat (??) qui me dit qu’ils allaient s’en occuper. Rien encore pendant 2 mois.

J’ai donc du publiquement menacer d’avertir l’ANSII tant la faille aurait pu être méchamment exploitée pour qu’enfin la société (Canadienne) en charge du site prenne contact avec moi pour corriger le problème.

Aujourd’hui le problème est plus ou moins corrigé. La faille existe toujours, mais elle n’est plus exploitable. C’est pour ça que je ne donnerai pas ici la méthode, bien qu’elle ne soit pas si difficile a trouver que ça.

Conclusion

Le but de ce billet n’est pas de faire un tuto de hacking, ou de se la raconter, mais bien de montrer combien il est important pour une entreprise de faire attention à son code, et aux personnes de faire attention a ce qu’elles publient sur les réseaux sociaux.

J’accompagne les entreprise dans la mise en place de leur cyberdéfense, les les attaques pouvant venir de toutes parts je m’évertue à expliquer et montrer qu’il faut être prudent et organisé en prenant en compte tous les vecteurs d’attaques possibles. Ici il s’agit de montrer que les cyber attaques sont parfois des affaires d’opportunités.

  • Cher.e.s ami.e.s qui êtes une personne publique, ne postez JAMAIS sur les réseaux sociaux des screen shot de vos back-office. Des zigotos comme moi s’amusent à remonter le fil et tous n’ont pas des intentions louables. Surtout lorsque vous y fournissez des données aussi sensibles que votre position géographique véritable ! Soyez prudents à l’extrême.
  • Cher.e.s ami.e.s qui êtes responsables du développement de site web où des gens se connectent et y renseignent des données sensibles, n’ignorez pas les lanceurs d’alertes lorsqu’ils vous remontent des trous gros comme une mise à jour JAVA. Ecoutez les, vérifiez et corrigez le plus vite possible.
  • Cher.e.s ami.e.s responsables, DSI, gérants, chefs d’entreprises faites auditer votre votre code par des professionnels, entourez vous de professionnels de la cyberdéfense pour consolider le plus possible vos sites et infrastructures, inculquez une vraie culture d’entreprise sur la cybersécurité, formez vos équipes à ces enjeux. Soyons humbles et modestes nous sommes tous vulnérables. Un jour ou l’autre nous pouvons êtres pris dans la tourmente d’une faille de sécurité, de vol de données etc. Ayez toujours en tête le triptyque vertueux : contrôler, sauvegarder, former.

La cybercriminalité est LE mal des entreprises pour les décennies à venir, cela doit être absolument pris en compte et ce quelque soit la taille de votre structure.

--

--

Mathieu Pasquini
Shadow-Moses

Mathieu Pasquini, aka boogieplayer, is a piano player and https://Shadow-Moses.net CEO. L.A.M.P genie, NeuroHacker & BoogieWoogie drifter.