Attaques par stripping SSL : dangers et comment éviter d'être attaqué

Aujourd'hui, la plupart des sites Web utilisent le protocole sécurisé HTTPS pour les communications entre les clients et le serveur Web, grâce à ce protocole qui utilise TLS et les algorithmes cryptographiques incorporés dans ce dernier, les communications sont cryptées point à point, en plus, aussi L'authenticité de la connexion et même l'intégrité des données sont vérifiés, afin que les cybercriminels ne puissent pas modifier les paquets à la volée. Cependant, il y a une attaque sur le protocole HTTPS appelée Décapage SSL , cette attaque consiste à « lever » le cryptage TLS de la communication afin qu'un cybercriminel puisse voir toutes les communications en clair à l'aide de HTTP. Vous voulez tout savoir sur l'attaque SSL Stripping et comment vous protéger pour empêcher un cybercriminel de compromettre vos communications ?

Attaques par stripping SSL : dangers et comment éviter d'être attaqué

Comment fonctionne le protocole HTTPS ?

Le protocole HTTPS (Hypertext Transfer Protocol Secure) est la version sécurisée du populaire protocole HTTP (Hypertext Transfer Protocol). Ce protocole se trouve dans la couche application et est basé sur HTTP, mais la sécurité du protocole TLS (au niveau de la couche transport) est ajoutée afin de fournir une sécurité point à point dans toutes les connexions, des clients au serveur Web. Le protocole TLS est l'un des plus utilisés pour assurer la sécurité des communications, de plus, il n'est pas seulement utilisé dans les connexions HTTPS mais aussi dans d'autres protocoles tels que FTPES (la version de FTP, mais avec la couche de sécurité utilisant TLS) et même virtuel protocoles de réseau privé comme OpenVPN. Le protocole TLS (et donc aussi le protocole HTTPS au niveau de la couche application) utilise différents algorithmes cryptographiques qui nous fournissent les caractéristiques suivantes :

  • Confidentialité : La confidentialité en cryptographie signifie que toutes les données sont cryptées de bout en bout, et que seules la source et la destination pourront « lire » ces données. Si un cybercriminel se place au milieu de la communication (attaque Man in the Middle) il pourra capter l'information sans problème, mais il ne pourra jamais la lire s'il ne dispose pas de la clé privée de décryptage.
  • Authenticité : cette caractéristique de la cryptographie nous garantit que les données sont authentiques dès l'origine, et qu'il n'y a pas eu d'usurpation d'identité par un tiers.
  • Intégrité : cette fonctionnalité garantit que toutes les données de l'origine à la destination n'ont pas été modifiées, au cas où elles auraient été modifiées en raison d'un tiers malveillant, que les informations pourraient être détectées et supprimées.

La vida útil de los certificados HTTPS sera mineur

Actuellement le protocole HTTPS pour la version HTTP/2 utilise le protocole TLS dans sa version TLSv1.2 et aussi TLSv1.3, ces deux protocoles sont actuellement considérés comme sûrs, et aucune vulnérabilité n'a été découverte qui les rende dangereux à utiliser. La version TLSv1.3 est beaucoup plus rapide que la version précédente, de plus, elle ne prend en charge que les suites de chiffrement sécurisées et ne permet pas la configuration de suites de chiffrement moins sécurisées comme TLSv1.2.

Concernant les ports, alors que le protocole HTTP utilise le protocole TCP dans la couche transport et le port 80, le protocole HTTPS utilise le port TCP 443. Ces derniers mois le protocole QUIC a été standardisé pour les connexions web, un protocole pour HTTPS quand HTTP/2 et/ou HTTP/3 est utilisé et qui utilise le protocole UDP pour effectuer des connexions point à point, ce protocole QUIC intègre déjà une cryptographie sécurisée avec les derniers algorithmes cryptographiques sécurisés tels que Chacha20-Poly1305 ou AES-GCM.

Une fois que nous saurons comment fonctionne HTTPS et quels protocoles nous avons en dessous dans les différentes couches TCP/IP, nous allons voir en quoi consiste l'attaque SSL Stripping pour déchiffrer toutes les communications HTTPS.

Qu'est-ce que l'attaque SSL Stripping ?

Lorsque nous effectuons une attaque ARP Spooping et que nous mettons un renifleur pour capturer tout le trafic, ce que nous faisons, c'est mettre en capacité tout le trafic réseau généré par un certain ordinateur (la victime). Dans le cas où vous utilisez des protocoles non sécurisés tels que HTTP ou FTP, nous pouvons facilement voir toutes vos communications, informations d'authentification et même les cookies de session. Pour cette raison, il est si dangereux de se connecter au public WiFi réseaux ou des réseaux peu fiables, car n'importe quel cybercriminel peut mener cette attaque de l'homme du milieu et capturer toutes les informations.

Si nous utilisons un protocole sécurisé tel que HTTPS, l'attaquant pourra capturer toutes les informations sans problème, cependant, il ne pourra pas lire son contenu, c'est-à-dire qu'il ne pourra pas voir les informations d'authentification, des cookies de session ou absolument rien, car tout le trafic est crypté de bout en bout (des clients au serveur Web). Grâce au protocole TLS et aux algorithmes cryptographiques tels que AES, nos informations seront confidentielles, c'est-à-dire qu'elles seront cryptées de bout en bout.

Les attaques SSL Strippping consistent à mettre en place un proxy HTTP / HTTPS afin de « lever » ce protocole HTTPS crypté, et la victime utilise le protocole HTTP pour pouvoir capturer toutes les informations et voir les données à l'intérieur. Le processus qui devrait être effectué afin de violer une connexion HTTPS serait le suivant :

  1. Mener une attaque ARP Spoofing sur la victime , pour nous transmettre tout le trafic réseau avant de le transmettre au routeur, de cette manière, nous capturerons toutes les informations que cette victime envoie et reçoit.
  2. Nous mettons le renifleur au travail , par exemple, WireShark est une très bonne option, c'est l'un des logiciels les plus complets et les plus faciles à utiliser, et il est totalement gratuit.
  3. Vérifiez si nous capturons tout le trafic de la victime, de cette façon, nous nous assurerons que l'ARP Spoofing et le sniffer fonctionnent correctement. Dans ce cas, nous ne pouvons certainement voir que le trafic DNS, ICMP et autre en texte clair, mais pas le trafic HTTPS car il est crypté de bout en bout.

Une fois ces trois étapes réalisées, il ne nous reste plus qu'à configurer un proxy HTTP/HTTPS en utilisant des outils gratuits, par exemple, Bettercap est le meilleur outil que nous puissions utiliser pour mener ce type d'attaque. Une fois que nous aurons configuré ce proxy HTTP/HTTPS, ce qui se passera sera le suivant :

  1. La victime essaiera de se connecter aux sites Web via le protocole HTTPS, cependant, le proxy HTTP / HTTPS que nous avons configuré indiquera à la victime que la connexion doit être HTTP. Par la suite, notre proxy HTTP / HTTPS pourrait transmettre les informations au Web. réel (Google, PayPal, Amazon, etc.) via HTTPS. De cette façon, l'attaquant aura toutes les données en texte clair qui vont et viennent de la victime et du vrai serveur Web, se transformant continuellement entre HTTP et HTTPS et vice versa.
  2. Le renifleur de réseau que nous avions précédemment activé capturera tout le trafic HTTP et nous montrera en texte clair les informations d'identification de l'utilisateur, les cookies de session et tout ce que fait la victime.

Comme vous pouvez le constater, la possibilité de mener une attaque SSL Stripping est accessible à tous ceux qui utilisent des outils gratuits tels que Bettercap pour Linux/Unix, en fait, dans cet article, vous avez un tutoriel complet pour vous permettre de faire des audits de sécurité et de vérifier si une certaine cible pourrait l'utiliser contre nous, ou si nous sommes protégés contre ce type d'attaque.

Comment puis-je me protéger de cette attaque ?

Ce type d'attaque est largement utilisé par les cybercriminels pour obtenir tout le trafic de leurs victimes, notamment dans les réseaux publics, qu'il s'agisse de réseaux filaires ou de réseaux WiFi publics, pour cette raison, il est déconseillé de se connecter à ces types de réseaux que nous faisons pas gérer. Cependant, si quelqu'un est capable de pirater notre réseau WiFi, nous serions exactement dans le même scénario : nous sommes sur le même réseau local que le cybercriminel, ils pourraient nous faire une attaque ARP Spoofing et aussi une attaque SSL Stripping. Pour cette raison, il est si important de conserver une liste des appareils filaires ou WiFi connectés à notre réseau local, et de vérifier de temps en temps qu'il n'y a pas d'intrus. De plus, nous devons également nous assurer que personne ne peut entrer dans notre réseau WiFi. , en mettant un cryptage WPA2 -AES et en désactivant WPS (Wi-Fi Protected Setup).

Cette attaque SSL Stripping ne peut pas les empêcher de nous le faire si nous sommes sur le même réseau local que l'attaquant, mais ce que nous pouvons faire, c'est l'empêcher d'être efficace, c'est-à-dire de pouvoir « lever » la connexion HTTPS, afin que la confidentialité continue d'être maintenue et que nous puissions naviguer en toute sécurité. Actuellement, il existe plusieurs méthodes que nous pouvons utiliser pour nous protéger contre ces attaques, certaines dépendent de l'administrateur Web et d'autres dépendent exclusivement de nous.

Que le Web a activé HSTS

HSTS ou également connu sous le nom de HTTP Strict Transport Sécurité, est une politique des serveurs Web qui nous oblige à utiliser HTTPS dans notre navigateur Web pour communiquer avec le serveur. Auparavant, nous avons expliqué que le serveur proxy HTTP / HTTPS peut communiquer via HTTPS sans problème avec le serveur Web, cependant, si un site Web a activé HSTS, un cookie sera enregistré dans le navigateur indiquant que ce navigateur ne peut jamais utiliser le protocole HTTP pour communiquer avec le serveur Web, de cette façon, nous aurons une sécurité point à point, même si quelqu'un s'immisce en mettant un proxy HTTP / HTTPS pour « lever » le HTTPS de notre communication avec le Web.

Aujourd'hui, de nombreux serveurs Web de différentes pages Web sont correctement configurés avec cette politique de sécurité, afin de protéger leurs utilisateurs. Ces cookies qui sont stockés dans les navigateurs Web des clients expirent, cependant, ce qui est fait est de mettre que la durée est maximale (un an), afin de protéger les clients le plus longtemps possible.

La partie négative de HSTS est que, si c'est la première fois que nous accédons à un site Web et qu'ils effectuent un stripping SSL, cette fonctionnalité ne pourra pas nous protéger. La protection est à partir de la deuxième visite car le cookie aura déjà été téléchargé, à moins que nous ayons une liste de sites Web préchargés dans notre navigateur Web, comme cela se produit avec les « grands » comme Google et d'autres services. Nous pourrions nous-mêmes mettre en place une liste de sites de préchargement HSTS fournie par Google dans le cadre du projet Chromium.

Dans le serveur Web Apache, nous devrions incorporer la directive suivante :

  • L'en-tête est toujours défini Strict-Transport-Security « max-age = 31536000 ; inclure des sous-domaines »

Dans le serveur Web Nginx, nous devrions incorporer la directive suivante :

  • add_header Strict-Transport-Security « âge max = 31536000 ; inclure des sous-domaines »

Nous pourrions également indiquer à ces directives le « préchargement » à la fin, pour indiquer qu'il est préchargé dans le navigateur Web et pour pouvoir accéder au Web sans problème.

Pour vérifier si un certain site Web a activé HSTS, vous pouvez toujours accéder au Site officiel de Qualys SSL Labs où vous pouvez analyser tous les sites Web que vous voulez. Avant de conclure, il faut indiquer que cette protection HSTS peut aussi être contournée, sur la base de DNS Spoofing pour rediriger la victime vers un autre domaine sous notre contrôle qui est le même que l'original, dans le but de la « tromper », Bettercap inclut également cette fonctionnalité.

Utiliser un VPN

Une autre méthode pour éviter ce type d'attaque sur les connexions HTTPS consiste à utiliser un VPN un service. Un réseau privé virtuel ou VPN est responsable du chiffrement de toutes les communications point à point dans un tunnel, par conséquent, un attaquant qui nous fait une attaque ARP Spoofing et met un renifleur, ne verrait que tout le trafic chiffré, il ne pourrait en voir aucun protocole supplémentaire, car les résolutions DNS vont également à l'intérieur du tunnel VPN. Il est possible que le cybercriminel essaie de « lancer » ce tunnel VPN, en fait, il pourrait y parvenir en injectant des paquets et en faisant cesser le service VPN pour la sécurité, cependant, nous devons nous rappeler que les VPN ont une fonctionnalité appelée Kill-Switch. La fonctionnalité Kill-switch vous permet de bloquer complètement le trafic Internet dans le cas où le tunnel VPN tombe ou a un problème, de cette façon, nous aurons l'assurance que nos données ne sont pas filtrées ni ne peuvent nous faire un autre type d'attaques. Il est toujours préférable de rester sans connexion Internet que de se faire voler des informations.

Il existe actuellement plusieurs protocoles VPN tels que WireGuard, OpenVPN ou IPSec IKEv2, tous sont sûrs et nous pouvons les utiliser pour empêcher quelqu'un d'intercepter les communications et de lever le cryptage du protocole HTTPS. Pour cette raison, si vous envisagez de vous connecter à des réseaux filaires ou à des réseaux WiFi publics ou non sécurisés, il est fortement recommandé de toujours utiliser ce type de VPN. Nous pouvons configurer nous-mêmes des serveurs VPN dans notre réseau local domestique, si nous avons un serveur NAS, il aura des applications VPN, et même certains routeurs domestiques tels que ASUS, AVM FRITZ ! Box et même D-Link ou NETGEAR disposent de ce type de serveurs pour nous connecter à Internet en toute sécurité, car ils redirigent le trafic.

Dans le cas où vous n'avez pas la possibilité ou la connaissance d'installer et de configurer un serveur VPN chez vous, notre recommandation est que vous utilisiez des services VPN tels que WARP de Cloudflare, qui est totalement gratuit et fonctionne très bien, vous pouvez vous défoncer accélère le téléchargement et le téléchargement et une latence très faible. D'autres alternatives que vous pouvez utiliser sont les services VPN payants, car ils ont des applications pour tous les systèmes d'exploitation, plusieurs serveurs répartis dans le monde entier et des fonctionnalités importantes telles que le Kill-switch parmi beaucoup d'autres.

Effectuer un tunnel SSH

Une autre façon de se protéger contre les attaques SSL Stripping est d'effectuer un tunnel SSH avec redirection du trafic. Cette technique consiste à se connecter à un serveur SSH distant de confiance et à configurer un proxy SOCKS pour le configurer ultérieurement dans le navigateur Web. De cette façon, nous redirigerons le trafic du navigateur Web via le serveur SSH auquel nous nous sommes connectés. Pour ce faire, nous devons suivre les étapes suivantes :

  • Configurez un serveur SSH de manière sécurisée, en changeant de ports, une bonne authentification et une bonne suite de chiffrement.
  • Activez le transfert TCP sur le serveur SSH, sinon, même si nous nous connectons, nous ne pourrons pas transférer le trafic Internet.
  • Configurez ce serveur SSH dans des programmes tels que PuTTY et activez le transfert ou le transfert, dans un proxy SOCKS5 spécifique.
  • Configurez ce proxy local que nous venons de créer dans le navigateur Web, afin que tout le trafic passe par le serveur SSH vers Internet.

Cette méthode est exactement la même que celle du serveur VPN, en utilisant un « serveur » pour s'y connecter en toute sécurité, puis en se connectant à Internet via HTTPS sans que personne ne puisse lever ce cryptage.

Conclusions

Bien que les connexions HTTPS soient sécurisées, dans certaines circonstances, un attaquant pourrait « lever » cette sécurité pour obtenir les informations d'identification de l'utilisateur ainsi que les cookies de session, rendant les connexions HTTPS moins sécurisées. Cependant, ce type d'attaque ne peut être réalisé que dans certaines circonstances, telles que l'attaquant et la victime étant sur le même réseau local, qu'il soit filaire ou sans fil, et les sites Web visités par l'utilisateur n'ont pas le protocole HSTS activé. Il est très important de savoir sur quels sites Web nous avons le protocole HSTS disponible, d'être calme lorsque nous naviguons sur ce site Web, car si quelqu'un nous attaque, le site Web nous dira automatiquement qu'une connexion sécurisée n'a pas été établie, et que la connexion ne sera pas établie, nous protégeant ainsi de l'échange de données supplémentaires.

Si nous nous connectons à Internet dans des réseaux publics via un VPN ou en faisant un tunnel SSH, nous pouvons être calmes car ils ne pourront pas intercepter les communications et les violer, c'est pourquoi l'utilisation de ces techniques est si importante lorsque nous sommes à l'extérieur de nos réseaux de confiance. Peu importe que le serveur VPN ou SSH soit chez nous, sur un serveur VPS loué par nous, et même si nous utilisons des services VPN payants comme ceux que nous connaissons tous, l'important est de se protéger contre un attaquant qui est sur notre réseau local et évitez ce type d'attaque SSL Stripping.