InfoGuard AG (Hauptsitz)
Lindenstrasse 10
6340 Baar
Schweiz
InfoGuard AG
Stauffacherstrasse 141
3014 Bern
Schweiz
InfoGuard Deutschland GmbH
Landsberger Straße 302
80687 München
Deutschland
2FA (2-Faktor-Authentifizierung) ist heutzutage Standard – egal ob beim Online-Banking, bei E-Mail-Konten, Virtual Desktop Infrastructures (VDI) oder bei Social Media-Accounts. Doch 2FA ist kein Allheilmittel und inzwischen gibt es Applikationen, welche als Man-in-the-Middle, 2FA knacken und das 2FA-Phishing ermöglichen. Mehr dazu in meinem aktuellen Blogartikel. Mein Name ist Lukas Reiter und ich bin Senior Cyber Security Consultant / Penetration Tester bei InfoGuard.
Phishing ist eine der beliebtesten und erfolgreichsten Angriffsmethoden. Dabei werden E-Mails gefälscht oder von seriösen Absendern nachgeahmt oder HTML-Vorlagen, die als Lookalikes von Anmeldeseiten beliebter Websites aufbereitet sind, erstellt. Die Benutzer werden dann dazu verleitet, ihre Benutzernamen und Passwörter preiszugeben. Wenn der Benutzer seinen Benutzernamen und sein Passwort eingibt, werden die Anmeldedaten protokolliert und der Angriff gilt als erfolgreich.
Um dem Angreifer eine zusätzliche Hürde zu liefern, hat sich 2FA bei Anmeldeseiten als weiterer Schutzfaktor etabliert. Wenn das Opfer eine 2FA in seinem Konto aktiviert hat, benötigt der Angreifer eine zusätzliche Form der Authentifizierung, um den Benutzernamen und das Passwort zu ergänzen, die er durch Phishing abgefangen hat. Diese zusätzliche Form der Authentifizierung kann ein SMS-Code sein, der auf das mobile Gerät gesendet wird oder ein PIN mit zeitlich begrenzter Gültigkeit. Ein Angreifer, der keinen Zugriff auf eine dieser Möglichkeiten hat, wird nicht in der Lage sein, sich erfolgreich zu authentifizieren und sich in das Konto des Opfers einzuloggen. Phishing-Methoden, die sich ausschliesslich auf das Erfassen von Benutzernamen und Passwörtern konzentrieren, werden durch 2FA vollständig besiegt.
Die logische Konsequenz daraus ist, dass Angreifer ihre Phishing-Taktiken anpassen, sodass sie 2FA erfolgreich umgehen und daraus resultierend wieder auf die Webapplikation im Namen der Opfer zugreifen können.
Um die neue Taktik zu verstehen, ist ein kurzer Exkurs zum Authentifizierungsablauf bei Webapplikationen erforderlich, welcher in der folgenden Abbildung veranschaulicht ist:
Abbildung 1: Webauthentifizierung bei 2FA
Zuerst erfolgt die Authentifizierung des Benutzers: In der Webapplikation werden Benutzername und Passwort eingegeben, sowie das One-Time Password (OTP) z.B. der SMS-Code oder der PIN aus der Security App. Sobald die Authentifizierung erfolgreich war, stellt der Webserver eine eindeutige und geheime Session-ID für den Benutzer aus. Auf Basis dieser Session-ID ist im Anschluss die Webapplikation serverseitig in der Lage, festzustellen, welche eingehende HTTP-Anfrage von welchem Benutzer stammt. Kann ein Angreifer erfolgreich eine solche Session-ID stehlen, so kann er beliebige Aktionen im Namen des betroffenen Benutzers in der Webapplikation durchführen. Hierbei spricht man auch von einem sogenannten Session-Hijacking-Angriff.
Diese Session-ID bzw. -Token ist somit pures Gold für den Angreifer, da er damit alles kontrollieren kann. Wie kann nun die Session-ID aus der Ferne abgefangen werden, ohne physischen Zugriff auf den Computer des Opfers zu haben?
Solange der Benutzer direkt über einen verschlüsselten Kanal (HTTPS) mit der tatsächlichen Webapplikation kommuniziert, hat der Angreifer keine Möglichkeit, die Kommunikation zu lesen. Wie bisher, kann der Angreifer dem Benutzer aber eine Phishing-E-Mail schicken und den Benutzer darin auffordern eine spezielle vom Angreifer kontrollierte Webapplikation aufzurufen. Dazu die folgende Abbildung:
Abbildung 2: 2FA-Phishing mittels Man-in-the-Middle/Session-Hijacking-Angriff
Wenn die Kommunikation dann beim Angreifer eintrifft, kann er die Daten, welche der Benutzer eingibt, als Man-in-the-Middle erfassen und zeitgleich an die echte Website in Echtzeit weiterleiten. So gelangen Angreifer nicht nur an die Anmeldedaten, sondern bei 2FA viel wichtiger, auch an die Session-Token.
Heute gibt es sogar Applikationen wie zum Beispiel Evilginx2, welche die Funktion des Angreifers übernehmen. Evilginx2 ist ein Angriffs-Framework zum Einrichten von Phishing-Seiten. Übliche Phishing-Angriffe beruhen auf der Erstellung von HTML-Vorlagen, deren Erstellung viel Zeit in Anspruch nimmt. Die meiste Arbeit wird darauf verwendet, sie gut aussehen zu lassen, auf mobilen Geräten responsive zu sein oder sie richtig zu verschleiern, um Phishing-Scanner zu umgehen. Anstatt Templates von Anmeldeseiten-Lookalikes zu erstellen, wird Evilginx2 zu einem Relais zwischen der echten Website und dem Benutzer. Der Benutzer interagiert mit der echten Website, während Evilginx2 alle Daten erfasst, die zwischen den beiden Parteien übertragen werden. Jedes Paket, das vom Browser des Benutzers kommt, wird abgefangen, modifiziert und an die echte Website weitergeleitet. Dasselbe geschieht mit Antwortpaketen, die von der Website kommen. Sie werden abgefangen, modifiziert und an den Benutzer zurückgeschickt. Mit Evilginx2 ist es nicht nötig, eigene HTML-Vorlagen zu erstellen. Auf der Benutzerseite sieht alles so aus, als würde mit der legitimen Website kommuniziert. Der Benutzer hat keine Ahnung, dass Evilginx2 als Man-in-the-Middle, jedes Paket analysiert und Benutzernamen, Passwörter, OTPs und natürlich Session-Tokens protokolliert.
Jede webbasierte Anmeldeseite, die den Benutzer zur Eingabe seines Passworts auffordert und auf der irgendeine Form von 2FA implementiert ist, kann mit dieser Technik gefälscht werden! Wie dies praktisch illustriert wird, zeigte ich in meiner Präsentation anlässlich des InfoGuard Innovation Days 2021 zum Thema 2FA-Phishing:
Um geeignete Gegenmassnahmen implementieren zu können, ist es zuerst essentiell zu verstehen, gegen welche Arten von Bedrohungen 2FA schützt: Primär stellt 2FA sicher, dass im Fall des Bekanntwerdens von gültigen Zugangsinformationen (z.B. über sogenannte Passwort Leaks oder die «alte» Phishing-Taktik), diese nicht sofort von Angreifern missbraucht werden können, um unberechtigten Zugriff auf Webapplikationen zu erhalten. Wie in diesem Blogartikel erörtert, schützt 2FA jedoch nicht gegen 2FA-Phishing mittels Man-in-the-Middle/Session-Hijacking-Angriff.
Webapplikationen sollten aktive präventive Massnahmen implementieren, um die Komplexität von erfolgreichen Session-Hijacking-Angriffen zu erhöhen. Im einfachsten Fall kann dies erreicht werden, indem die Session-IDs server-seitig an den User-Agent-String des vom Benutzer verwendeten Webbrowsers und die öffentliche IP-Adresse des Benutzers gebunden wird. Diese Massnahme bietet bei Angreifern mit höherer Maturität jedoch keinen Schutz, da der Angreifer aufgrund des Man-in-the-Middle-Angriffs die gesamte Webkommunikation des Benutzers ohnehin mitlesen kann und ihm somit alle Informationen zur Verfügung stehen, um diesen Schutzmechanismus erfolgreich zu umgehen.
Um das Risiko eines erfolgreichen Phishing-Angriffs auf 2FA effektiv zu minimieren, ist daher Benutzer Awareness essentiell. Das heisst Mitarbeitende sollten Phishing-Angriffe erkennen und wissen, mit welchen Methoden sie ausgetrickst werden können. Wir haben Ihnen dazu ein hilfreiches Poster erstellt – laden Sie es sich jetzt kostenlos herunter! Zusätzlich sollten Sie die Authentizität der besuchten Webseite kritisch überprüfen. Mittels einer gezielten Überprüfung, als einmaliges Audit oder als kontinuierlicher Service, kann InfoGuard das Sicherheitsbewusstsein Ihrer Mitarbeitenden ermitteln. Dabei kann eine Simulation von Phishing- und Malware-Angriffen getestet und detailliert ausgewertet werden.
Nehmen Sie jetzt Kontakt auf. Ich unterbreite Ihnen gerne ein individuelles Angebot.