Un chercheur explique comment contourner l’authentification à deux facteurs grâce aux cookies de session
Le 11 mai 2018 à 09h47
1 min
Internet
Internet
Pour se connecter à un site, nous utilisons généralement un identifiant et un mot de passe. L'identification à deux facteurs permet d'ajouter une couche de sécurité, par exemple en envoyant un code sur son smartphone.
Dans une vidéo, le chercheur en sécurité Kevin Mitnick contourne ce système grâce aux cookies de session, comme l'explique TechCrunch. Pour commencer, il faut envoyer sa victime sur un faux site spécialement conçu, via une campagne de phishing par exemple.
Le pirate peut alors récupérer l'identifiant, le mot de passe et surtout le cookie de session de l'utilisateur. Il s'en sert ensuite pour se connecter au site, sans avoir besoin de repasser par la double authentification. Précision importante : il ne s'agit pas d'une faille de la double authentification en elle-même.
Cette histoire rappelle une fois encore que le maillon faible est bien trop souvent l'utilisateur. En effet, dans le cas présent il faut être berné par un faux site et y entrer ses identifiants. On rappellera donc une fois encore l'importance de ne pas cliquer sur n'importe quel lien, que ce soit sur un site ou dans un email.
Le 11 mai 2018 à 09h47
Commentaires (55)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 11/05/2018 à 09h11
D’après la source, l’attaque est conçu façon “man-in-the-middle” : quand l’utilisateur rempli les champs, le site piégé tente de se connecter au vrai site et ainsi récupère le cookie de session permettant de se loguer indéfiniment (si on ne tiens pas compte de ce que peut faire l’utilisateur ou le site pour modifier le contenu du cookie de session de temps en temps par exemple).
Le 11/05/2018 à 09h20
Pareil je suis allé voir la source, je voyais pas comment on pouvais “voler un cookie de session” juste avec du fishing. l’utilisateur donne le code 2FA au pirate qui se récupère lui même “légitimement” son propre cookie de session
Le 11/05/2018 à 09h29
Je savais pas que Kevin Mitnick etait devenu chercheur en sécurité.
La technique est plutot simple et efficace, je me demande comment personne n’y a pensé avant.
Le 11/05/2018 à 09h39
Le 11/05/2018 à 09h39
C’était le mec qui avait été arrêté par le FBI si mes souvenirs sont bons, il a un bon passé de hacker et a passé pas mal de temps “traqué” par le FBI.
Je pensais qu’il s’était reconverti en consultant dans le social engineering suite à son livre “l’art de la supercherie” mais apparemment non, il est toujours actif mais légalement maintenant.
Le 11/05/2018 à 09h46
Le 11/05/2018 à 09h48
En gros c’est du phishing pur, il reproduit l’authentification de A à Z sur sa copie, la copie du site n’étant juste qu’une façade “miroir” où l’utilisateur surfe en pensant être sur le site final.
A la lecture de la news, je pensais que le pirate récupérait le cookie avant la seconde authentification, donc je comprenais pas comment c’était possible. Par contre le cookie de session doit avoir une date d’expiration normalement.
Le 11/05/2018 à 10h19
Beaucoup de monde y a pensé avant… certains systèmes de SSO (Single Sign On) exploite ce genre de technique en fait…
Le 2FA n’a jamais été conçu pour empêcher un MITM, mais pour protéger lors d’une diffusion des identifiants.
Le 11/05/2018 à 10h39
Un site de phishing peut très bien demander un jeton d’authentification à deux facteurs comme le nom d’utilisateur et mot de passe. Je vois pas ce qu’il y a de nouveau dans cette vidéo.
Le 11/05/2018 à 10h50
les cookies sont renouvelé par le site web automatiquement généralement.. et puis même 3 mois c’est largement suffisant pour faire ce qu’on veux…
par contre par curiosité, t’as aussi une 10ene de cookie GScrollPos-XXX sur nextinpact ? :p
Le 11/05/2018 à 11h42
Je trouve sa démonstration étrange, il utilise un faux linkedin pour voler les login/pass/session qu’il a appellé llnkedin
Cela veut dire que l’internaute est sur le faux site, il rentre ses identifiants pour se les faire voler. OK. Mais comment le vrai linkedin sait que l’internaute essaye de se connecter pour lui envoyer le SMS ? Cela veut dire qu’en parallèle le faux site requête chez likedin une tentative de connexion ? je ne comprends pas.
je ne comprend pas non plus qu’après avoir mis le code SMS et valider sa connexion il dit dans sa vidéo qu’il se retrouve sur son compte linkedin alors qu’il est toujours sur llnkedin
Je ne comprends pas comme ça marche sa démonstration car cela veut qu’il a fait un script qui tente de se connecter également au vrai linkedin pour que linkedin envoi le SMS. C’est une attaque de type CSRF dans ce cas. Or linkedin est protégé de ce type d’attaque CSRF.
si quelqu’un peut m’expliquer, je ne comprends pas.
Le 11/05/2018 à 11h53
Ça s’appelle une attaque MITM (Man In The Middle pour l’homme du milieu).
Le site factice sert à récupérer les identifiants de l’utilisateur dans un premier temps (car ce dernier croit qu’il est sur le vrai site). Une fois récupérés, comme tu l’a deviné, le site factice se fait passer pour l’utilisateur grâce à ses identifiants et se connecte au vrai site.
Une fois ces deux étapes achevées, le site factice récupère le cookie de session correspondant à la session de l’utilisateur avec double authentification.
Comme l’a expliqué un internaute précédent, ce n’est pas vraiment une faille de la double authentification car elle n’a pas été conçue pour ça !
Le 11/05/2018 à 11h54
C’est bien ça, le faux site a donc l’identifiant et mot de passe et tente de se connecter au vrai site pour récupérer un cookie de session.
edit : grillé " />
Le 11/05/2018 à 11h58
Pour mieux comprendre une attaque MITM, il faut visualiser un distributeur de billets, sur lequel un attaquant place un socle qui reproduit à l’exact les boutons du distributeur. Lorsque tu entres ton code, tu appuies sur les touches du faux socle qui va reproduire la pression sur les vraies touches du vrai socle.
L’argent est récupéré par l’interstice du faux socle qui donne sur l’interstice du vrai socle. Au final, en récupérant le faux socle on peut voir via les traces où tu as tapé et quel est ton code.
Le principe du MITM est que le processus est bon mais intercepté par un intermédiaire ce qui met en péril la confidentialité de tes données de connexion (et par extension, la viabilité de l’authentification)
Le 11/05/2018 à 11h59
Tu as un compte sur un site A.
Le pirate crée un site B qui est une copie du site A graphiquement.
Il t’envoie dessus (phishing ou autre).
Tu arrives sur la page d’authentification.
Tu indiques ton identifiant et ton mot de passe.
Le site B envoie ça au site A
Le site A demande le code du 2FA (soit soft token, soit SMS)
Le site B te demande le code 2FA
Tu reçois le SMS ou tu regardes ton soft token
Tu donnes au site B le code
Le site B donne le code au site A
Le site A envoie le cookie de session à B
Le site B enregistre le cookie de session et te l’envoie puis te redirige sur le site A officiel.
L’authentification s’est déroulée entièrement, au milieu quelqu’un a récupéré ton cookie.
Le 11/05/2018 à 12h39
Le 11/05/2018 à 12h52
Le 11/05/2018 à 13h05
Ce n’est pas le pc de l’utilisateur qui appelle le site (là ça marcherait pas) mais le faux site qui en arrière plan contact le site, récupère le token envoi le formulaire avec le bon token etc.. aucun moyen de le détecter, à part bloquer l’ip depuis laquelle le site se connecte, car même si tu mets un captcha il peut le screener par exemple et le proposer à la victime qui le remplira aussi :)
Le 11/05/2018 à 13h36
seulement 4 cookies pour Nxi pour ma part (firefox)
Le 11/05/2018 à 13h54
Le 11/05/2018 à 17h35
une extention sur un navigateur dans une vm qui remplis les champs, qui recoit les infos en direct du serveur de la fausse page ? c’est pas très scalable mais ça marche bien et sans aller chercher dans les client webs simulé dans un serveur nodejs
Le 11/05/2018 à 19h37
Le 11/05/2018 à 19h40
J’espère que le tout nouveau protocole WebAuthn, dont on nous fait les louanges, vérifiera bien le nom de domaine avant d’échanger des clés publiques et des signatures pour nous authentifier. " />
Le 11/05/2018 à 20h34
Le 11/05/2018 à 20h41
Le 11/05/2018 à 20h48
Le 11/05/2018 à 22h30
Le 12/05/2018 à 06h07
Le 12/05/2018 à 10h22
Le 12/05/2018 à 10h24
un chercheur…Kevin Mitnick…
“le FBI soupçonnait Mitnick d’avoir pris le contrôle du réseau téléphonique de la Californie et de mettre sur écoute les agents fédéraux chargés de le traquer, car il arrivait ainsi à anticiper leur mouvement.” " />
Le 12/05/2018 à 10h46
Le code 2FA n’est pas autre chose que l’affichage d’un CAPTCHA sur un téléphone. Ce code étant lié à un jeton (pour que le site réel sache qu’il s’agit du bon code 2FA), il suffit que le site factice reproduire à l’identique les données et jeton du formulaire réel.
Je pense que nous sommes dans ce cas dans un MITM puisque la victime interagit avec un formulaire généré par le site réel mais présenté par le site factice.
Le 12/05/2018 à 10h55
Le 12/05/2018 à 10h59
Le 12/05/2018 à 11h04
Le 12/05/2018 à 11h12
Le 12/05/2018 à 12h49
Le 12/05/2018 à 13h07
Le 12/05/2018 à 13h27
Le 12/05/2018 à 14h13
Le 12/05/2018 à 14h17
Le 12/05/2018 à 14h35
Le 13/05/2018 à 19h28
C’est encore un avantage des gestionnaires de mots de passe : lastpass par exemple alertera si on entre le mot de passe LinkedIn sur un site “llinkedin”. Je suppose que les amateurs de 2fa ont un gestionnaire ;-)
Mais ça ne me semble pas extraordinaire comme méthode, d’ailleurs, depuis des années je me posais des questions au moment d’entrer un code 2fa sur une application Android. Autant sur mon pc, j’ai plusieurs garanties d’être sur le site officiel, autant sur les applications, on ne sait jamais trop où on se trouve. Et ça me semblait beaucoup plus facile de faire une fausse application par exemple. C’est moins vrai maintenant car les intégrations des comptes sont mieux gérées dans les dernières versions d’android et on ne doit plus s’authentifier tout le temps.
Le 14/05/2018 à 10h55
Je n’ai pas lu toute la conversation, mais tu répète plusieurs fois que ça te semble difficilement possible sur LinkedIn.
J’aimerais savoir ce qui te fait penser ça, et qu’elle(s) mesure(s) pourrait empêcher de faire ça.
Comme répété plusieurs fois par d’autres personnes, cette technique est connue (je m’en amusait pendant mes études) depuis des années, il n’y a rien de nouveau dedans et il est impossible (a ma connaissance) de s’en protéger.
Le 14/05/2018 à 13h23
Le 14/05/2018 à 13h53
Le 14/05/2018 à 14h07
On peut émuler complètement un vrai navigateur et une machine. Linkedin pense donc que l utilisateur se connecte d un nouvel endroit nouveau poste et demande donc par sécurité le code 2FA.
Même tes sites de super clients peuvent se faire avoir. Tu parles d’un 3eme élément demandé, mais il suffit de l intégrer dans le faux site.
Et pour info on peut se connecter via proxy à google et FB
Le 14/05/2018 à 21h08
Le 15/05/2018 à 10h49
Le 15/05/2018 à 11h16
Je suis désolé, mais quand je me connecte depuis un ordinateur distant (bureau, famille, autres) avec un “Random user-agent”, je n’ai pas plus de problème que ça.
Je ne suis pas obliger d’allez cliquer sur un mail, et je recois éventuellement un message disant “Quelqu’un s’est connecté depuis un ordinateur situé à XXXX”, je n’ai jamais été obligé d’avoir un 3FA pour m’identifier.
Au niveau du fingerprinting, il est assez limité, sauf si tu force l’activation des applets (Flash ? Java ? Peut-être il y a 5ans) ou du Javascript (J’ai toujours JS d’activé, mais vu que c’est récurrent de conseiller de le désactiver, est-il vraiment possible de forcer l’utilisateur à l’activer ?)
Le reste du fingerprinting ne peut se faire que sur des données d’entête HTTP, chose facilement copiable et falsifiable par le “hacker”.
Dans tous les cas, le fingerprint que pourrait récupérer le site, pourrait être récupérer par le site miroir du hacker, est donc renvoyé à l’autre site.
Le seul élément difficilement modifiable est l’adresse IP. Et sauf si le “hacker” a mis son serveur en ukraine, il devrait pouvoir passer à travers ce test facilement, surtout avec un peu de moyen (tu es en France, je fait mes requêtes depuis la France, tu es aux USA, depuis les USA etc.)
Je crois que Google vérifie les déplacement trop rapides, mais ce genre de tests à ses limites. Chez mon ancien FAI, je basculais entre Marseille et Corse en fonction des IPs. Et au niveau des téléphones portables qui sont majoritairement localisés à Paris, ça se passe comment ?
Bref, oui le fingerprinting permet de s’assurer qu’une personne est “possiblement” toujours la même, mais aucun moyen d’en être sur, et interdire l’accès c’est s’attirer les foudres de ses “clients” dans le cas de faux-positifs à répétition.
Cela ne m’étonnerait pas si un adage du genre existait : “Il vaut mieux laisser les hackers voler les comptes, plutôt que d’empêcher le client de se connecter”.
Désolé pour se pavé, mal écrit.
TL;DR : Se faire passer pour quelqu’un d’autre est possible, on peut tout gruger en HTTP, sauf peut-être l’IP.
Le 15/05/2018 à 15h49
Non c’est bien écrit, je suis d’accord avec toi sur beaucoup de points. Sauf le TOUT sur le TL;DR " /> Que je remplacerai par un beaucoup ou pas mal. Dans la vie concrete le 100% ou le 0% c’est rare, d’où mon avis sur les défenses de linkedin. Mais je crois qu’on a tous donné notre avis, chacun étant responsable de ses propos.
Le 15/05/2018 à 16h21
Pour faire avancer le débat, quelles seraient donc les informations sur LinkedIn qui ne peuvent pas être reproduites par un intermédiaire (site factice) ?
Le 16/05/2018 à 05h46
Le 16/05/2018 à 09h38
encore un “chercheur en sécurité” qui enfonce les portes ouvertes….
Le 16/05/2018 à 10h19
Le problème c’est d’être assez sécurisé sans pour autant rentre l’accès au site difficile.
Je pense que beaucoup d’entreprise, surtout grand public, préfère ignorer la sécurité pour des questions de facilité. LinkedIn, Facebook, Google, Microsoft, etc.
Mais peux-t-on vraiment leur en vouloir ? A qui la faute ?
Par contre, aucune excuse en entreprise, avec une formation suffisante, n’importe quel salarié peut se plier aux règles de sécurités.
Le 16/05/2018 à 14h24
Bon bah, en lisant les coms, en fait c’est pas forcément si simple pour tout le monde on dirait