Select Page

An unserem ersten „Offline-Event“ von „Geekz.ch“ haben wir uns unter anderem mit Session-Cookies auseinander gesetzt. Genauer gesagt ging es um Session Hijacking, was nichts anderes bedeutet als eine aktive Browser-Sitzung zu übernehmen.

Angenommen Sie melden sich bei „Facebook.com“, mit Ihrer E-Mail-Adresse und Ihrem Passwort an. Nun wird der Browser im Hintergrund diese Informationen speichern, damit Sie bei einem nächsten Besuch auf Facebook diese Daten nicht wieder erneut eingeben müssen. Es gibt natürlich Menschen, welche sich immer wieder an- und abmelden. Wenn Sie dies tun, sind Sie schon mal viel sicherer unterwegs. Dies ist natürlich viel mühsamer und braucht auch Zeit.

Mit einem Cookie-Viewer, welches als Erweiterung für Ihren Browser installiert werden kann, können die Inhalte solcher Session-Cookies ausgelesen werden. In unserem Beispiel verwendeten wir “Edit this Cookie” für den Chrome Browser.

Für die Facebook-Session sind vor allem zwei Werte relevant:

  • c_user
  • xs

Mit diesen zwei Werten kann eine Session übernommen werden. Sie können dies ausprobieren, indem Sie bei einem anderen Computer ebenfalls das Browser-Plugin installieren und diese zwei Werte manuell übertragen. Nach einem „Refresh“ sind Sie in der Sitzung drin.

Selbstverständlich ist es nicht so einfach, bei einem fremden System beziehungsweise Benutzer an diese Daten zu kommen. Moderne Browser speichern diese Daten verschlüsselt in einer SQL-Datenbank ab.

Chrome beispielsweise, verwendet dafür “SQL Lite“. Die SQL-Datenbank wird unter folgendem Pfad gespeichert:

"C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\Cookies"

Mit dem “SQL Lite Browser” können wir nun diese Datei öffnen.


Wie aber bereits angesprochen, werden die Werte verschlüsselt gespeichert.

Es ist jedoch möglich, solange ein User an einem Windows-Rechner angemeldet ist, mit einem „Powershell-Skript“ die Werte entschlüsselt zu exportieren.

Warum geht das? Solange ein Benutzer an einem Windows-Rechner angemeldet ist, sind seine Login-Daten im Hintergrund gespeichert. Wenn dies nicht so wäre, müssten wir jedes Mal, wenn wir Chrome starten, uns neu anmelden.

Das Powershell-Skript im Detail:

Wenn Sie also das nächste Mal Ihren Computer verlassen, ohne diesen zu sperren, könnte jemand mit diesem PS-Skript relativ schnell Ihre Session stehlen.

Was ich noch nicht probiert habe aber sehr interessant wäre:
Liesse sich dieses Skript problemlos in eine Binäre Datei kompilieren, damit Sie auf einem Zielsystem schneller ausgeführt werden kann?

Falls dies also jemand versuchen möchte, gebt mir doch ein Feedback.