Kursleiter: Bisher haben wir eine Reihe von Dingen gesehen,
die wir tun können, wenn wir einmal der Mann in der Mitte werden.
Wir haben also gesehen, wie wir alles sehen können, was der Zielcomputer im
Netzwerk tut.
So konnten wir die Websites, die Benutzernamen, die Passwörter,
die Bilder und alles, was sie in ihren
Browser laden, sehen.
Wir haben auch gesehen, dass wir sie auf
andere Websites umleiten können, da wir der Mann in der Mitte sind.
Wenn sie also eine
Domain anfordern, können wir sie durch
einen DNS-Spoofing-Angriff an einen anderen Ort umleiten.
Eine andere wirklich coole Sache, die
wir tun können, ist, den HTML-Code zu ändern, die Seiten
zu ändern, während sie im Zielbrowser geladen werden.
Das ist natürlich alles möglich, weil
wir der Mann in der
Mitte sind, weil wir all diese Daten abfangen können.
Wir können also auf den
HTML-Code warten, der für das Laden von Webseiten verantwortlich ist.
Und während es durch unseren
Computer fließt, können wir jeden gewünschten Code einfügen, und
der Browser führt diesen Code aus.
Jetzt ist HTML nur für das Rendern der Elemente verantwortlich, die Sie
auf der Webseite sehen.
Es ist also verantwortlich für die Buttons, für
die Foren, für den Text,
es erlaubt uns nicht wirklich viel zu tun.
Moderne Browser können jedoch JavaScript-Code ausführen.
JavaScript ist eine leistungsstarke Programmiersprache, mit der wir
so viele Dinge tun können, wir können tatsächlich
die ganze Seite ändern, Elemente
entfernen oder Elemente zur Seite hinzufügen, wir
können Links ersetzen.
Und genau das habe ich
getan, als ich das HSTS-Plugin modifiziert habe.
Also habe ich Code hinzugefügt, der HTTPS durch HTTP ersetzt.
Und ich habe auch Code hinzugefügt, der den tatsächlichen Link ersetzt,
den tatsächlichen Domänennamen durch den gefälschten Domänennamen, durch den
mit dem Punktmais oder
was auch immer Sie im Skript festgelegt haben.
Sie können es sogar verwenden, um den Browser mit anderen
Browser-Ausnutzungs-Frameworks zu verbinden, die wir verwenden
können, um das Ziel weiter auszunutzen und sogar
die volle Kontrolle über seinen Computer zu erlangen.
Und das werden wir später im Kurs sehen.
Aber jetzt zeige ich Ihnen, wie Sie einen sehr
einfachen JavaScript-Code in die geladenen Seiten einfügen.
Und dann werden wir in zukünftigen Vorträgen
darauf aufbauen und sehen, wie mächtig und nützlich das sein kann.
Hier habe ich also meine Kali-Maschine.
Und bevor ich die bessere Obergrenze
ausführe und Ihnen zeige,
wie Sie JavaScript injizieren, benötigen wir zunächst etwas
JavaScript-Code, um ihn in den Zielbrowser einzufügen.
Also werde ich einen Texteditor öffnen.
Und ich werde einen sehr, sehr einfachen JavaScript-Code schreiben.
Wie ich bereits sagte, werden wir sehen, wie wir dies
verwenden können, um nützlicheren Code auszuführen.
Aber vorerst halten wir es einfach, um
zu sehen, wie wir JavaScript-Code tatsächlich ausführen können.
Also alles, was ich tun werde, ist alarmieren, eine
Klammer öffnen, Anführungszeichen und ich sage JavaScript-Test.
Ich schließe das Anführungszeichen und schließe die Klammer
und füge ein Semikolon hinzu.
Also genau hier, dieser
Code wird nur eine Warnmeldung anzeigen, eine Warnmeldung
mit dem Hinweis auf JavaScript-Code.
Da wir also versuchen werden, diesen Code in alle Seiten einzufügen, sollten wir
jedes Mal, wenn wir eine
Webseite laden, eine Meldung mit der Aufschrift JavaScript-Test sehen.
Das werde ich mir jetzt sparen.
Also gehe ich zu Datei, Speichern.
Und ich werde das in meinem Stammverzeichnis ablegen.
Und ich nenne es einfach Alarm. js, ich drücke
die Eingabetaste.
Und das ist jetzt in meinem Root gespeichert. Wenn ich
es also beende, können wir sehen, dass wir die Datei hier haben.
Dies ist also die Datei, die den
Code enthält, den wir in jede Webseite einfügen möchten, die auf
dem Zielcomputer geladen wird.
Der nächste Schritt ist, zu unserem HSTS-Hijack-Plugin zu gehen.
Wie ich Ihnen bereits gezeigt habe,
war dies in user, local,
share, bettercap, caplets, HSTS hijack
einer wird nicht
so funktionieren, wie Sie es wollten.
Hier haben wir also den hstshijack. cap-Datei.
Dies ist die Konfigurationsdatei für das gesamte Plugin.
Also klicke ich mit der
rechten Maustaste darauf und öffne es mit meinem Texteditor.
Und hier wollen
wir die Nutzlasten hier ändern.
Wie Sie
hier sehen können, injiziert es bereits
eine JavaScript-Datei namens Keylogger. js, aber wir wollen auch
unseren eigenen Code einschleusen.
Also füge ich hier ein Komma hinzu.
Und ich füge Stern gefolgt von einem Doppelpunkt hinzu.
Wir haben diesen Stern hier hinzugefügt, um zu sagen,
dass ich mein Skript in jede Seite einfügen möchte, die das Ziel lädt.
Wenn Sie Ihren Code in bestimmte Domänen einfügen
möchten, können Sie den Stern entfernen und einfach die
Domänen auflisten, in die Sie diesen Code einfügen möchten, direkt hier.
Aber wie gesagt, wir wollen das in alle Seiten einbringen.
Also werde ich das als Stern setzen.
Und nach dem Doppelpunkt gebe ich den Speicherort der
JavaScript-Datei an, die ich in den Browser
einfügen möchte.
Wenn wir also hier reinschauen, ist dies
die Datei, die wir gerade erstellt haben, die sich
im Stammverzeichnis bei mir zu Hause befindet und als alert bezeichnet wird. js.
Also werde ich hier einfügen, ich sage nur Slash
Root, gefolgt von Alert. js.
Und das ist es.
Ich werde dieses Strg S speichern und Strg Q
beenden, und wir können loslegen.
Also gehe ich zu meinem Terminal und führe bettercap mit dem
gleichen Befehl aus, den wir verwendet haben.
Also geben wir ihm nur die Schnittstelle als eth0
und wir geben ihm unsere Spool-Datei, um automatisch einen ARPX-Spoofing-Angriff
auszuführen, was uns mitten in die Verbindung bringt.
Und wie Sie sehen, funktioniert dies
fehlerfrei, also ist alles perfekt.
Was ich jetzt auch
tun möchte, ist mein HSTS-Hijack-Plugin auszuführen.
Und wie Sie wissen, müssen wir nur H S und Tab
eingeben, dies wird automatisch vervollständigt, ich drücke die
Eingabetaste und alles läuft ohne Fehler.
Es ist also alles perfekt.
Und wie Sie hier sehen können, heißt es,
dass die Nutzlasten, das Laden der JavaScript-Nutzlasten, der Keylogger sind.
Dies ist die Standardeinstellung, die die Datei bereits geladen hat.
Und die, die wir gerade angegeben haben, die
sich in Root-Benachrichtigungen befindet. js.
Also jedes Mal, wenn unser Ziel eine Webseite lädt, den Code, den wir
in die Warnung eingefügt haben. js sollte
in die geladene Seite eingefügt
und ausgeführt werden.
Das Ergebnis sollte uns eine einfache Nachricht anzeigen, die
besagt, dass JavaScript getestet wird.
Kommen wir also zum Ziel.
Und wie üblich ist es eine gute Idee,
die Browserdaten einfach zu entfernen, um sicherzustellen, dass nichts zwischengespeichert wird.
Und ich teste immer gerne zuerst mit dem einfachsten Fall
und gehe dann zu komplexeren Szenarien über.
Also teste ich es zuerst mit einer normalen
HTTP-Seite, damit es nichts zu umgehen
gibt, keine Verschlüsselung.
Also gehen wir einfach zu Volnweb. com.
Und perfekt, wie Sie sehen können, haben
wir hier eine Warnmeldung, die uns den JavaScript-Test mitteilt.
Im Grunde bedeutet dies also den
JavaScript-Code in meiner Warnung. js-Datei wurde in diese Seite eingefügt.
Nachdem wir nun überprüft haben, dass es mit normalen HTTP-Seiten funktioniert,
testen wir es mit einer Seite, die HTTPS wie
Stackoverflow verwendet. com.
Perfekt, es funktioniert wie erwartet.
Ein anderes Beispiel wäre Linkin. com.
Beachten Sie, dass diese Websites HTTPS verwenden.
Und wie Sie sehen, können wir sie hier ohne HTTPS
laden, also nur über HTTP.
Selbst wenn Sie sich hier einloggen,
können Sie den Benutzernamen
und das Passwort wie oben gezeigt erhalten.
Lassen Sie uns abschließend die HSTS-Website mit
der partiellen HSTS-Bypass-Methode testen, die ich Ihnen gezeigt habe.
Damit das funktioniert, müssen wir zunächst zu
Google und zu einer Google-Domain, die kein HSTS
verwendet, ähnlich wie bei Google. dh.
Dies ist eigentlich die lokale Google-Website für Irland.
Und wie Sie sehen, funktioniert der Code.
Das ist in Ordnung.
Google verwendet ohnehin nur HTTPS.
Aber suchen wir nach Facebook.
Jetzt wissen wir, dass Facebook HSTS verwendet.
Und da HSTS verwendet wird, sollten wir nichts in die
Website einschleusen können, da
der Browser sie nur über HTTPS lädt.
Aber mit unserer partiellen Bypass-Methode.
Wenn ich von hier aus auf Facebook klicke, wird, wie
Sie sehen, der Code ausgeführt.
Denn was wir gerade laden, ist Facebook. Mais, nicht Facebook.
com.
Und wie ihr seht, bekommen wir wieder eine normale
Facebook-Seite, die gleich aussieht.
Und wenn Sie sich einloggen, erhalten Sie den Benutzernamen
und das Passwort.
Wie Sie sehen, funktioniert dies
für HTTP- und HTTPS-Seiten und sogar HSTS, wenn das Ziel nach
dieser Website sucht, nicht wenn der Domainname hier eingegeben wird.
Also, wenn das Ziel hereinkommt und buchstäblich Facebook eingibt. com manuell und drücken
Sie die Eingabetaste, der Browser erzwingt die HTTPS-Verbindung, wie Sie hier
sehen können, da er, wie gesagt, eine
vorinstallierte Liste von Websites hat, die er nur
über HTTPS laden kann und weil der Browser eine HTTPS-Verbindung herstellt,
die Daten werden verschlüsselt, und deshalb
möchten wir in der Lage sein, alles hineinzuschleusen.