Was ist Session Hijacking und Möglichkeiten zur Vorbeugung

Hätten Sie gedacht, dass ein Hacker in Ihrem Namen Bankgeschäfte tätigen oder Online-Einkäufe abschließen kann, ohne Ihre Login-Daten zu entwenden?

Wir assoziieren Cookies oft mit Tracking und aufdringlicher Online-Werbung, doch sie speichern auch Suchanfragen. Dadurch können wir Webseiten besuchen, ohne jedes Mal Benutzername und Passwort eingeben zu müssen.

Wenn jedoch jemand ein solches Cookie abfängt, kann das zu einem verheerenden Cyberangriff namens Session Hijacking führen. Dabei können sensible Daten in die Hände von Angreifern gelangen und erheblichen Schaden anrichten, bevor man überhaupt merkt, was passiert ist.

Lassen Sie uns gemeinsam erkunden, was genau das ist und wie man sich davor schützen kann!

Was verbirgt sich hinter Session Hijacking?

Beim Session Hijacking (Sitzungsentführung) kapert ein Angreifer eine bestehende Sitzung zwischen einem Benutzer und einem Host – etwa einem Webserver, einer Telnet-Sitzung oder einer anderen TCP-basierten Verbindung. Eine Sitzung beginnt, sobald man sich auf einer Webseite oder in einer App anmeldet, beispielsweise bei einem sozialen Netzwerk.

Sie dauert an, während man sich im Konto bewegt, das Profil überprüft oder an Diskussionen teilnimmt, und endet erst mit der Abmeldung. Doch wie erkennt der Webserver, dass jede Anfrage tatsächlich von Ihnen stammt?

Hier kommen Cookies ins Spiel. Nach der Anmeldung übermitteln Sie Ihre Zugangsdaten an den Webserver. Dieser authentifiziert Sie und vergibt eine Session-ID in Form eines Cookies, das für die Dauer der Sitzung an Ihren Browser angehängt wird. Das ist der Grund, warum man sich nicht jedes Mal neu anmelden muss, wenn man innerhalb einer App das Profil einer anderen Person anschaut, und warum sich der Online-Shop merkt, was in den Warenkorb gelegt wurde, auch wenn die Seite neu geladen wird.

Angreifer können diese Sitzung jedoch kapern, indem sie spezielle Techniken zur Sitzungsverwaltung nutzen oder Ihr Cookie stehlen. So können sie dem Webserver vorgaukeln, dass die Anfragen von Ihnen, dem eigentlich autorisierten Benutzer, stammen.

Das Phänomen des Session Hijacking erlangte in den frühen 2000er Jahren traurige Berühmtheit, ist aber bis heute eine gängige Methode von Hackern.

Ein aktuelles Beispiel ist die Lapsus$ Group, die dieses Jahr auf die „Most Wanted“-Liste des FBI gesetzt wurde. Sie nutzt Infostealer-Malware, um Sitzungen zu entführen.

Ähnlich verhält es sich mit GenesisStore, einem exklusiven Laden, der von einer gleichnamigen Gruppe betrieben wird, die kompromittierte Cookie-Daten verkauft. Das Angebot umfasst über 400.000 Bots.

Verschiedene Arten der Sitzungsübernahme

Session Hijacking kann je nach den Zielen des Angreifers in zwei Hauptkategorien unterteilt werden:

Aktiv: Bei einem aktiven Angriff übernimmt der Angreifer Ihre Sitzung und somit die Verbindung des legitimen Clients zur jeweiligen Ressource. Je nach betroffener Webseite oder Anwendung kann der Hacker online einkaufen, Passwörter ändern oder sogar Konten wiederherstellen. Ein klassisches Beispiel für einen aktiven Angriff sind Brute-Force-Attacken, XSS (Cross-Site-Scripting) oder DDoS-Angriffe.

Quelle: OSWAP

Passiv: Bei einem passiven Angriff übernimmt oder verändert der Angreifer die Sitzung nicht. Stattdessen überwachen sie unauffällig den Datenverkehr zwischen Ihrem Gerät und dem Server und sammeln dabei sensible Informationen. Typischerweise werden IP-Spoofing und Malware-Injection verwendet, um passive Injection-Angriffe auszuführen.

Quelle: OSWAP

Wie funktioniert Session Hijacking?

HTTP ist ein zustandsloses Protokoll. Das bedeutet, dass der Server sich nicht an die Aktionen des Clients erinnert. Jede neue HTTP-Anfrage stellt eine neue Arbeitseinheit dar. Einfacher gesagt, der Server stellt Seiten für den Client bereit, ohne die vorherigen Anfragen des Clients zu speichern.

Beim Surfen im Internet stellen wir jedoch fest, dass Anwendungen im Idealfall wissen, wer der Client ist (manchmal sogar zu gut!). Dank dieses „Gedächtnisses“ des Servers ist es möglich, moderne, personalisierte Bereiche von Webseiten, Online-Banking-Plattformen, Webmail-Diensten usw. zu gestalten.

Hier kommt ein Hilfsmittel ins Spiel, das ein zustandsloses Protokoll wie HTTP in einen Zustand versetzt: Cookies.

Zustandsbehaftete Sitzungen

Nach der Anmeldung legen Webanwendungen, die mit zustandsbehafteten Sitzungen arbeiten, ein Session-Cookie ab. Sie verlassen sich auf dieses Cookie, um den Client zu verfolgen. Im Cookie wird ein eindeutiger Code gespeichert, der die Wiedererkennung des Clients ermöglicht, zum Beispiel:

SESSIONID=ACF3D35F216AAEFC

Jeder, der im Besitz der oben genannten eindeutigen Session-ID oder des Codes ist, gilt für den Server als authentifizierter Client. Wenn ein Angreifer diese Kennung erlangt, wie in der Abbildung unten dargestellt, kann er die ursprünglich für sein Opfer validierte Sitzung ausnutzen, indem er entweder eine legitime Sitzung ausspioniert oder sie sogar komplett übernimmt. Diese Kennung wird in der Regel in die URL eingebettet, in einem versteckten Feld eines Formulars hinterlegt oder in Cookies gespeichert.

OSWAP

Zustandslose Sitzungen

Mit der Weiterentwicklung des Internets sind Lösungen entstanden, um den „Speicher“ des Servers zu verwalten, ohne Session-Cookies verwenden zu müssen. In einer Webanwendung, bei der Frontend und Backend klar getrennt sind und nur über APIs kommunizieren, könnte eine ideale Lösung ein JWT (JSON Web Token) sein. Dies ist ein signiertes Token, das es dem Frontend ermöglicht, die vom Backend bereitgestellten APIs zu nutzen.

Normalerweise wird das JWT im sessionStorage des Browsers gespeichert, einem Speicherbereich, den der Client aktiv hält, bis das Browserfenster geschlossen wird. Wenn man also einen neuen Tab öffnet, wird eine neue Sitzung generiert (im Gegensatz zum Verhalten bei Cookies).

Der Diebstahl des Identifikationstokens des Clients ermöglicht es Angreifern, die Sitzung des Benutzers zu übernehmen und somit einen Session-Hijacking-Angriff durchzuführen. Doch wie kann man dieses Token stehlen?

Aktuell sind die von Hackern am häufigsten verwendeten Methoden:

#1. Session-Seitenaufstockung

Diese Methode nutzt unsichere Netzwerke, um Ihre Session-ID herauszufinden. Der Angreifer setzt Sniffing (spezielle Software) ein und zielt in der Regel auf öffentliche WLAN-Netze oder Webseiten ohne SSL-Zertifikat ab, die für ihre mangelnde Sicherheit bekannt sind.

#2. Sitzungsfixierung

Das Opfer verwendet dabei die vom Angreifer erstellte Session-ID. Dies kann durch einen Phishing-Angriff (über einen schädlichen Link) geschehen, der Ihre Session-ID „fixiert“.

#3. Brute-Force-Attacken

Dies ist die zeitaufwändigste und ineffizienteste Methode. Während dieses Angriffs stiehlt der Hacker Ihre Cookies nicht. Stattdessen probiert er jede mögliche Kombination aus, um Ihre Session-ID zu erraten.

#4. XSS oder Cross-Site-Scripting

Ein Hacker nutzt Schwachstellen in Webseiten oder Anwendungen aus, um bösartigen Code einzuschleusen. Wenn ein Benutzer die Seite besucht, wird das Skript aktiv, stiehlt die Cookies des Benutzers und sendet sie an den Angreifer.

#5. Malware-Injection

Schadsoftware kann unbefugte Aktionen auf Ihrem Gerät ausführen, um persönliche Daten zu stehlen. Sie wird auch oft verwendet, um Cookies abzufangen und Informationen an den Angreifer zu senden.

#6. IP-Spoofing

Ein Cyberkrimineller ändert die Quell-IP-Adresse seines Pakets, damit es so aussieht, als stamme es von Ihnen. Aufgrund der gefälschten IP-Adresse glaubt der Webserver, dass Sie es sind, und die Sitzung wird gekapert.

Wie kann man Session Hijacking verhindern?

Die Möglichkeit eines Session-Hijacking-Angriffs hängt in der Regel mit der Sicherheit der von Ihnen genutzten Webseiten oder Anwendungen zusammen. Es gibt jedoch Maßnahmen, die Sie ergreifen können, um sich zu schützen:

  • Vermeiden Sie öffentliche WLAN-Netze, da kostenlose Hotspots ideale Ziele für Cyberkriminelle darstellen. Sie haben meist eine schwache Sicherheit und können leicht von Hackern gefälscht werden. Ganz zu schweigen davon, dass sie immer voller potenzieller Opfer sind, deren Datenverkehr ständig gefährdet ist.
  • Jede Webseite, die kein SSL-Zertifikat verwendet, macht Sie angreifbar, da sie den Datenverkehr nicht verschlüsseln kann. Überprüfen Sie, ob die Webseite sicher ist, indem Sie nach einem kleinen Vorhängeschloss neben der URL Ausschau halten.

  • Installieren Sie eine Anti-Malware-Anwendung, um Ihr Gerät zu schützen und Malware sowie Ratten, die persönliche Informationen stehlen können, zu erkennen.
  • Vermeiden Sie das Herunterladen von Malware, indem Sie offizielle App-Stores oder Webseiten zum Herunterladen von Anwendungen verwenden.
  • Klicken Sie nicht auf unbekannte Links, die Sie in Nachrichten erhalten. Dies könnte ein Phishing-Angriff sein, der Ihr Gerät infiziert und persönliche Informationen stiehlt.

Als Benutzer hat man nur begrenzte Möglichkeiten, sich vor Session-Hijacking-Angriffen zu schützen. Allerdings können Anwendungen erkennen, wenn sich ein anderes Gerät mit derselben Session-ID verbindet. Ausgehend davon lassen sich verschiedene Schutzmaßnahmen ableiten:

  • Ordnen Sie jeder Sitzung einen technischen Fingerabdruck oder Merkmale des verbundenen Geräts zu, um Änderungen in den registrierten Parametern zu erkennen. Diese Informationen müssen im Cookie (bei zustandsbehafteten Sitzungen) oder im JWT (bei zustandslosen Sitzungen) absolut verschlüsselt gespeichert werden.
  • Wenn die Sitzung Cookie-basiert ist, löschen Sie das Cookie mit dem Attribut HTTPOnly, damit es im Falle eines XSS-Angriffs nicht erreichbar ist.
  • Konfigurieren Sie ein Intrusion Detection System (IDS), ein Intrusion Prevention System (IPS) oder eine Netzwerküberwachungslösung.
  • Einige Dienste führen zusätzliche Überprüfungen der Benutzeridentität durch. Beispielsweise könnte ein Webserver bei jeder Anfrage überprüfen, ob die IP-Adresse des Benutzers mit der zuletzt verwendeten IP-Adresse in dieser Sitzung übereinstimmt. Dies verhindert jedoch keine Angriffe von jemandem, der dieselbe IP-Adresse nutzt, und könnte für Benutzer frustrierend sein, deren IP-Adresse sich während einer Browsersitzung ändern kann.
  • Alternativ ändern einige Dienste den Cookie-Wert bei jeder einzelnen Anfrage. Dies reduziert das Zeitfenster, in dem ein Angreifer agieren kann, drastisch und erleichtert die Identifizierung eines Angriffs, kann aber auch andere technische Probleme verursachen.
  • Verwenden Sie für jede Benutzersitzung unterschiedliche Multifaktor-Authentifizierungslösungen (MFA).
  • Halten Sie alle Systeme mit den neuesten Patches und Sicherheitsupdates auf dem aktuellen Stand.

FAQ

Worin unterscheidet sich Session Hijacking von Session Spoofing?

Beim Session Hijacking täuscht man vor, der rechtmäßige Benutzer zu sein, während man beim Session Spoofing den Benutzer ersetzt. Einige Sicherheitsexperten betrachten letzteres inzwischen als eine Form des Session Hijacking.

Abschließende Gedanken

Die Zahl der Session-Hijacking-Angriffe hat in den letzten Jahren zugenommen. Daher ist es wichtiger denn je, diese Angriffe zu verstehen und entsprechende Vorsichtsmaßnahmen zu treffen. Mit der Weiterentwicklung der Technologie werden jedoch auch die Angriffe immer ausgefeilter. Deshalb ist es von entscheidender Bedeutung, aktive Schutzstrategien gegen Session Hijacking zu entwickeln.

Vielleicht interessiert Sie auch, wie viel Ihre Daten im Dark Web wert sind.