Il y a un article passionnant dans MISC N°4, qui décrit en détail la technique de l'homme du milieu.
Lors d'échanges cryptés, la faiblesse se trouve au moment des échanges de clé (normalement, la toute première connexion, puisque l'on prend la précaution de mémoriser les clefs). C'est à ce moment que Pirate se fait passer pour Client aux yeux de Serveur, et pour Serveur aux yeux de Client, il fait routeur entre les deux (d'ou "l'homme du milieu").
Client <====> Pirate <====> Serveur
Sachant que Pirate detient les clefs il peut décrypter ce qu'il retransmet.
>Est-ce que ce certificat ne pourrait pas être modifié en cours de route?
Normalement, non puisqu'il est envoyé au début de la connexion et va servir à décrypter le reste. Si le certificat change Client s'en rend compte tout de suite puisqu'il ne pourra plus décrypter les infos envoyés par Serveur (dans la logique https; en ssh les deux doivent s'en rendre compte immédiatement, je pense que les deux partis vont automatiquement couper la communication). Par contre, si Pirate est habile, il peut effectivement changer le certificat de façon transparente lors des échanges de clef. Mais cela ne présente pas d'interêt, puisqu'à partir du moment ou Pirate prend possession du certificat (ou clefs) toute la communication est à sa portée. Il va préferer déformer les communications à son avantage :
NicoNico est Client.
mandrake.com est serveur.
Astennu est Pirate.
NicoNico veut commander un PowerPack en ligne. Il se connecte donc en https sur mandrakestore.
Astennu est devenu l'homme du milieu en faisant routeur entre les deux (voir misc 4 pour la technique en détail) dès les premieres transactions (chance de cocu, il devrait peut-être surveiller sa femme celui-là ... :P)
NicoNico <====> Astennu <====> Mandrake.com
A noter que si Astennu s'y prend trop tard, c'est foutu : il faut être capable d'être routeur AVANT l'échange des clefs. Autant dire qu'il faut savoir à l'avance qu'une connexion NicoNico <====> Mandrake.com va avoir lieue.
NicoNico appelle la page commander_un_powerpack.php. Astennu transmet la comm sans broncher.
NicoNico renseigne ses coordonnées bancaires et postales sur la page. Il clique sur "Commander" ce qui envoie les données saisies dans le formulaire au script valider_commande.php. ET LA, c'est interressant : Astennu intercepte les données, change les coordonnées postales (pour recevoir le powerpack chez lui), puis les transmet à mandrake.com. mandrake.com enregistre la commande (avec les coordonnées bancaires de NicoNico et les coordonnées postales d'Astennu) puis renvoie une page de confirmation récapitulative de la commande (Ou toutes les coordonnées seront affichées). Pour éviter que NicoNico se doute de quelque chose, Astennu prend le soin de modifier cette page avec les coordonnées postales de NicoNico.
==> Merci Nico pour le PowerPack, il est bien arrivé ce matin! :P
En théorie c'est bien beau mais en pratique :
-il faut être au milieu au bon moment (surveille ta femme)
-il faut réussir à transformer les données "intelligemment" puis les crypter avant de les renvoyer, sans que le délai soit choquant.
# Re: Petit problème de sécurité réseaux
Posté par astennu . En réponse au journal Petit problème de sécurité réseaux. Évalué à 4.
Il y a un article passionnant dans MISC N°4, qui décrit en détail la technique de l'homme du milieu.
Lors d'échanges cryptés, la faiblesse se trouve au moment des échanges de clé (normalement, la toute première connexion, puisque l'on prend la précaution de mémoriser les clefs). C'est à ce moment que Pirate se fait passer pour Client aux yeux de Serveur, et pour Serveur aux yeux de Client, il fait routeur entre les deux (d'ou "l'homme du milieu").
Client <====> Pirate <====> Serveur
Sachant que Pirate detient les clefs il peut décrypter ce qu'il retransmet.
>Est-ce que ce certificat ne pourrait pas être modifié en cours de route?
Normalement, non puisqu'il est envoyé au début de la connexion et va servir à décrypter le reste. Si le certificat change Client s'en rend compte tout de suite puisqu'il ne pourra plus décrypter les infos envoyés par Serveur (dans la logique https; en ssh les deux doivent s'en rendre compte immédiatement, je pense que les deux partis vont automatiquement couper la communication). Par contre, si Pirate est habile, il peut effectivement changer le certificat de façon transparente lors des échanges de clef. Mais cela ne présente pas d'interêt, puisqu'à partir du moment ou Pirate prend possession du certificat (ou clefs) toute la communication est à sa portée. Il va préferer déformer les communications à son avantage :
NicoNico est Client.
mandrake.com est serveur.
Astennu est Pirate.
NicoNico veut commander un PowerPack en ligne. Il se connecte donc en https sur mandrakestore.
Astennu est devenu l'homme du milieu en faisant routeur entre les deux (voir misc 4 pour la technique en détail) dès les premieres transactions (chance de cocu, il devrait peut-être surveiller sa femme celui-là ... :P)
NicoNico <====> Astennu <====> Mandrake.com
A noter que si Astennu s'y prend trop tard, c'est foutu : il faut être capable d'être routeur AVANT l'échange des clefs. Autant dire qu'il faut savoir à l'avance qu'une connexion NicoNico <====> Mandrake.com va avoir lieue.
NicoNico appelle la page commander_un_powerpack.php. Astennu transmet la comm sans broncher.
NicoNico renseigne ses coordonnées bancaires et postales sur la page. Il clique sur "Commander" ce qui envoie les données saisies dans le formulaire au script valider_commande.php. ET LA, c'est interressant : Astennu intercepte les données, change les coordonnées postales (pour recevoir le powerpack chez lui), puis les transmet à mandrake.com. mandrake.com enregistre la commande (avec les coordonnées bancaires de NicoNico et les coordonnées postales d'Astennu) puis renvoie une page de confirmation récapitulative de la commande (Ou toutes les coordonnées seront affichées). Pour éviter que NicoNico se doute de quelque chose, Astennu prend le soin de modifier cette page avec les coordonnées postales de NicoNico.
==> Merci Nico pour le PowerPack, il est bien arrivé ce matin! :P
En théorie c'est bien beau mais en pratique :
-il faut être au milieu au bon moment (surveille ta femme)
-il faut réussir à transformer les données "intelligemment" puis les crypter avant de les renvoyer, sans que le délai soit choquant.
En gros amuse toi !