Kursleiter: Jetzt funktioniert alles,
was wir bisher gemacht haben, nur für HTTP-Seiten.
Der Grund, warum es gegen HTTP
funktioniert, weil, wie wir
gesehen haben, die Daten in HTTP als Klartext gesendet werden.
Es ist also ein Text, den Menschen wie wir lesen und verstehen können.
Deshalb können wir, wenn wir der
Mann in der Mitte sind,
diesen Text lesen und wenn wir wollen, können wir diesen
Text nach Belieben modifizieren.
Dies ist offensichtlich ein
Problem und dieses Problem wurde in HTTPS behoben.
Wie Sie wissen, verwenden die meisten Websites HTTPS.
Der Grund dafür,
wie gesagt, weil es eine sicherere Version von HTTP ist
und im Grunde die Art
und Weise, wie es funktioniert, ist, dass es eine zusätzliche Schicht über HTTP
hinzufügt, von der das S stammt.
Es handelt sich also um
ein sicheres HTTP-Protokoll und diese zusätzliche Schicht verschlüsselt die Klartextdaten,
die HTTP sendet.
Wenn es also einer Person gelingt, der Mann in der Mitte
zu werden, kann sie diese Daten lesen,
aber die Daten sind Kauderwelsch.
Sie ist für die
Person, die die Verbindung abfängt, nicht lesbar.
HTTPS verlässt sich jetzt auf TLS oder SSL, um die Daten zu verschlüsseln,
und dies ist sehr schwer zu knacken.
Um dies zu umgehen,
besteht die
einfachste Methode darin, HTTPS-Verbindungen auf HTTP herunterzustufen.
Da wir also der
Mann in der Mitte sind, können wir überprüfen, ob das Ziel
eine HTTPS-Website anfordert, und anstatt ihm die HTTPS-Version dieser Website
zu geben, geben wir ihm die HTTP-Version.
Auf diese Weise werden die Daten im Klartext gesendet
und wir können sie genau so lesen, wie ich es Ihnen
in der vorherigen Vorlesung gezeigt habe.
Um dies zu tun, müssen
wir ein Tool namens SSL Strip manuell konfigurieren
und verwenden. Wie das geht, zeige ich in meinen
fortgeschritteneren Kursen, aber zum Glück hat bettercap ein
Caplet, das all das für uns erledigt.
Ich habe dieses Caplet auch
selbst modifiziert, damit es zuverlässiger und auf mehr Websites funktioniert.
Bitte stellen Sie also sicher, dass Sie das benutzerdefinierte Kali-Image
verwenden, das ich für
diesen Kurs erstellt habe, da es standardmäßig mit diesem modifizierten Caplet geliefert wird.
Wenn Sie das Original-Kali verwenden
möchten, müssen Sie dieses Caplet manuell herunterladen und in
den richtigen Pfad einfügen.
Ich verwende hier das benutzerdefinierte Kali, also
muss ich nichts davon tun.
Ich kann einfach bettercap ausführen und verwenden,
aber vorher
möchte ich nur ins Home-Verzeichnis gehen und
das Spoof-Caplet ändern, das wir in den vorherigen
Vorlesungen verwendet haben.
Und ich möchte hier nur eine Sache ändern.
Also klicke ich mit der
rechten Maustaste darauf und öffne es mit Leafpad.
Und was ich ändern möchte, ist, dass ich dem Sniff
hier eine Option hinzufügen möchte.
Also, wie Sie wissen, diese Linie net. sniff on schaltet
meinen Sniffer ein, aber bevor
ich ihn einschalte, möchte
ich das Netz einstellen. schnüffeln. lokal zu wahr.
Und was diese Option bewirkt,
wird bettercap anweisen, alle Daten zu schnüffeln, auch wenn es
denkt, dass es sich bei diesen Daten um lokale Daten handelt.
Der Grund, warum ich diese Option
auf "true" gesetzt habe, weil die Daten so aussehen, als würden
sie von unserem Computer gesendet, sobald wir
das HTTPS-Bypass-Caplet verwenden.
Also wird bettercap denken, dass diese Passwörter zu mir
gehören, zu meinem Computer
und es wird mir nicht auf dem Bildschirm angezeigt.
Aus diesem Grund setzen
wir es auf "true", damit wir alle
Benutzernamen und Passwörter sehen können, die auf
den Websites gesendet werden, die wir von HTTPS auf HTTP herabstufen.
Also werde ich das speichern,
Control + S
und beenden, Control + Q und
jetzt sind wir tatsächlich bereit,
dieses Caplet zu verwenden und zu sehen, wie wir
HTTPS auf HTTP herabstufen und Passwörter von Anmeldeseiten
stehlen können, die standardmäßig HTTPS verwenden .
Also gehe ich zu meinem
Terminal und verwende bettercap genau so, wie ich
es vorher benutzt habe.
Also machen wir bettercap, den Namen des Programms.
Wir geben ihm
unsere Schnittstelle nach dem iface-Argument.
Wir verwenden das
Argument caplet, um ein Caplet anzugeben,
das ausgeführt werden soll, sobald wir
das Programm ausführen, und wir
führen das Spoof-Caplet aus, das wir in
der vorherigen Vorlesung erstellt haben, das den
ARP-Spoofing-Befehl und den Sniffer fürffer ausführt uns.
Also drücke ich Enter.
Und wie Sie sehen, wurde alles wie erwartet ausgeführt.
Wenn wir
helfen, sehen wir alle laufenden Module
und haben das Arp. Parodie und der Sniffer
läuft mit der Aufklärung und mit der Sonde.
Genau das wollten wir also von unserem Caplet.
Das HSTS-Bypass-Caplet ist also eines von
vielen Caplets, mit denen bettercap geliefert wird.
Wenn Sie alle diese Caplets auflisten möchten,
können Sie Caplets erstellen. show und wie
Sie sehen,
erhalten Sie eine Liste aller Caplets,
die Sie haben, und deren Position auf dem System.
Das Caplet, das ausgeführt werden soll, ist das hstshijack-Caplet.
Dieser hier.
Und um eines dieser
Caplets auszuführen, müssen Sie nur buchstäblich den Namen eingeben.
Und wie üblich können Sie die Registerkarte zum automatischen Vervollständigen verwenden.
Um unser Caplet hier auszuführen, muss
ich also nur hs eingeben und die
Tabulatortaste drücken, und wie
Sie sehen, wird es automatisch für mich
vervollständigt und der Caplet-Name eingegeben.
Wenn ich jetzt die Eingabetaste drücke, wird das
Caplet mit all seinen
Optionen geladen und für mich ausgeführt.
Wie Sie sehen können, bedeutet dies, dass
alles wie erwartet ausgeführt wurde, da wir keine Fehler sehen.
Gehen wir also zum Windows-Rechner, durchsuchen
wir einige HTTPS-Seiten und
sehen wir, ob wir Daten, Benutzernamen, Passwörter und
URLs ausspähen können, die sie auf ihrem Computer eingeben.
Also ich habe meinen Windows-Rechner hier.
Ich habe Chrome installiert.
Dies ist die neueste Version von Chrome zum
Zeitpunkt der Aufzeichnung dieses Vortrags.
Eine wirklich gute Idee, bevor Sie all diese
Dinge ausprobieren, ist, Ihre Browserdaten
zu entfernen, da die Websites, auf die wir zugreifen
möchten, möglicherweise zwischengespeichert und nur aus Ihrem
Cache geladen werden.
Dies geschieht nur, wenn Sie immer
wieder dieselbe Website besuchen, meistens beim Testen.
Daher ist es
eine wirklich gute Idee, Strg + Umschalt
+ Entf zu drücken und auf Browserdaten löschen zu klicken.
Stellen Sie sicher, dass all dies angeklickt ist.
Stellen Sie sicher, dass es auf die ganze
Zeit eingestellt ist, und klicken Sie auf Löschen, um alles zu entfernen.
Und gehen wir weiter zu einer Website, die
HTTPS verwendet.
Ein gutes Beispiel wäre also LinkedIn. com.
Und perfekt.
Wenn Sie hier
oben nachsehen, sehen Sie, dass die Website über
HTTP geladen wird, nicht über HTTPS.
Daher können wir alles sehen, was der Benutzer in diese
Felder eingibt.
Geben wir also einen Benutzernamen ein.
Setzen wir es auf zaid@zsecurity. org.
Und ich gebe ein Passwort als 1234567890 ein.
Es ist nicht wirklich wichtig.
Sie können ein beliebiges Passwort verwenden.
Und ich werde Enter drücken, um mich einzuloggen.
Dies ist falsch, also erhalten wir offensichtlich eine Fehlermeldung,
aber wenn wir zu Kali
zurückkehren, erfassen wir, wie Sie sehen können,
alle diese Daten, da sie nicht mehr über HTTPS gesendet werden.
Es wird über HTTP gesendet.
Und wenn Sie hier
reinschauen, können Sie sehen, dass wir Anmeldeinformationen erfasst haben.
Es wird an LinkedIn gesendet. com.
An diese spezifische URL wird eine Login-URL gesendet und Sie können sehen,
dass der Benutzername zaid@zsecurity ist. org.
Und das Passwort ist 123 bis 90.
Das ist also wirklich sehr gut.
Lassen Sie uns eine andere HTTPS-Website testen.
Gehen wir zu StackOverflow. com.
Auch hier können Sie oben
sehen, dass es über HTTP geladen wird, nicht über HTTPS.
Also klicke ich auf Anmelden.
Und wieder werde ich meine E-Mail setzen.
Zaid@zsecurity. org.
Und wir geben ein Passwort als 1234567890 ein.
Drücke Enter.
Und gehen wir noch einmal zur Kali-Maschine.
Scrollen Sie dieses Mal nach unten, denn wir stecken oben fest.
Und perfekt, Sie können sehen, dass wir hier eine POST-Anfrage haben.
Es wird an diese spezifische URL gesendet.
Auch hier können Sie die Anmeldung in der URL sehen.
Sie können die Website selbst sehen.
Paketüberfluss. com.
Und wenn wir etwas weiter nach unten scrollen, sehen
wir, dass der Benutzername zaid@zsecurity ist. org und das
Passwort erneut 123 bis zu 90.
Das ist also wirklich sehr gut.
Jetzt können wir jede HTTPS-Verbindung auf
HTTP herabstufen, solange die
Zielwebsite HTTPS und nicht HSTS verwendet.
Diese Methode funktioniert also gegen so
ziemlich alle Websites, die HTTPS verwenden, mit Ausnahme der wirklich
beliebten Websites wie Facebook, Twitter und so weiter.
Also lass mich dir ein kurzes Beispiel zeigen.
Wenn ich hierher gehe und versuche, zu Facebook zu gehen. com, sehen Sie,
dass die Website über HTTPS geladen
wurde, nicht über HTTP,
obwohl wir unser Caplet richtig konfiguriert haben
und wir HTTPS-Verbindungen auf vielen Websites wie
LinkedIn
und Stack Overflow downgraden können.
Dies geschieht, weil Facebook HSTS verwendet, was etwas
schwieriger zu umgehen ist.
Im nächsten
Vortrag werden wir mehr darüber sprechen, was HSTS ist,
warum es schwierig ist, es
zu umgehen und wie man es teilweise
umgeht und trotzdem Benutzernamen und Passwörter
von den Websites erhält, die
es implementieren, wie Facebook, Twitter und so weiter.