Was ist Sitzungsentführung? So stellen Sie die Privatsphäre der Sitzung sicher
Veröffentlicht: 2021-07-13Zwischen einem Login und einem Logout kann viel passieren.
Angreifer suchen nach Sitzungen, in denen sie sich unbefugten Zugriff auf Ihre Konten verschaffen und Ihre Daten ausnutzen können. Sie sollten sicherstellen, dass Sie Ihre Anmeldedaten in einer sicheren Umgebung authentifizieren und sich vor Session-Hijacking-Angriffen schützen.
Sie können verwenden Firewalls für Webanwendungen um Anomalien im eingehenden Datenverkehr zu erkennen und potenziell schädlichen Datenverkehr sofort zu blockieren. Aber um robuste Sicherheitsvorkehrungen zu treffen, ist es wichtig, das Session-Hijacking im Detail zu verstehen, seine Arten und die Tools, die Angreifer verwenden könnten, um in Benutzerkonten einzudringen.
Was ist Session-Hijacking?
Session-Hijacking , auch als Cookie-Hijacking bekannt, ist ein Prozess, bei dem die Kontrolle über die Sitzung eines Benutzers übernommen wird, indem eine Sitzungs-ID abgerufen oder generiert wird, während die Sitzung noch läuft.
Ein Angreifer könnte Cross-Site-Scripting (XSS), Brute Force, Reverse Engineering oder verschiedene andere Methoden verwenden, um Sitzungscookies in die Finger zu bekommen und unbefugten Zugriff auf Benutzerkonten zu erlangen.
Eine Sitzung beginnt, wenn Sie sich bei einem Dienst wie einer Webanwendung anmelden, und endet, wenn Sie sich abmelden. Das Hypertext Transfer Protocol (HTTP) ist ein zustandsloses Protokoll, d. h. es überträgt jede Anfrage unabhängig, ohne auf eine vorherige Anfrage zu verweisen, sodass sich der Benutzer jedes Mal authentifizieren muss, wenn er eine Webseite anzeigt. Um zu vermeiden, dass ein Benutzer jedes Mal zur Anmeldung aufgefordert wird, weist der Server eine Sitzungs-ID zu, um nach der Authentifizierung ein nahtloses Weberlebnis zu ermöglichen.
Angreifer versuchen, die Sitzungs-ID des Ziels zu stehlen oder sie dazu zu bringen, auf einen schädlichen Link zu klicken, der sie zu einer vorgefertigten Sitzung für einen Sitzungs-Hijacking-Angriff führt. Sobald der Benutzer auf dem Server authentifiziert ist, können Bedrohungsakteure die Sitzung kapern und den Server dazu bringen, ihre Sitzung als gültig zu betrachten.
Wenn ein Angreifer auf ein Session-Cookie abzielt, handelt es sich um das Session-Hijacking einer Webanwendung, nicht um das Session-Hijacking des Transmission Control Protocol (TCP). TCP ist ein Transportprotokoll, das zusätzlich zu IP verwendet wird, um eine zuverlässige Übertragung von Paketen zu gewährleisten. Die Webanwendung gibt nach erfolgreicher Authentifizierung ein Sitzungscookie zurück, das ein Angreifer ausnutzt, um eine Sitzung zu kapern. Es hat nichts mit der TCP-Verbindung zwischen dem Gerät des Benutzers und dem Server zu tun.
Sitzungs-Hijacking-Methoden
Angreifer haben normalerweise einige Methoden zur Auswahl, während sie eine Sitzung entführen. Sie können sie entweder einzeln oder in Kombination verwenden, um Benutzerkonten zu übernehmen und böswillige Aktivitäten durchzuführen.
Cross-Site-Scripting
Bei einem Cross-Site-Scripting-Angriff (XSS) bringt ein böswilliger Hacker den Computer des Ziels dazu, einen Code auszuführen, der sich als vertrauenswürdiger Code ausgibt, der zu einem Server gehört. Es ermöglicht einem Angreifer, eine Kopie des Cookies zu erhalten, um seine böswilligen Aktionen auszuführen. Typischerweise werden Webseiten mit JavaScript eingebettet. Ohne angemessene Schutzmaßnahmen und Anwendungssicherheitstools werden vertrauliche Informationen der Benutzer preisgegeben, wenn die Skripts ausgeführt werden.
Wenn der Server das HTTPOnly- Attribut nicht in Sitzungscookies setzt, können Skripts sie Angreifern aussetzen.
Malware-Injektion
Etwas Malware oder Trojaner sind so programmiert, dass sie Browser-Cookies stehlen und ohne Wissen des Benutzers böswillige Aktionen ausführen. Wenn ein Benutzer beispielsweise eine bösartige Website besucht oder auf einen unerwünschten Link klickt, scannt die Malware den Netzwerkverkehr, sammelt Sitzungscookies und sendet sie an Angreifer. Angreifer mit Zugriff auf den lokalen Speicher können Sitzungsschlüssel aus dem temporären lokalen Speicher des Browsers (Cookie-Jar) stehlen oder sich Datei- oder Speicherinhalte entweder des Servers oder des Computers des Benutzers beschaffen.
Rohe Gewalt
Angreifer können einen Brute-Force-Angriff durchführen, um den Sitzungsschlüssel eines Benutzers zu erraten. Wenn eine Anwendung einen sequenziellen oder vorhersagbaren Sitzungsschlüssel verwendet, macht dies die Sitzung anfällig für eine Entführung. Dies war in der Vergangenheit eine bevorzugte Methode der Wahl, aber bei modernen Anwendungen sind Sitzungs-IDs lang und werden zufällig generiert, was einen erheblichen Widerstand gegen Brute-Force-Angriffe bietet.
Session-Seitenaufbock
Beim Session-Side-Jacking nutzt ein Angreifer Packet Sniffing, um den Netzwerkverkehr zu lesen und das Sitzungscookie zu stehlen. In der Regel verwenden Websites auf ihren Authentifizierungsseiten die SSL/TLS-Verschlüsselung (Secure Sockets Layer/Transport Layer Security). Einige verwenden es jedoch nach der Authentifizierung nicht auf der gesamten Website, sodass Angreifer Daten abfangen können, die zwischen dem Server und den Webseiten ausgetauscht werden.
Sobald Angreifer Sitzungscookies in die Hände bekommen, können sie Benutzersitzungen kapern, um böswillige Operationen durchzuführen. Beispielsweise kann ein Angreifer, der auf einen Benutzer abzielt, der mit einem ungesicherten WLAN verbunden ist, leicht die Daten oder den Verkehr lesen, die zwischen anderen Knoten und Zugangspunkten geteilt werden.
Sitzungsfixierung
Angreifer können manchmal eine getarnte Sitzung erstellen und einen Benutzer dazu verleiten, sich bei einem anfälligen Server zu authentifizieren. Beispielsweise könnte ein Bedrohungsakteur verwenden soziale Entwicklung (Phishing) oder eine ähnliche Methode, um einen Benutzer dazu zu bringen, auf einen Link zu klicken, der ihn zu einer präparierten Sitzung mit einem bekannten Sitzungscookie führt. Sobald sich der Benutzer authentifiziert hat, kann der Angreifer den bekannten Sitzungsschlüssel verwenden, um die Sitzung des Benutzers zu kapern.
Ein Angreifer kann Benutzer auch dazu verleiten, ein vorgefertigtes Anmeldeformular auszufüllen, das eine versteckte und feste Sitzungs-ID enthält.
Ebenen von Session-Hijacking-Angriffen
Es gibt zwei Ebenen von Session-Hijacking-Angriffen. Diese Angriffe können miteinander verknüpft werden, da ein erfolgreicher Angriff auf eine Netzwerkschicht dem Angreifer Informationen liefert, um einen tatsächlichen Benutzer auf der Anwendungsebene auszunutzen.
Hijacking der Transportschicht
Transport Layer Hijacking tritt in TCP-Verbindungen auf, bei denen ein Angreifer den Datenaustausch zwischen einem Webserver und einem Benutzer abfängt und den zwischen ihnen eingerichteten Kommunikationskanal sperrt. Dann senden Angreifer böswillige Datenpakete, die als legitim getarnt sind, an Client und Server und übernehmen die Benutzersitzung.
Eine gängige Methode zum Hijacking der Transportschicht ist IP-Spoofing , bei der ein Angreifer eine gefälschte IP-Adresse verwendet, die als vertrauenswürdig getarnt ist, um mit den Computern im Netzwerk zu kommunizieren. Sie verwenden Source-Routing-IP-Pakete, um die aktive Kommunikation zwischen zwei Knoten abzufangen. IP-Spoofing nutzt die einmalige Authentifizierung zu Beginn der TCP-Sitzung unangemessen aus.
Hijacking der Anwendungsschicht
Beim Hijacking auf Anwendungsebene stiehlt ein Angreifer die Sitzungs-ID eines Benutzers, nachdem sich ein Benutzer bei seiner Anwendung authentifiziert hat. Man-in-the-Middle-Angriffe sind typische Beispiele für Session-Hijacking auf Anwendungsebene, bei dem der Hijacker den Kommunikationskanal zwischen dem Client und dem Server abfängt.
Proxy-Angriffe fallen auch unter das Hijacking der Anwendungsschicht. Ein Angreifer leitet den Datenverkehr an einen Proxy-Server mit einer vordefinierten Sitzungs-ID, um die Kommunikation während dieser Angriffe abzufangen.
3 Arten von Session-Hijacking
Beim Session-Hijacking werden Sitzungscookies in einer bestehenden Sitzung erraten oder abgefangen oder ein Benutzer dazu gebracht, sich in einer vorgefertigten Sitzung zu authentifizieren. Es gibt drei Arten von Session-Hijacking-Angriffen.
1. Aktiv
Beim Active Session Hijacking übernimmt ein Angreifer eine aktive Verbindung in einem Netzwerk. Sie können alle Geräte stumm schalten und den Kommunikationskanal zwischen Client und Server übernehmen. Dann lösen sie die Zugehörigkeit zwischen dem Server und dem Gerät des Benutzers.
Es gibt einige Möglichkeiten, wie ein Angreifer die Kommunikation zwischen einem Client und einem Server unterbrechen kann. In der Regel senden Eindringlinge massiven Datenverkehr, um eine gültige Sitzung anzugreifen und einen Denial-of-Service-Angriff (DoS) zu verursachen.
2. Passiv
Passives Session-Hijacking ist dem aktiven ähnlich, außer dass ein Angreifer die Kommunikation zwischen einem Client und einem Server überwacht. Der Angreifer blockiert den tatsächlichen Benutzer nicht aus der Sitzung, sondern überwacht den laufenden Kommunikationsaustausch.
Das Hauptmotiv passiver Angriffe besteht darin, ausgetauschte Informationen zu stehlen und für böswillige Zwecke zu verwenden.

3. Hybrid
Hybride Session-Hijacking-Angriffe sind eine Kombination aus aktiven und passiven Angriffen. Bei einem hybriden Angriff überwachen Angreifer den Netzwerkverkehr, bis sie ein Problem finden, übernehmen dann die Sitzung und beginnen, sich als legitime Benutzer auszugeben.
Hybride Angriffe basieren auf Spoofing und werden weiter in die folgenden Typen eingeteilt:
- Bei einem blinden Spoofing-Angriff zielen Angreifer auf ein Opfer ab, ohne eine Sitzung zu unterbrechen. Sie erfassen Datenpakete, die zwischen einem Server und einem Benutzer ausgetauscht werden, und versuchen, die TCP-Paketsequenzen zu knacken.
- Ein nicht blinder Spoofing-Angriff umfasst die Überwachung des Datenverkehrs zwischen einem Server und einem Benutzer, um einen nachfolgenden Pakt vorherzusagen, um seinen TCP-Sequenzbereich vorherzusagen. Ein Angreifer übernimmt die Sitzung auf Anwendungsebene und bildet eine neue Sitzung mit einem möglicherweise gestohlenen oder vorhersehbaren Sitzungstoken.
Sitzungsentführung vs. Sitzungsspoofing vs. Sitzungswiederholung
Der Hauptunterschied zwischen Session-Hijacking und Session-Spoofing ist das Timing des Angriffs.
Session-Hijacking- Angriffe werden durchgeführt, sobald sich Benutzer bei der Anwendung authentifizieren. Der Angriff kann zu Verzögerungen oder ungewöhnlichem Verhalten in Anwendungen führen. Dies liegt daran, dass ein Angreifer Ihre Daten ausnutzt, während Sie noch angemeldet sind. Wenn eine Anwendung häufig abstürzt, könnte dies auf einen Session-Hijacking-Angriff hindeuten.
Beim Sitzungsspoofing sind sich die Opfer des Angriffs nicht bewusst. Angreifer können gestohlene oder gefälschte Sitzungs-IDs verwenden und sich als echte Benutzer ausgeben, ohne sich darauf zu verlassen, dass ein Benutzer die Authentifizierung durchführt.
Eine Sitzungswiedergabe ist etwas anders.
In Session Replay verfügen Angreifer bereits über Session-Cookies (die durch Session-Hijacking gesammelt wurden) und können diese nach Belieben verwenden. Sie könnten ein Opfer dazu verleiten, eine zuvor gültige Anfrage erneut zu stellen, z. B. den Kauf mehrerer Artikelmengen, bei denen sie ursprünglich eine Einheit angefordert hatten.
Session-Hijacking-Tools
Mehrere Tools können einem Angreifer dabei helfen, einen Session-Hijacking-Angriff durchzuführen. Sie können sie verwenden Penetrationstests und überprüfen Sie, ob Ihre Systeme und Anwendungen angriffssicher sind.
Hier sind einige der beliebten Session-Hijacking-Tools, die zur Durchführung eines Angriffs verwendet werden.
* Diese Tools sollten nur aus ethischen Gründen verwendet werden, um Systeme gegen Session-Hijacking zu testen und zu stärken.
Hamster und Frettchen
Hamster verhält sich wie ein Proxy-Server, der die von Ferret gesammelten Daten manipuliert, wodurch Sitzungscookies erfasst werden, die das Netzwerk passieren.
Hier ist ein Beispiel für die Verwendung von Hamstern, das von vorgeschlagen wurde Kali-Werkzeuge:
root@kali:~# Hamster
--- Seitenheber HAMPSTER 2.0 ---
Stellen Sie den Browser so ein, dass er den Proxy http://127.0.0.1:1234 verwendet
DEBUG: set_ports_option(1234)
DEBUG: mg_open_listening_port(1234)
Proxy: Hören auf 127.0.0.1:1234
Anfangsfaden
T-Sight
T-Sight wurde ursprünglich als Netzwerküberwachungstool für die Ausführung auf der Windows-Plattform entwickelt. Während der Überwachung eines Netzwerks kann man jedoch eine Sitzung kapern, da die gesamte Kommunikation über das Netzwerk in Echtzeit kopiert wird, wodurch eine präzise Datenübertragungsausgabe bereitgestellt wird. Aus diesem Grund bietet Engrade, der Entwickler von T-Sight, jetzt Softwarelizenzen nur für vordefinierte IP-Adressen an.
Juggernaut
Juggernaut ist ein Netzwerk-Sniffing-Tool, das in böswilliger Absicht verwendet werden kann, um einen Session-Hijacking-Angriff durchzuführen. Es ist möglich, Juggernaut so zu konfigurieren, dass es den gesamten Netzwerkverkehr in einem lokalen Netzwerk (LAN) überwacht oder auf ein bestimmtes Sitzungstoken lauscht. Es kann so eingestellt werden, dass es den Netzwerkverkehr aufzeichnet, nachdem ein Opfer einen Anmeldeversuch unternommen hat.
Juggernaut unterscheidet sich von normalen Netzwerk-Sniffern, die den gesamten Netzwerkverkehr in riesigen Protokolldateien aufzeichnen. Juggernaut unterhält eine Verbindungsdatenbank, die es einem Angreifer ermöglicht, alle TCP-basierten Verbindungen zu überwachen und sogar eine Sitzung zu kapern. Das Session-Hijacking-Tool bietet auch eine eingebaute Funktion zum Zusammenstellen von Paketen. Angreifer verwenden diese Funktion, um Pakete zu fragmentieren, um Angriffserkennungssysteme und Firewalls zu umgehen.
Hier ist ein Beispiel für die Verwendung von Juggernaut, wenn Sie es über die Linux-Befehlszeile ausführen:
Juggernaut ?) Hilfe 0) Programminformationen 1) Verbindungsdatenbank 2) Verbindung ausspionieren 3) Verbindung zurücksetzen 4) Automatisierter Daemon zum Zurücksetzen von Verbindungen 5) Simplex-Verbindungsentführung 6) Interaktive Verbindungsentführung 7) Paketzusammenstellungsmodul 8) Souper-Sekret-Optionsnummer acht 9) Schritt nach unten
- Die Verbindungsdatenbank zeigt Ihnen eine aktive Verbindung an.
- Das Ausspionieren einer Verbindung ermöglicht es Ihnen, den Netzwerkverkehr über offene Kommunikationskanäle zu überwachen und bietet eine Option zum Speichern von Protokollen.
- Das Zurücksetzen einer Verbindung schließt eine Sitzung, indem ein RST-Paket an die Quelle gesendet wird.
- Der Daemon zum automatischen Zurücksetzen der Verbindung ermöglicht es Ihnen, einen Host basierend auf der IP-Adresse und dem RST-Paket an die Quelle zu konfigurieren, wann immer der Host versucht, eine Sitzung aufzubauen.
- Simplex Connection Hijack ermöglicht es Ihnen, einen einzigen Befehl an das Ziel einzugeben. Angreifer verwenden es, um die Erkennung zu verhindern.
- Interaktiver Verbindungsentzug ermöglicht Ihnen, einen vollständigen Sitzungsentzug durchzuführen und einen großen ACK-Sturm zu erzeugen.
- Mit dem Paketzusammenstellungsmodul können Sie Ihr eigenes Paket erstellen.
- Souper Secret Option Nummer acht hat keine Funktion.
- Schritt nach unten ermöglicht es Ihnen, das Programm zu verlassen.
Dies waren einige der Tools, die Angreifer verwenden, um Session-Hijacking-Angriffe durchzuführen.
Sie müssen Ihre Netzwerke und Systeme gegen ähnliche Tools wie Hunt, TTY-Watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ stärken, die Angreifer verwenden, um Benutzersitzungen auszunutzen.
So verhindern Sie Session-Hijacking
Session Hijacking kann schwerwiegende Folgen für Unternehmen haben, einschließlich finanzieller Verluste und Reputationsverluste, die nach Jahren des Aufbaus eines guten Rufs und der Bereitstellung treuer Dienste in der Branche entstehen.
Unternehmen müssen strategische Sicherheitsmaßnahmen ergreifen, um zu vermeiden, dass sie Ziel von Session-Hijacking-Angriffen werden. Zu diesen Maßnahmen gehören:
- Verschlüsselung der gesamten Datenübertragung auf einer Webseite
- Implementieren der HTTPS-Zertifizierung (Hypertext Transfer Protocol Secure) auf Webseiten
- Browser regelmäßig aktualisieren und patchen
- Einführung von Cybersicherheitstools wie DDoS-Schutzsoftware und Täuschung Technologie
- Sorgfältiges An- und Abmelden bei jeder Sitzung
- Integrieren Sie Web-Frameworks, anstatt ein internes Sitzungsverwaltungssystem zu erstellen
- Generieren Sie den Sitzungsschlüssel nach der Authentifizierung neu, um zu verhindern, dass Hacker die während der Anmeldung generierte Sitzungs-ID ausnutzen
- Verstärken Sie die Identitätsüberprüfung, indem Sie zusätzliche Überprüfungen einbeziehen, z. B. die Überprüfung der üblichen IP-Adresse eines Benutzers oder Anwendungsnutzungstrends
- Verwenden Sie nur sichere drahtlose Netzwerke und vermeiden Sie den Betrieb in öffentlichen WLANs
- Maskieren Sie Ihre IP-Adresse mit einer VPN-Software (Virtual Private Network) und schützen Sie Ihre Sitzungen
Websiteweites HTTPS ist wohl der wichtigste Präventionsmechanismus. Wenn Sie Leistungsprobleme befürchten, können Sie SSL auf den Anmeldeseiten der Website und in anderen sensiblen Bereichen implementieren. Eine weitere wichtige Präventivmaßnahme wäre die Verschlüsselung des in einem Session-Cookie abgelegten Session-Wertes.
Schützen Sie Ihre Sitzungen
Session Hijacking kann lästig sein. Seien Sie proaktiv und richten Sie einen geeigneten Abwehrmechanismus ein, um sich vor Session-Hijacking-Angriffen zu schützen und Ihr Konto und Ihre Daten zu schützen.
Da Hacker ständig neue Methoden entwickeln, um die Verteidigungsperimeter eines Unternehmens zu knacken, kann es noch schwieriger werden, 100 % Sicherheit zu gewährleisten.
Erfahren Sie mehr über die Reaktion auf Vorfälle und wie Sie einen Cybervorfall verwalten können, wenn ein Angreifer Zugriff auf Ihr Konto oder Ihre Daten erhält.