Instructeur : Tout ce que nous
avons fait jusqu'à présent ne fonctionnera que sur les pages HTTP.
La raison pour laquelle cela fonctionne contre
HTTP car, comme nous
l'avons vu, les données dans HTTP sont envoyées en texte brut.
C'est donc un texte que les humains comme nous peuvent lire et comprendre.
C'est pourquoi lorsque nous sommes l'homme du
milieu, nous sommes capables de lire
ce texte et si nous le voulions, nous pouvons modifier ce
texte à notre guise.
Maintenant, c'est évidemment un problème
et ce problème a été résolu en HTTPS.
Comme vous le savez, la plupart des sites Web utilisent HTTPS.
La raison pour
laquelle, comme je l'ai dit, parce que c'est une version
plus sécurisée de HTTP
et fondamentalement, la façon dont cela fonctionne est qu'elle ajoute une couche supplémentaire
sur HTTP, d'où vient le S.
Il s'agit donc d'un protocole HTTP
sécurisé et cette couche supplémentaire chiffrera les données en texte brut
envoyées par HTTP.
Donc, si une personne parvient à devenir l'homme du milieu,
elle pourra lire ces données, mais les
données seront du charabia.
Il ne sera pas
lisible par la personne interceptant la connexion.
Maintenant, HTTPS s'appuie sur TLS ou SSL pour crypter les données
et c'est très difficile à casser.
Par conséquent, afin de contourner cela,
la méthode la
plus simple consiste à rétrograder les connexions HTTPS en HTTP.
Donc, puisque nous sommes
l'homme du milieu, nous pouvons vérifier si la cible demande un site
Web HTTPS et au lieu de lui donner la version HTTPS de
ce site Web, nous lui donnerons la version HTTP.
De cette façon, les données seront envoyées en clair
et nous pourrons les lire exactement comme je vous l'ai
montré dans la conférence précédente.
Pour ce faire, nous devrons
configurer et utiliser manuellement un outil appelé SSL
Strip et je montre comment le faire dans mes
cours plus avancés, mais heureusement, bettercap a un
caplet qui fait tout cela pour nous.
J'ai également modifié ce caplet moi-même pour
le faire fonctionner de manière plus fiable et sur plus de sites Web.
Assurez-vous donc d'utiliser l'image Kali personnalisée que j'ai créée
pour ce cours,
car elle est livrée avec ce caplet modifié par défaut.
Si vous souhaitez utiliser le Kali
d'origine, vous devrez télécharger manuellement ce caplet et le mettre
dans le bon chemin.
J'utilise le Kali personnalisé ici, donc je n'aurai
pas besoin de faire tout cela.
Je peux simplement exécuter bettercap et l'utiliser, mais
avant de
faire cela, je veux juste aller dans le répertoire
personnel et modifier le caplet spoof que nous avons utilisé
dans les conférences précédentes.
Et je veux juste modifier une chose là-dedans.
Je vais donc faire
un clic droit dessus et l'ouvrir avec Leafpad.
Et ce que je veux modifier, c'est que je veux ajouter
une option au reniflement ici.
Donc, comme vous le savez, cette ligne net. sniff on
allumera mon sniffer mais
avant de l'allumer, je
veux mettre le net. renifler. local à vrai.
Et ce que cette option
fera, elle dira à bettercap de renifler toutes les données,
même si elle pense que ces données sont des données locales.
La raison pour laquelle j'ai défini cette
option sur true car une fois que nous utilisons le caplet
de contournement HTTPS, les données sembleront être envoyées
depuis notre ordinateur.
Ainsi bettercap pensera que ces mots de passe
m'appartiennent, à mon ordinateur
et il ne me les affichera pas à l'écran.
C'est pourquoi nous le définissons
sur true afin que nous puissions voir tous
les noms d'utilisateur et les mots de passe
envoyés sur les sites Web que nous allons rétrograder de HTTPS à HTTP.
Je vais donc enregistrer ceci, Control
+ S et le
quitter, Control + Q et maintenant
nous sommes prêts à utiliser
ce caplet et à voir comment nous pouvons rétrograder HTTPS en
HTTP et voler les mots de passe des pages
de connexion qui utilisent HTTPS par défaut .
Je vais donc aller sur mon
terminal et je vais utiliser bettercap exactement comme
je l'ai utilisé auparavant.
Donc nous faisons bettercap, le nom du programme.
Nous lui donnons
notre interface après l'argument iface.
Nous utilisons l'argument
caplet pour spécifier un caplet à
exécuter dès que nous exécutons le programme
et nous exécutons le caplet
spoof, celui que nous avons construit dans la
conférence précédente qui exécutera la commande d'usurpation
ARP et exécutera le renifleur pour nous.
Je vais donc appuyer sur Entrée.
Et comme vous pouvez le voir, tout s'est exécuté comme prévu.
Si nous aidons,
nous verrons tous les modules en cours
d'exécution et nous aurons l'arp. spoof et le renifleur
fonctionnant avec la reconnaissance et avec la sonde.
C'est donc exactement ce que nous voulions de notre caplet.
Donc, tout d'abord, le caplet de contournement
HSTS est l'un des nombreux caplets fournis avec bettercap.
Si vous souhaitez répertorier tous ces caplets, vous
pouvez créer des caplets. show et comme vous
pouvez le voir,
vous obtiendrez une liste de tous les
caplets que vous avez et leur emplacement sur le système.
Maintenant, le caplet à exécuter est le caplet hstshijack.
Celui-ci ici.
Et pour exécuter l'un de ces
caplets, tout ce que vous avez à faire est de taper simplement son nom.
Et comme d'habitude, vous pouvez utiliser l'onglet pour compléter automatiquement.
Donc, pour exécuter notre caplet ici, tout
ce que j'ai à faire est de taper littéralement hs
et d'appuyer sur Tab et comme
vous pouvez le voir, il se terminera automatiquement pour
moi et tapera le nom du caplet.
Maintenant, si j'appuie sur Entrée, cela chargera le
caplet avec toutes ses
options et il l'exécutera pour moi.
Donc, comme vous pouvez le voir, parce que
nous ne voyons aucune erreur, cela signifie que tout s'est exécuté comme prévu.
Allons donc sur la machine Windows, parcourons
quelques pages HTTPS et voyons
si nous pouvons renifler les données, les noms d'utilisateur, les
mots de passe et les URL qu'ils entrent sur leur ordinateur.
J'ai donc ma machine Windows ici.
J'ai installé Chrome.
Il s'agit de la dernière version de Chrome au
moment de l'enregistrement de cette conférence.
Une très bonne idée avant d'essayer toutes ces choses est
de supprimer vos données de navigation, car
les sites Web auxquels nous allons essayer d'accéder peuvent être mis
en cache et ils peuvent être simplement chargés à
partir de votre cache.
Cela ne se produira que si vous visitez le
même site Web encore et encore, principalement lors des tests.
Par conséquent, c'est une
très bonne idée de Ctrl + Maj
+ Supprimer et de cliquer sur effacer les données de navigation.
Assurez-vous que tout cela est cliqué.
Assurez-vous qu'il est défini sur tout
le temps et cliquez sur Effacer pour tout supprimer.
Et allons-y et allons sur un site Web
qui utilise HTTPS.
Ainsi, un bon exemple serait LinkedIn. com.
Et parfait.
Si vous regardez ici
en haut, vous verrez que le site Web se
charge via HTTP, pas via HTTPS.
Par conséquent, nous pourrons voir tout ce que l'utilisateur entre dans
ces cases.
Mettons donc un nom d'utilisateur.
Mettons-le à zaid@zsecurity. org.
Et je vais mettre un mot de passe comme 1234567890.
Cela n'a pas vraiment d'importance.
Vous pouvez utiliser n'importe quel mot de passe.
Et je vais appuyer sur Entrée pour me connecter.
C'est faux, donc évidemment, nous recevons un message d'erreur,
mais si nous revenons à
Kali, comme vous pouvez le voir, nous capturons
toutes ces données car elles ne sont plus envoyées via HTTPS.
Il est envoyé via HTTP.
Et si vous regardez ici,
vous pouvez voir que nous avons capturé les informations de connexion.
Il est envoyé à LinkedIn. com.
Envoyé à cette URL spécifique, une URL de connexion et vous pouvez voir
que le nom d'utilisateur est zaid@zsecurity. org.
Et le mot de passe est 123 jusqu'à 90.
Alors c'est vraiment très bien.
Allons de l'avant et testons un autre site Web HTTPS.
Passons à StackOverflow. com.
Encore une fois, vous pouvez voir
en haut, qu'il se charge sur HTTP, pas sur HTTPS.
Je vais donc cliquer sur Connexion.
Et encore, je vais mettre mon email.
Zaid@zsecurity. org.
Et nous mettrons un mot de passe comme 1234567890.
Appuyez sur Entrée.
Et revenons à la machine Kali.
Faites défiler vers le bas cette fois parce que nous sommes coincés au sommet.
Et parfait, vous pouvez voir que nous avons une demande POST ici.
Il est envoyé à cette URL spécifique.
Encore une fois, vous pouvez voir la connexion dans l'URL.
Vous pouvez voir le site Web lui-même.
Débordement de pile. com.
Et si nous descendons un peu plus, nous pouvons
voir que le nom d'utilisateur est zaid@zsecurity. org et le mot
de passe à nouveau, 123, jusqu'à 90.
Donc c'est vraiment très bien.
Maintenant, nous pouvons rétrograder n'importe quelle connexion HTTPS
à HTTP tant que le
site Web cible utilise HTTPS, pas HSTS.
Cette méthode fonctionnera donc contre à peu
près tous les sites Web qui utilisent HTTPS, à l'exception des
sites Web très populaires, tels que Facebook, Twitter, etc.
Alors laissez-moi vous montrer un exemple rapide.
Si je vais ici et essaie d'aller sur Facebook. com, vous verrez que le
site Web a été chargé via HTTPS, et
non via HTTP, même si
nous avons correctement configuré notre caplet et même si nous
sommes en mesure de rétrograder les connexions HTTPS sur de
nombreux sites
Web, tels que LinkedIn et Stack Overflow.
Cela se produit parce que Facebook utilise HSTS, qui est
un peu plus difficile à contourner.
Dans la
prochaine conférence, nous parlerons davantage de ce qu'est le
HSTS, pourquoi il est difficile
à contourner et comment le contourner partiellement
tout en obtenant les noms d'utilisateur et
les mots de passe des sites
Web qui l'implémentent, tels que Facebook, Twitter, etc.