Diese Webseite nutzt nur technisch notwendige Cookies.

Session Hijacking verhindern – PHP Angriff erklärt (2024)

Session Hijacking Hacking Series Ethical Hacking Steffen Lippke

Wie können Kriminelle Deinen Computer übernehmen?

Session Hijacking nennt sich die Technik, wie die Kriminellen ohne Passwort Deinen Amazon, Netflix oder Bankaccount nutzen.

Wie Session Hijacking funktioniert und wie Du Dich effektiv davor schützen kannst, verrate ich Dir in diesem Beitrag.

Starten wir!

Was ist Session Hijacking?

Die Computer Technik ist sehr abstrakt. Deshalb gibt es hier ein Beispiel aus der Realität:

Stell Dir vor, du gehst in ein neues Stadt-Café und bestellst einen doppelten Espresso mit Extra-Zucker. Der Barista gibt dir eine Nummer, die du auf deinen Tisch stellst, damit er weiß, wohin Kellner 2 das Getränk bringen soll. Diese Nummer ist wie ein Session-Token im Internet.

Jetzt stell Dir vor, der shady Kriminelle beobachtet dich und merkt sich deine Nummer. Wenn du kurz aufstehst, um zur Toilette zu gehen, nimmt diese Person deine Nummer und stellt sie auf ihren Tisch. Der Kellner 2 bringt den Kaffee dann zu dieser Person, weil er denkt, dass sie du bist. Das passiert auch beim Session Hijacking.

Der Angreifer stiehlt deine Session-Token (deine Nummer) und gibt sich als dich aus, um Zugang zu deinen Daten oder Diensten zu erhalten. Es ist, als ob jemand deinen Platz im Café einnimmt und deinen Kaffee trinkt.

Grundlagen – Internet Protokolle verstehen

Ist TCP an Session Hijacking Schuld?

Das TCP (Transmission Control Protocol) in Verbindung mit HTTP und FTP sorgt dafür, dass die Internet-Nachricht am richtigen Empfänger schnell und vollständig ankommt.

Das große Sicherheitsproblem bei TCP ist, dass dieses verbindungslos ist. TCP ist verbindungslos, um effizienter eine Vielzahl an Clients abzuarbeiten. Statt alle Verbindungen aufrechtzuerhalten ist unser modernes Internet standardmäßig plump und schließt jede Verbindung nach Auslieferung der Daten (spart RAM). Damit Du verstehst, warum TCP das Internet unsicherer macht, erkläre ich Dir die TCP Funktion anhand einer Metapher:

Umkleideraum eines Schwimmbads

Heute ist das große Wasserball-Match Mannheim gegen Frankfurt. Der Frankfurter Torwart Hans und sein Kapitän Peter ziehen sich in der Umkleide um. Die Kabinen sind voneinander getrennt und Sie können sich nicht sehen.

Sie können nur über Zurufen miteinander reden. Für die Sicherheit nutzen Sie das Passwort „Ente 42“, um sich gegenseitig zu bestätigen.

Hans: „Ente 42 – Bleibst Du beim Macht mehr rechten Seite heute?“

Peter: „Heute, aber nur in der 1. Hälfte – dann möchte ich meine Strategie ändern.“

Hans ist schnell umgezogen – Peter braucht etwas länger, weil er seine Badekappe sucht. Hans verlässt die Umkleide und der Mannheimer Phil betritt die Umkleidehalle. Er hatte von der Tür aus mitgehört, wie die beiden Frankfurter geredet haben.

 (Phil): „Ente 42 – Kannst Du nochmal Deine Strategie im Detail erklären.“

 Peter: (…antwortet sehr ausführlich…)Die Strategie wird schamlos ausgenutzt. Die Mannheimer besiegen die ahnungslosen Frankfurter mit 6 zu 1.

Der Cookies Diebstahl im Computer

Wasserball-Match und Hacking? – TCP erschwert die Sicherheit im Netz

TCP arbeitet mit einer verbindungslosen Kommunikation.

Der Sender (Peter) weiß nicht, mit wem er redet, da die Verbindung nicht dauerhaft besteht (getrennte Kabinen). Der Empfänger bestätigt seine Identität mit einem Einmal-Passwort (Ente 42).

Phil war der Man-in-the-Middle und hat den Traffic (das Gespräch zwischen Peter und Hans) abgehört. Mit dem Wissen, wie die Frankfurter kommunizieren, kann er unbemerkt Peter ausfragen, ohne das er etwas merkt.

Der Server erstellt eine „virtuelle“ Sitzung mit den Cookies auf. Cookies sind kleine Information in Form von Texten, die Dein Browser für Dich verwaltet. Der Cookie in unserm Fall war ein Einmal-Passwort „Ente 42“, die die Mannheimer heute genutzt haben.

Cookies überall – Segen und Fluch zugleich

Ein Cookie ist eine simple Text-Datei. Diese besteht in der Regel aus einem Schlüssel z.B. „token“ und einer zufälligen Kennung „asdfjafjh2l4jhlashdflasjdfla“.

Mit einem Cookie kann der Server einen Nutzer wiedererkennen, sobald er die nächste Nachricht sendet. Über die kleine Text-Datei will der Server sichergehen, dass er mit dem richtigen Nutzer redet. Um TCP sicher zu nutzen, müsste bei jedem eingehenden IP-Paket, der Nutzer sein Passwort eingeben, um seine Identität zu testen. Das ist nicht praktikabel.

Die Cookies können des Weiteren die Warenkorb-Inhalte abspeichern oder das Online-Verhalten des Nutzers tracken.

Eine virtuelle Sitzung läuft ab, wenn das Ablaufdatum des Cookies erreicht ist. Peter wäre sehr misstrauisch, wenn nächste Woche den Code „Ente 42“ hört, weil die Mannschaft die Code-Wörter jede Woche anpasst.

Der Nutzer vor dem Browser bemerkt ein abgelaufenes Cookie, wenn der Browser sich aus dem Konto vollständig abmeldet.

Die Cookies verwenden Online-Shops für Warenkörbe, Banken für Online-Banking, Newsportale für Google Analytics und Zeitungsverlage zum Tracken der Nutzer.

Krimineller holt sich den Cookie

Stelle Dir zwei Laptops und einen Bank-Server vor:

Einen armen Dell-Laptop (Du), ein kräftiges Power-Gamer-Notebook (Krimineller) und die 30 Jahre alter Cobol-Server (Bank).

Der Kriminelle möchte Dich ausspähen, den größtmöglichen Schaden produzieren und Deine Konten ausrauben.

  1. Du loggst Dich bei Deiner Bank ins Online-Banking ein.
  2. Der Kriminelle versucht mit Sniffing oder Malware, in Besitzt des Cookies zu kommen und auf sein Power-Gamer-Notebook zu kopieren.
    1. Der Kriminelle kann die Nachrichten sehen, die Du aus dem Internet auf Deinen armen Dell-Laptop empfängst. Das Sniffing funktioniert erfolgreich nur, wenn die Verbindung unverschlüsselt (HTTP) ist.
    2. Eine andere Methode ist der Einsatz einer Malware. Der Kriminelle hat unbemerkt (über Mail, Downloads, USB-Stick) die Malware auf Deinen Rechner installiert. Die Malware scannt den Cookies des Browsers und sendet diesen an das Power-Notebook.
  3. Sobald der Kriminelle das Cookie hat, tauscht der Kriminelle mit Dir die IP und MAC-Adresse.
  4. Der Server hat nichts von dem Geräte-Wechsel und Nutzerwechsel mitbekommen, weil der Server immer noch mit der gleichen IP und MAC kommuniziert. Das Cookie auf dem Notebook des Kriminellen gaukelt dem Bank-Server vor, dass der Kriminelle der gerade authentifizierte Nutzer ist.
  5. Der Kriminelle kann jetzt beliebig Geld überweisen, Einstellungen vornehmen und Daten herunterladen.

Warum Session-Hijacking funktioniert

Der Bank-Server kontrolliert die IP-Adresse, MAC-Adresse und das Cookie. Sind diese gleich, nimmt der Server an, dass das Gamer-Notebook der arme Dell-Laptop ist.

Je nach „Intelligenz“ checkt der Server die Browser-Version, die Bildschirm-Auflösung und das Betriebssystem. Stellt der Server einen Unterschied fest, schließt der Server sofort die Session.

Sicherung – Schützte Dich vor Session Hijacking

Verwende HTTPS – Wenn die Verbindung verschlüsselt ist, sieht der Kriminelle nur kryptische Texte und kann nicht mit Sniffing den Cookie sehen.

(Host) Intrusion Detection Systeme – Diese Systeme erkennen jegliche Veränderung in einem Netzwerk oder auf dem Computer und alarmiert Dich bei Bedrohungen. z. B. Snort mit Splunk

JavaScript aus – Wenn Du auf Nummer sichergehen möchtest, schaltet JavaScript aus. Möglicherweise funktioniert nicht die Banking-App nicht mehr, weil diese auf JavaScript basiert.

Antivirus mit aktuellen Signaturen – Ein Antivirus findet nur die Malware, die Dir Deine Cookies stehlen können, wenn Du den Antivirus regelmäßig updatest. Ein aktueller Antivirus findet nur 45 % der Malware, kann aber verhindern, dass die populären Viren keine Chance haben.

Kommentare 4

  • Hallo Herr Lippke,

    funktioniert das Umleiten des Cookies auch bei einer 2FA/MFA Anmeldung?
    Aus meiner Erfahrung gibt es heute keine HTTP Verbindung mehr zu Banken, stimmen Sie dem zu?

    Vielen Dank für Ihre Infos und den Tutorials, bin ein begeisterter Leser 😉
    LG
    Peter

    • Hallo Peter,

      2FA / MFA helfen nicht bei der Cookie-Umleitung. Ein Cookie ist wie ein temporärer Besucherausweis, welchen Du nach 2FA bekommst. Dein Browser muss diesen regelmäßig vorzeigen, damit die Bank sicher gehen kann, dass Du noch am Computer bist.

      Ja, HTTPS sollte bei allen Banken in Deutschland Standard per Gesetz sein. Aber man weiß ja nie, ob die Bank das auch richtig umgesetzt hat. HTTPS-Weiterleitung sind vielleicht defekt … und wir leben in total digitalisierten Deutschland. Selbst wenn Du Deine Bank es vergeigt, muss die Bank Dir das Geld zurückerstatten, wenn ein Krimineller Dein Konto leerräumt (in der Regel). Die Bank muss dafür Sorge tragen, dass der Zugang geschützt ist.

      Grüße
      Steffen

  • Hallo, ich versuche gerade etwas rauszufinden und landete nun hier im Blog und vielleicht ist genau dies passiert:

    Am Samstag wurde mein Facebook-Konto gehackt, trotz 2FA auf Facebook + 2FA beim E-Mail Postfach. Es gab keinerlei Benachrichtigungen über einen fremden Login, ich bemerkte nachmittags, dass ich mich nicht mehr einloggen konnte und bereits die Zugangs-E-Mail ersetzt sowie Handynummer etc entfernt wurde.
    Im E-Mail Postfach sah ich dann angekommene E-Mails (ungeöffnet) mit je 4 Wiederherstellungscodes und dann eine Facebookmail mit dem Hinweis, dass die E-Mail ersetzt wurde.
    Laut Provider gab es in der Historie keinen Fremdlogin, also ist dies auszuschließen.
    Browserverlauf nochmals gecheckt und ich habe keinerlei Webseiten davor besucht, lediglich kurz selbst Ebay und Wikipedia aufgerufen.

    Jetzt ein großes ABER:
    zwei Tage vor dem Hack habe ich auf meiner Künstler-Facebookseite eine E-Mail Adresse ins Impressum geschrieben und dummerweise war das auch die gleiche, die ich zum einloggen verwende….
    Könnte somit auch ein Cookie gefälscht werden, ohne diesen vorher durch Malware etc abgegriffen worden zu sein? Denn ich bin sicher, ich könnte dies tatsächlich ausschließen.

    Ich bekam den Zugang letztendlich zurück, da ich via Ausweis den Rücksetzungslink bekam.

    Nach dem Login wurde eine automatische Bereinigung gestartet und habe dann geprüft, was geändert wurde und was die Absicht des Hackers war, eventuell käme man so auf die Vorgehensweise?
    Es wurde eine mir fremde Person als Freund hinzugefügt und diese dann als Admin in das Werbekonto eingeladen. Daraufhin eine Kreditkarte hinzugefügt und versucht Werbung zu schalten. Die Werbung ist professionell gestaltet mit Zielgruppe USA und Hawaii. Diese zielt auf einen Shop in den USA ab, der Link etc und all das ist noch gespeichert. Die URL beinhaltet aber keinerlei Kunden-ID, sondern geht direkt auf die Produktseite!!!
    Da könnt man davon ausgehen, dass der Shop quasi Hacker anheuert, die eventuell mit geklauten Kreditkarten und europäischen Konten dann für Traffic sorgen? Als IP-Adresse spuckte Facebook NordVPN Berlin heraus, mit genauen Zeitangaben.

    Bei mir ist zwar alles gerettet, aber mich würde nun echt interessieren, wie all das zustandekam. Ich kann mir absolut keinen Reim drauf machen und war davor überzeugt, sämtliche 2FAs wären Sicherheit genug. Jetzt bin ich etwas erschüttert, da dies nahezu jeden treffen kann.
    Hab natürlich überall die E-Mails geändert und verwende keine ein zweites Mal, sodass es kein Angriffspunkt für den Login geben würde…

    Sollte ich eine Anzeige erstatten, die aber letztendlich bei diesem Shopbetreiber in den USA landen würde und nach einiger Zeit ohnehin sicherlich aufgegeben wird, oder könnte eine größere Masche aufgedeckt werden? Die eingetragene Kreditkarte ist zwar gelöscht, aber was der Hacker nicht wusste: ich hatte noch einen Werberückstand seit 2 Jahren von 50 Cent und diese wurde sofort abgebucht und als Rechnung von Facebook mit VISA Transaktionsnummer etc gespeichert.

    Viele Grüße

    • Hallo Alexander,

      bei Deinem Szenario vermute ich, dass Du Dir eine Malware eingefangen hast oder auf ein Typosquatting Domain hereingefallen bist.

      1. Die Malware kopiert Deinen gesamten Browser 1:1, sodass der Hacker ein exaktes Duplikat verwenden kann. Wenn Du Dich nicht aus Facebook nach jedem Besuch komplett ausloggst, bringt Dir 2FA und Passwort gar nichts. Dein Browser hat einen Cookie gespeichert, welcher der Kriminelle jetzt fröhlich verwenden kann. (ja das ist Session Hijacking). Ein anderer Typ von Malware loggt jeden Tastaturanschlag und sendet diese zum Kriminellen.
      2. Ein Typosquatting Domain ist z. B. faacebook.com Diese falsch getippten Domain kann sich jeder Idiot auf der Welt anmieten und dann eine Facebook-Anmeldemaske drauf faken. Jetzt gibst Du brav Dein Passwort und dann Dein 2FA Token ein. Du merkst nichts. Der Kriminelle kann aber mitlesen, was du tippst.

      Schütze Dich vor Malware wie hier beschrieben: https://lippke.li/was-ist-malware/
      Typosquatting Domains kannst Du mit Passwort-Managern erkennen, weil diese in unbekannte Webseiten kein Passwort einfügen.

      Du kannst gerne Anzeige erstatten, aber in Deutschland verläuft so etwas oft in den Sand. Selbst wenn Du den Verantwortlichen aus > Tropisches Land einsetzen < findest, reicht der deutsche Justiz-Arm nicht bis dort. Selbst Schutz, Redundanzen und Vorbereitung ist wichtiger als Nachsicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Jetzt
Abbonnieren

Erhalte Free
Security Kurs

Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!