web-dev-qa-db-fra.com

Contournement HSTS avec SSLstrip2 + DNS2proxy

J'essaie de comprendre comment contourner la protection HSTS. J'ai lu des informations sur les outils de LeonardoNve ( https://github.com/LeonardoNve/sslstrip2 et https://github.com/LeonardoNve/dns2proxy ). Mais je ne comprends pas.

  • Si le client demande pour la première fois le serveur, cela fonctionnera à tout moment, car sslstrip supprimera simplement le Strict-Transport-Security: champ d'en-tête. Donc ça va.
  • Si non? Ce qui se produit? Le client essaiera-t-il automatiquement de se connecter au serveur via HTTPS? Dans ce cas, le MITM est inutile, non?

En regardant le code, j'obtiens un peu que SSLstrip2 changera le nom de domaine des ressources nécessaires au client, donc le client n'aura pas à utiliser HSTS car ces ressources ne sont pas sur le même domaine (est-ce vrai?). Le client enverra une demande DNS que l'outil DNS2proxy interceptera et renverra les adresses IP pour le vrai nom de domaine. À la fin, le client va simplement HTTP les ressources qu'il aurait dû faire d'une manière HTTPS.

Exemple: à partir de la réponse du serveur, le client devra télécharger mail.google.com. L'attaquant change cela en gmail.google.com, donc ce n'est pas le même (sous) domaine. Ensuite, le client demandera DNS pour ce domaine, le DNS2proxy répondra avec la véritable IP de mail.google.com. Le client demandera alors simplement cette ressource via HTTP.

Ce que je n'obtiens pas, c'est avant cela: comment l'attaquant peut-il supprimer HTML alors que la connexion doit être HTTPS du client au serveur?

15
Nikkolasg

Pour répondre à la question d'origine - la plupart des gens ne tapent jamais https://example.com directement. Ils s'appuient soit sur des liens (cliquez ici pour accéder à notre serveur de connexion sécurisé) soit sur des redirections (tapez "gmail.com" dans le navigateur, et vous serez automatiquement redirigé vers un site sécurisé).

C'est là que SSLStrip entre en jeu: il intercepte la réponse HTTP d'origine non sécurisée et remplace <a href="https">; liens avec les versions HTTP (non sécurisées). En outre, il modifie les redirections ("Location:" en-têtes) qui pointent vers des URL HTTPS.

Avec SSLStrip2, cela va un peu plus loin (intercepter, rediriger vers un sous-domaine invalide, utiliser l'interception DNS pour fournir une IP valide pour ce sous-domaine).

3
Bogd

Il existe une procédure pas à pas de l'ensemble du processus ici: http://sign0f4.blogspot.com/2014/10/mitmf-v07-released-sslstrip-integration.html

En résumé, l'auteur des articles de blog montre comment utiliser sslstrip2 et dns2proxy pour capturer les informations d'identification. Pendant que l'auteur utilise son propre outil MITMf, l'outil encapsule sslstrip2 et dns2proxy, ainsi que le fichier de configuration HSTS qui leur est associé. Il fournit des captures d'écran des commandes, des navigateurs et des sorties d'outils. Deux études de cas ont été démontrées: Google et Facebook.

1
atdre