Browsersicherheit wird mal wieder auf die Probe gestellt. Nachdem der CSS-History-Hack, DNS-Rebinding und CSRF schon Jahre alt sind und gibt es wieder mal eine neue Methode um schlimme Dinge anzustellen.
Diesmal wird Tabbed-Browsing und META-Redirects als Angriffswerkzeug verwendet. Wie beim normalen Phising wird dem Benutzer eine Fake-Seite vorgegaukelt. Aber diesmal nicht schlagartig sondern schön sneaky von Hinten herum.
Wie funktionierts?
Ganz einfach, wie immer. Man fügt eine META-Umleitung mit einer entsprechend langen Verzögerung ein. Natürlich kann man das auch mit JavaScript machen, aber das wär ja fad. Der User kommt also auf eine Seite, nehmen wir an einen Blogeintrag und beginnt zu lesen. Nun setzt man darauf, dass der User diesen Tab nach dem Durchlesen offen lässt und in einem anderen Tab weitersurft. Nachdem die Seite aus dem Blickfeld des Users ist verändert sich diese vom Aussehen her auf die Login-Seite eines Webmail-Anbieters. Wenn der User dann seine Tabs durchschaut, findet er diese und versucht sich auf dieser Seite anzumelden. Der Titel, das Favicon (Symbol in der Adressleiste und am Tab) und der Inhalt der Seite sehen korrekt aus. Nur die Adressleiste enthält den falschen Eintrag. Wenn man schnell drüberschaut kann man das schon übersehen und das Tabnapping war erfolgreich.
Ich habe ein kleines Proof-of-Concept erstellt:
Einfach diese Seite ein paar Sekunden offen lassen und schauen was passiert: Tabnapping Demo
Advanced Concepts:
Um diese Methode noch “erfolgreicher” zu machen gibt es folgende Möglichkeiten:
1. Phishing-Seite mit dem CSS-History-Hack erkennen.
2. Redirect mit JavaScript nachdem der Tab in den Hintergrund geht.
3. Nach einer gewissen Zeit mit einem JavaScript Alert den User zum Login auffordern.