SSL-Stripping-Angriffe: Gefahren und wie Sie Angriffe vermeiden

Heutzutage verwenden die meisten Websites die sicheres HTTPS-Protokoll für die Kommunikation zwischen Clients und dem Webserver, dank dieses Protokolls, das TLS und die darin enthaltenen kryptografischen Algorithmen verwendet, wird die Kommunikation Punkt-zu-Punkt verschlüsselt, außerdem auch Die Authentizität der Verbindung und sogar die Integrität der Daten werden überprüft, damit Cyberkriminelle die Pakete nicht im Handumdrehen ändern können. Es gibt jedoch einen Angriff auf das HTTPS-Protokoll namens SSL-Stripping , besteht dieser Angriff darin, die TLS-Verschlüsselung der Kommunikation „aufzuheben“, sodass ein Cyberkrimineller alle Kommunikationen im Klartext über HTTP sehen kann. Möchten Sie alles über den SSL-Stripping-Angriff wissen und wie Sie sich schützen können, um zu verhindern, dass ein Cyberkrimineller Ihre Kommunikation kompromittiert?

SSL-Stripping-Angriffe: Gefahren und wie Sie Angriffe vermeiden

Wie funktioniert das HTTPS-Protokoll?

Das HTTPS-Protokoll (Hypertext Transfer Protocol Secure) ist die sichere Version des beliebten HTTP-Protokolls (Hypertext Transfer Protocol). Dieses Protokoll befindet sich in der Anwendungsschicht und basiert auf HTTP, aber die Sicherheit des TLS-Protokolls (auf Transportschichtebene) wird hinzugefügt, um Punkt-zu-Punkt-Sicherheit in allen Verbindungen zu gewährleisten, von Clients bis zum Webserver. Das TLS-Protokoll ist eines der am häufigsten verwendeten, um die Kommunikationssicherheit zu gewährleisten. Darüber hinaus wird es nicht nur in HTTPS-Verbindungen verwendet, sondern auch in anderen Protokollen wie FTPES (die Version von FTP, aber mit der Sicherheitsschicht, die TLS verwendet) und sogar virtuell private Netzwerkprotokolle wie OpenVPN. Das TLS-Protokoll (und damit auch das HTTPS-Protokoll auf Anwendungsschichtebene) nutzt verschiedene kryptografische Algorithmen, die uns folgende Eigenschaften verleihen:

  • Vertraulichkeit : Vertraulichkeit in der Kryptographie bedeutet, dass alle Daten Ende-zu-Ende verschlüsselt sind und nur die Quelle und das Ziel diese Daten „lesen“ können. Befindet sich ein Cyberkrimineller mitten in der Kommunikation (Man-in-the-Middle-Angriff), kann er die Informationen problemlos erfassen, aber ohne den privaten Entschlüsselungsschlüssel nie lesen.
  • Authentizität : Diese Eigenschaft der Kryptographie garantiert uns, dass die Daten von Anfang an authentisch sind und dass kein Identitätswechsel durch Dritte stattgefunden hat.
  • Integrität : Diese Funktion garantiert, dass alle Daten vom Ursprung bis zum Ziel nicht geändert wurden, falls sie durch einen böswilligen Dritten geändert wurden, dass Informationen erkannt und verworfen werden können.

Die Lebensdauer der HTTPS-Zertifikate ist geringer

Derzeit verwendet das HTTPS-Protokoll für die HTTP/2-Version das TLS-Protokoll in seiner Version TLSv1.2 und auch TLSv1.3, diese beiden Protokolle gelten derzeit als sicher und es wurden keine Schwachstellen entdeckt, die ihre Verwendung gefährlich machen. Die TLSv1.3-Version ist viel schneller als die Vorgängerversion, außerdem unterstützt sie nur sichere Verschlüsselungssammlungen und lässt die Konfiguration weniger sicherer Verschlüsselungssammlungen wie TLSv1.2 nicht zu.

Bei den Ports verwendet das HTTP-Protokoll das TCP-Protokoll in der Transportschicht und Port 80, das HTTPS-Protokoll den TCP-Port 443. In den letzten Monaten wurde das QUIC-Protokoll für Webverbindungen standardisiert, ein Protokoll für HTTPS bei HTTP / 2 und / oder HTTP / 3 verwendet wird und das UDP-Protokoll verwendet, um Punkt-zu-Punkt-Verbindungen herzustellen, enthält dieses QUIC-Protokoll bereits sichere Kryptographie mit den neuesten sicheren kryptographischen Algorithmen wie Chacha20-Poly1305 oder AES-GCM.

Sobald wir wissen, wie HTTPS funktioniert und welche Protokolle wir in den verschiedenen TCP / IP-Schichten darunter haben, werden wir sehen, woraus der SSL-Stripping-Angriff besteht, um die gesamte HTTPS-Kommunikation zu entschlüsseln.

Was ist der SSL-Stripping-Angriff?

Wenn wir einen ARP-Spooping-Angriff ausführen und einen Sniffer einsetzen, um den gesamten Datenverkehr zu erfassen, fassen wir den gesamten Netzwerkverkehr aus, der von einem bestimmten Computer (dem Opfer) generiert wird. Für den Fall, dass Sie unsichere Protokolle wie HTTP oder FTP verwenden, können wir Ihre gesamte Kommunikation, Authentifizierungsdaten und sogar Sitzungscookies leicht einsehen. Aus diesem Grund ist es so gefährlich, sich mit der Öffentlichkeit zu verbinden W-Lan Netzwerke oder unzuverlässige Netzwerke, weil jeder Cyberkriminelle diesen Man-in-the-Middle-Angriff ausführen und alle Informationen erfassen kann.

Wenn wir ein sicheres Protokoll wie HTTPS verwenden, kann der Angreifer alle Informationen problemlos erfassen, jedoch keinen Inhalt lesen, d. h. keine Authentifizierungsdaten sehen. Sitzungscookies oder absolut nichts, da der gesamte Datenverkehr Ende-zu-Ende (von den Clients zum Webserver) verschlüsselt ist. Dank des TLS-Protokolls und kryptografischer Algorithmen wie AES sind unsere Informationen vertraulich, dh sie werden Ende-zu-Ende verschlüsselt.

SSL-Stripping-Angriffe bestehen darin, einen HTTP / HTTPS-Proxy einzurichten, um dieses verschlüsselte HTTPS-Protokoll zu „aufheben“, und das Opfer nutzt das HTTP-Protokoll, um alle Informationen erfassen und die darin enthaltenen Daten sehen zu können. Der Prozess, der durchgeführt werden müsste, um eine HTTPS-Verbindung zu verletzen, wäre der folgende:

  1. Führen Sie einen ARP-Spoofing-Angriff auf das Opfer durch , um den gesamten Netzwerkverkehr an uns weiterzuleiten, bevor er an den Router weitergeleitet wird. Auf diese Weise erfassen wir alle Informationen, die dieses Opfer sendet und empfängt.
  2. Wir setzen den Schnüffler ein , zum Beispiel, WireShark ist eine sehr gute Option, es ist eine der vollständigsten und am einfachsten zu bedienenden Software und es ist völlig kostenlos.
  3. Überprüfen Sie, ob wir alle erfassen den Verkehr des Opfers, auf diese Weise stellen wir sicher, dass das ARP-Spoofing und der Sniffer korrekt funktionieren. In diesem Fall können wir sicherlich nur DNS-, ICMP- und anderen Verkehr im Klartext sehen, aber keinen HTTPS-Verkehr, da er Ende-zu-Ende verschlüsselt ist.

Nachdem wir diese drei Schritte durchgeführt haben, müssen wir nur noch einen HTTP / HTTPS-Proxy konfigurieren Mit kostenlosen Tools ist beispielsweise Bettercap das beste Tool, mit dem wir diese Art von Angriff ausführen können. Sobald wir diesen HTTP / HTTPS-Proxy konfiguriert haben, passiert Folgendes:

  1. Das Opfer wird versuchen, sich über das HTTPS-Protokoll mit dem Internet zu verbinden. Der von uns konfigurierte HTTP / HTTPS-Proxy teilt dem Opfer jedoch mit, dass die Verbindung HTTP sein muss. Anschließend könnte unser HTTP / HTTPS-Proxy die Informationen an das Web weiterleiten real (Google, PayPal, Amazon etc.) über HTTPS. Auf diese Weise erhält der Angreifer alle Daten im Klartext, die vom Opfer und vom echten Webserver kommen und gehen, und wandelt sich kontinuierlich zwischen HTTP und HTTPS und umgekehrt um.
  2. Der zuvor aktivierte Netzwerk-Sniffer erfasst den gesamten HTTP-Verkehr und zeigt uns im Klartext die Benutzeranmeldeinformationen, Sitzungscookies und alles, was das Opfer tut.

Wie Sie sehen, steht die Möglichkeit eines SSL-Stripping-Angriffs jedem offen, der kostenlose Tools wie Bettercap for . nutzt LinuxTatsächlich haben Sie in diesem Artikel ein vollständiges Tutorial, mit dem Sie Sicherheitsaudits durchführen und prüfen können, ob ein bestimmtes Ziel es gegen uns verwenden könnte oder ob wir vor dieser Art von Angriff geschützt sind.

Wie kann ich mich vor diesem Angriff schützen?

Diese Art von Angriff wird von Cyberkriminellen häufig verwendet, um den gesamten Datenverkehr ihrer Opfer zu erfassen, insbesondere in öffentlichen Netzwerken, egal ob es sich um kabelgebundene Netzwerke oder öffentliche WLAN-Netzwerke handelt. Aus diesem Grund wird davon abgeraten, sich mit diesen Arten von Netzwerken zu verbinden nicht verwalten. Wenn sich jedoch jemand in unser WLAN-Netzwerk hacken kann, befinden wir uns in genau dem gleichen Szenario: Wir befinden uns im selben lokalen Netzwerk wie der Cyberkriminelle, er könnte uns zu einem ARP-Spoofing-Angriff und auch zu einem SSL-Stripping-Angriff machen. Aus diesem Grund ist es so wichtig, eine Liste der kabelgebundenen oder WiFi-Geräte zu führen, die mit unserem lokalen Netzwerk verbunden sind, und von Zeit zu Zeit zu überprüfen, dass keine Eindringlinge vorhanden sind. Außerdem müssen wir sicherstellen, dass niemand unser WiFi-Netzwerk betreten kann , setzen eine WPA2-Verschlüsselung -AES und deaktivieren WPS (Wi-Fi Protected Setup).

Dieser SSL-Stripping-Angriff kann sie nicht daran hindern, uns anzutun, wenn wir uns im selben lokalen Netzwerk wie der Angreifer befinden, aber wir können ihn daran hindern, effektiv zu sein, d. h. die HTTPS-Verbindung „aufheben“ zu können. damit die Vertraulichkeit weiterhin gewahrt bleibt und wir sicher navigieren können. Derzeit gibt es verschiedene Methoden, mit denen wir uns gegen diese Angriffe schützen können, einige hängen vom Webadministrator ab, andere hängen ausschließlich von uns ab.

Dass das Web HSTS aktiviert hat

HSTS oder auch bekannt als HTTP Strict Transport Sicherheit, ist eine Richtlinie in Webservern, die uns dazu zwingt, HTTPS in unserem Webbrowser zu verwenden, um mit dem Server zu kommunizieren. Zuvor haben wir erklärt, dass der HTTP/HTTPS-Proxy-Server problemlos über HTTPS mit dem Webserver kommunizieren kann. Wenn eine Website jedoch HSTS aktiviert hat, wird im Browser ein Cookie gespeichert, der darauf hinweist, dass dieser Browser niemals das HTTP-Protokoll verwenden kann, um mit dem Webserver kommunizieren, auf diese Weise haben wir Punkt-zu-Punkt-Sicherheit, selbst wenn jemand eindringt, indem er einen HTTP / HTTPS-Proxy installiert, um das HTTPS unserer Kommunikation mit dem Web zu „aufheben“.

Heutzutage sind viele Webserver verschiedener Webseiten mit dieser Sicherheitsrichtlinie richtig konfiguriert, um ihre Benutzer zu schützen. Diese Cookies, die in den Webbrowsern der Kunden gespeichert werden, laufen jedoch ab, was jedoch die maximale Dauer (ein Jahr) ist, um die Kunden so lange wie möglich zu schützen.

Der negative Teil von HSTS ist, dass diese Funktion uns nicht schützen kann, wenn wir zum ersten Mal auf eine Website zugreifen und sie ein SSL-Stripping durchführen. Der Schutz besteht ab dem zweiten Besuch, da das Cookie bereits heruntergeladen wurde, es sei denn, wir haben eine Liste mit vorinstallierten Websites in unserem Webbrowser, wie es bei den „Großen“ wie Google und anderen Diensten der Fall ist. Wir selbst könnten eine Liste von Sites für das HSTS-Preloading erstellen, die von Google im Rahmen des Chromium-Projekts bereitgestellt wird.

Im Apache-Webserver müssten wir folgende Direktive einbinden:

  • Header immer setzen Strict-Transport-Security «max-age = 31536000; einschließenSubDomains »

Im Nginx-Webserver müssten wir folgende Direktive einbauen:

  • add_header Strict-Transport-Security «max-age = 31536000; einschließenSubDomains »

Wir könnten diesen Anweisungen auch am Ende das „Preload“ angeben, um anzuzeigen, dass es im Webbrowser vorgeladen ist und ohne Probleme ins Web gehen kann.

Um zu überprüfen, ob auf einer bestimmten Website HSTS aktiviert ist, können Sie jederzeit auf die Offizielle Website von Qualys SSL Labs wo Sie alle gewünschten Websites analysieren können. Vor dem Abschluss müssen wir darauf hinweisen, dass dieser HSTS-Schutz auch umgangen werden kann, basierend auf DNS Spoofing, um das Opfer an eine andere Domain unter unserer Kontrolle weiterzuleiten, die mit dem Original identisch ist, mit dem Ziel, es zu „täuschen“, enthält Bettercap auch diese Funktion.

Verwenden Sie ein VPN

Eine andere Methode, um diese Art von Angriff auf HTTPS-Verbindungen zu vermeiden, besteht darin, a VPN Bedienung. Ein virtuelles privates Netzwerk oder VPN ist für die Verschlüsselung der gesamten Punkt-zu-Punkt-Kommunikation innerhalb eines Tunnels verantwortlich, daher würde ein Angreifer, der uns einen ARP-Spoofing-Angriff macht und einen Sniffer macht, nur den gesamten verschlüsselten Verkehr sehen, er könnte keinen sehen see zusätzliches Protokoll, da auch DNS-Auflösungen in den VPN-Tunnel gehen. Es ist möglich, dass der Cyberkriminelle versucht, diesen VPN-Tunnel zu „werfen“, tatsächlich könnte er dies erreichen, indem er Pakete einschleusen und den VPN-Dienst aus Sicherheitsgründen stoppen lässt. Wir müssen jedoch daran denken, dass VPNs eine Funktion namens Kill-Switch haben. Die Kill-Switch-Funktionalität ermöglicht es Ihnen, den Internetverkehr vollständig zu blockieren, falls der VPN-Tunnel abstürzt oder ein Problem auftritt. Auf diese Weise haben wir die Gewissheit, dass unsere Daten nicht gefiltert werden oder uns zu anderen Typen machen können von Angriffen. Es ist immer besser, ohne Internetverbindung zu bleiben, als Informationen gestohlen zu bekommen.

Derzeit gibt es mehrere VPN-Protokolle wie z WireGuard, OpenVPN oder IPSec IKEv2 sind alle sicher und wir können sie verwenden, um zu verhindern, dass jemand die Kommunikation abfängt und die Verschlüsselung des HTTPS-Protokolls aufhebt. Aus diesem Grund wird dringend empfohlen, immer diese Art von VPN zu verwenden, wenn Sie eine Verbindung zu kabelgebundenen Netzwerken oder öffentlichen oder ungesicherten WLAN-Netzwerken herstellen. Wir können VPN-Server in unserem lokalen Heimnetzwerk selbst konfigurieren, wenn wir einen NAS-Server haben, werden VPN-Anwendungen und sogar einige Heimrouter wie z ASUS, AVM-FRITZ! Box und sogar D-Link oder NETGEAR haben diese Art von Servern, um uns sicher mit dem Internet zu verbinden, weil sie den Verkehr umleiten.

Für den Fall, dass Sie nicht die Möglichkeit oder das Wissen haben, einen VPN-Server in Ihrem Zuhause zu installieren und zu konfigurieren, empfehlen wir Ihnen, VPN-Dienste wie WARP von Cloudflare zu verwenden, die völlig kostenlos sind und wirklich gut funktionieren, Sie können high werden Geschwindigkeiten Download und Upload und sehr geringe Latenz. Andere Alternativen, die Sie nutzen können, sind kostenpflichtige VPN-Dienste, da sie Anwendungen für alle Betriebssysteme, mehrere auf der ganzen Welt verteilte Server und wichtige Funktionalitäten wie den Kill-Switch unter vielen anderen bieten.

Führen Sie ein SSH-Tunneling durch

Eine andere Möglichkeit, sich gegen SSL-Stripping-Angriffe zu schützen, besteht darin, einen SSH-Tunnel mit Umleitung des Datenverkehrs durchzuführen. Diese Technik besteht darin, sich mit einem vertrauenswürdigen Remote-SSH-Server zu verbinden und einen SOCKS-Proxy einzurichten, um ihn später im Webbrowser zu konfigurieren. Auf diese Weise leiten wir den Webbrowser-Datenverkehr über den SSH-Server um, mit dem wir eine Verbindung hergestellt haben. Dazu müssen wir die folgenden Schritte ausführen:

  • Konfigurieren Sie einen SSH-Server auf sichere Weise, ändern Sie Ports, eine gute Authentifizierung und eine gute Verschlüsselungssammlung.
  • Aktivieren Sie die TCP-Weiterleitung auf dem SSH-Server, sonst können wir den Internetverkehr auch dann nicht weiterleiten, wenn wir eine Verbindung herstellen.
  • Konfigurieren Sie diesen SSH-Server in Programmen wie PuTTY und aktivieren Sie die Weiterleitung oder Weiterleitung in einem bestimmten SOCKS5-Proxy.
  • Konfigurieren Sie diesen gerade erstellten lokalen Proxy im Webbrowser so, dass der gesamte Verkehr über den SSH-Server ins Internet fließt.

Diese Methode ist genau die gleiche wie die des VPN-Servers, mit einem "Server", um sich sicher zu verbinden und dann über HTTPS ins Internet zu gehen, ohne dass jemand diese Verschlüsselung aufheben kann.

Schlussfolgerungen

Obwohl HTTPS-Verbindungen sicher sind, könnte ein Angreifer diese Sicherheit unter bestimmten Umständen „aufheben“, um Benutzeranmeldeinformationen und auch Sitzungscookies zu erhalten, wodurch HTTPS-Verbindungen weniger sicher werden. Diese Art von Angriff kann jedoch nur unter bestimmten Umständen durchgeführt werden, z. B. wenn sich Angreifer und Opfer im selben lokalen Netzwerk befinden, ob kabelgebunden oder drahtlos, und die vom Benutzer besuchten Websites das HSTS-Protokoll nicht aktiviert haben. Es ist sehr wichtig zu wissen, auf welchen Websites wir das HSTS-Protokoll zur Verfügung haben, um beim Navigieren durch diese Website ruhig zu sein, denn wenn jemand einen Angriff auf uns ausführt, teilt uns die Website automatisch mit, dass keine sichere Verbindung besteht hergestellt wird und die Verbindung nicht hergestellt wird, um uns vor einem weiteren Datenaustausch zu schützen.

Wenn wir uns in öffentlichen Netzwerken über ein VPN oder ein SSH-Tunneling mit dem Internet verbinden, können wir ruhig sein, da sie die Kommunikation nicht abfangen und verletzen können. Aus diesem Grund ist der Einsatz dieser Techniken so wichtig, wenn wir draußen sind unserer vertrauenswürdigen Netzwerke. Es spielt keine Rolle, ob sich der VPN- oder SSH-Server bei uns zu Hause befindet, auf einem von uns gemieteten VPS-Server, und selbst wenn wir kostenpflichtige VPN-Dienste nutzen, wie wir sie alle kennen, ist es wichtig, uns vor einem Angreifer zu schützen, der es ist in unserem lokalen Netzwerk und vermeiden Sie diese Art von SSL-Stripping-Angriff.