Utiliser l'option 'Without a Spoofer' pour le SSL Stripping

MySQLBeginner
Pratiquer maintenant

Introduction

Le SSL stripping est un type d'attaque Man-in-the-Middle (MITM) qui force un navigateur web à se connecter à un site web via une connexion HTTP non chiffrée, même si l'utilisateur avait l'intention de se connecter de manière sécurisée via HTTPS. Cela permet à un attaquant d'intercepter et de lire tout le trafic entre l'utilisateur et le site web.

Dans ce laboratoire, vous utiliserez l'outil Wifiphisher pour effectuer une attaque SSL stripping. Plus précisément, vous explorerez l'option 'Without a spoofer' (Sans spoofeur), qui repose sur l'interception et la modification du trafic sans utiliser de faux certificat SSL. Cet exercice pratique vous aidera à comprendre les mécanismes de cette attaque dans un environnement contrôlé et sécurisé.

Lancer l'attaque du portail captif

Dans cette étape, vous allez lancer l'outil Wifiphisher pour créer un point d'accès (AP) frauduleux et initier une attaque par portail captif. Comme l'environnement virtuel LabEx ne dispose pas de carte sans fil physique, nous utiliserons des options spécifiques pour simuler l'attaque.

Tout d'abord, ouvrez un terminal. Nous exécuterons wifiphisher avec sudo car il a besoin de privilèges élevés pour gérer les interfaces réseau et les services. Nous utiliserons l'option --nojamming pour l'empêcher d'essayer de brouiller les réseaux WiFi réels et --essid "Free WiFi" pour nommer notre faux réseau. Nous devons également spécifier un scénario de portail captif ; nous utiliserons firmware-upgrade.

Exécutez la commande suivante dans votre terminal :

sudo wifiphisher --nojamming --essid "Free WiFi" -p firmware-upgrade

Après avoir exécuté la commande, Wifiphisher démarrera. Il détectera automatiquement vos interfaces réseau. Il vous sera peut-être demandé de sélectionner l'interface pour l'AP et l'interface pour le NAT. Pour les deux invites, vous pouvez généralement appuyer sur Entrée pour accepter le choix par défaut, qui est généralement eth0.

Vous verrez une sortie similaire à celle-ci pendant que l'outil s'initialise :

[*] Starting Wifiphisher 1.4GIT ( https://wifiphisher.org ) at 2023-10-27 10:00
[+] Timezone detected. Setting channel hopping to the appropriate regulatory domain.
[+] Selecting eth0 for the AP interface.
[+] Selecting eth0 for the Internet-connected interface.
...

Lors de l'invite pour le SSL, sélectionnez l'option 'Sans spoofeur'

Dans cette étape, vous allez configurer la méthode de SSL stripping pour l'attaque. Après la configuration initiale, Wifiphisher vous demandera comment vous souhaitez gérer le trafic protégé par SSL/TLS. C'est un choix critique qui détermine la nature de l'attaque de l'homme du milieu.

Wifiphisher présentera une invite avec deux options principales :

  1. Avec un spoofeur (With a spoofer) : Cette méthode génère un faux certificat SSL à la volée et le présente au client. Cela déclenche souvent un avertissement de sécurité dans le navigateur du client.
  2. Sans spoofeur (Without a spoofer) : Cette méthode tente de rétrograder la connexion vers HTTP simple sans utiliser de certificat. Elle repose sur le fait que le navigateur du client n'impose pas une connexion sécurisée.

Vous verrez une invite comme celle-ci dans votre terminal :

[?] How do you want to handle SSL/TLS-protected traffic?
1. With a spoofer (Generate a fake cert on the fly and spoof the domain)
2. Without a spoofer (Downgrade to HTTP)
[1/2]:

Pour ce laboratoire, nous explorons la deuxième option. Tapez 2 et appuyez sur Entrée.

2

Après avoir fait votre sélection, Wifiphisher finalisera la configuration de l'AP frauduleux et du portail captif. Il sera alors prêt à accepter les connexions des clients. Le terminal affichera des messages indiquant que les serveurs proxy HTTP et HTTPS sont en cours d'exécution.

[*] Starting the HTTP and HTTPS proxy servers...
[*] Starting AP...

Comprendre que cela repose sur des vulnérabilités du navigateur client

Dans cette étape, nous allons discuter du mécanisme derrière l'option de SSL stripping 'Sans spoofeur'. Il n'y a pas de commandes à exécuter ici ; cette section est destinée à votre compréhension conceptuelle.

La méthode 'Sans spoofeur' est une forme d'attaque plus subtile. Voici comment elle fonctionne :

  1. Requête initiale : Une victime se connecte à votre réseau frauduleux "Free WiFi". Elle ouvre son navigateur et tente de naviguer vers un site sécurisé, par exemple, https://example.com.
  2. Interception : Wifiphisher, agissant comme passerelle, intercepte cette requête avant qu'elle n'atteigne Internet.
  3. Rétrogradation : Au lieu d'essayer d'usurper l'identité de example.com avec un faux certificat, Wifiphisher fait quelque chose de différent. Il transmet la requête de l'utilisateur au véritable https://example.com lui-même, mais il renvoie le contenu à la victime via une connexion http:// simple.
  4. Réécriture du contenu : De manière cruciale, Wifiphisher analyse le contenu HTML qu'il reçoit du serveur réel et réécrit tous les liens. Tout lien qui était https://... est modifié en http://.... Cela maintient l'utilisateur dans la session non chiffrée aussi longtemps que possible.

Le succès de cette attaque dépend de deux facteurs principaux :

  • L'utilisateur ne remarque pas l'absence de l'icône de cadenas dans le navigateur.
  • Le site web cible n'utilise pas HTTP Strict Transport Security (HSTS). HSTS est une politique de sécurité que les serveurs web peuvent utiliser pour indiquer aux navigateurs qu'ils ne doivent être contactés qu'en HTTPS. Si un navigateur a déjà reçu un en-tête HSTS d'un site, il refusera de se connecter via HTTP, rendant cette attaque inefficace.

Connecter un client et tenter de naviguer vers un site HTTPS

Dans cette étape, vous allez simuler la connexion d'un client au point d'accès frauduleux et tenter d'accéder à un site web sécurisé. Dans un scénario réel, une victime connecterait son appareil au réseau "Free WiFi". Ici, nous allons simuler cela en utilisant la commande curl dans un nouveau terminal.

Tout d'abord, ouvrez un nouvel onglet de terminal. Vous pouvez le faire en cliquant sur l'icône + dans le panneau du terminal. Ce nouveau terminal agira comme notre "client victime".

Dans ce nouveau terminal, nous utiliserons curl pour tenter d'accéder à un site HTTPS. Nous utiliserons httpforever.com, un site conçu à des fins de test qui n'impose pas HSTS. L'indicateur -v (verbose) nous montrera des informations détaillées sur le processus de connexion.

Exécutez la commande suivante dans le nouveau terminal :

curl -v https://httpforever.com

Étant donné que Wifiphisher contrôle le réseau, cette requête sera interceptée. Au lieu d'atteindre le véritable httpforever.com, elle sera gérée par notre outil d'attaque.

Observer si la connexion est rétrogradée en HTTP

Dans cette étape, vous observerez les résultats de l'attaque dans les terminaux client et attaquant pour confirmer que la connexion a été rétrogradée avec succès.

Tout d'abord, regardez la sortie dans votre terminal client (où vous avez exécuté curl). La sortie détaillée montrera que votre requête vers https://httpforever.com a entraîné une redirection. Vous verrez un code d'état 302 Found et un en-tête Location pointant vers une adresse HTTP, qui est la page du portail captif.

La sortie ressemblera à ceci :

*   Trying 10.0.0.1:443...
* Connected to httpforever.com (10.0.0.1) port 443 (#0)
...
< HTTP/1.1 302 Found
< Location: http://10.0.0.2:8080/
< Content-Length: 0
< Date: Fri, 27 Oct 2023 10:05:00 GMT
< Server: Python/3.10 aiohttp/3.8.5
...

Remarquez que l'en-tête Location vous redirige vers une adresse http://. Cela confirme la rétrogradation.

Ensuite, revenez à votre premier terminalwifiphisher est en cours d'exécution. Vous verrez de nouvelles entrées de journal indiquant qu'un client s'est connecté et que ses requêtes sont traitées. Il enregistrera la requête GET HTTP du client simulé.

[+] 192.168.1.100 victim-device connected to Free WiFi
[*] Sent a captive portal page to 192.168.1.100
[+] GET 192.168.1.100: http://httpforever.com/

Cela confirme que l'attaquant intercepte avec succès le trafic en texte clair.

Pour terminer le laboratoire, arrêtez l'outil Wifiphisher en passant à son terminal et en appuyant sur Ctrl+C.

Résumé

Dans ce laboratoire, vous avez démontré avec succès une attaque par SSL stripping en utilisant l'option 'Without a spoofer' dans Wifiphisher.

Vous avez appris à :

  • Lancer Wifiphisher pour créer un point d'accès frauduleux pour une attaque par portail captif.
  • Sélectionner la méthode de SSL stripping 'Without a spoofer'.
  • Simuler une connexion client en utilisant curl dans un terminal séparé.
  • Observer les preuves de la rétrogradation de la connexion de HTTPS à HTTP en analysant la sortie du client et de l'outil de l'attaquant.

Cet exercice souligne l'importance des mécanismes de sécurité tels que HSTS pour se protéger contre de telles attaques par rétrogradation. Félicitations pour avoir terminé ce laboratoire !