Clickjacking - Auch komplizierte Aktionen sind möglich
Mit Clickjacking einen einzelnen Klick zu entführen erfordert schon etwas Aufwand, wie in der vorigen Folge am Beispiel der Demonstration von Jeremiah Grossman und Robert "RSnake" Hansen zu sehen war. Möchte ein Angreifer gleich mehrere Klicks entführen, wird es noch aufwändiger. Ein Beispiel dafür ist die Demonstration von Guy Aharonovsky.
Der Angriff von Guy Aharonovsky im Detail
Guy Aharonovsky wollte die Benutzer die Mikrofon- und Kameraeinstellungen des Flash Players ändern lassen. Dazu sind mehrere Klicks notwendig, so dass ein einfacher Link wie im Beispiel von Grossman und Hansen für den Angriff nicht ausreichte. Stattdessen ließ Aharonovsky die Benutzer ein kleines JavaScript-Spiel spielen, bei dem eine hin- und herhüpfende Schaltfläche angeklickt werden muss. Da Adobe die Schwachstelle sofort mit einem Workaround entschärft und kurz danach behoben hat funktioniert die Demonstration nicht mehr, Guy Aharonovsky hat jedoch vorausschauend ein Video davon erstellt.
Während des Spiels werden einige Klicks auf Schaltflächen oder Radiobuttons in Adobes Setting Manager gelenkt, während einige tatsächlich zum Spiel gehören und keinerlei Funktion haben, außer das Opfer abzulenken. Immer, wenn ein Klick auf den Setting Manager gelenkt werden soll, wird das JavaScript-Spiel durch Manipulation der z-Koordinate hinter den iframe mit dem Setting Manager gelegt und der Klick landet im (für den Benutzer unsichtbaren) Setting Manager.
Im Setting Manager wird zuerst im Tab für die Website-Zugriffsschutzeinstellungen auf die Schaltfläche zum Löschen der Liste besuchter Websites geklickt (Abb. 6, 1) und danach das Löschen durch Klick in die sich öffnende Alertbox bestätigt (Abb. 6, 2). Danach wird der dann einzige Eintrag in der Liste, die gerade besuchte Website des Angreifers, ausgewählt (Abb. 6, 3) und dafür die Einstellung für Kamera und Mikrofon auf "immer zulassen" geändert (Abb. 6, 4). Danach wird in der Demonstration ein Fenster geöffnet, das die Kamera- und Mikrofonaufnahme ausgibt. Ein Angreifer würde sich natürlich nicht so verraten, sondern die Aufnahmen an seinen eigenen Server schicken und dort auswerten.

Abb. 6: Die Schritte in der Demonstration von Guy Aharonovsky
Weitere mögliche Angriffe
Die oben vorgestellten Beispiele sind nur ein kleiner Ausschnitt möglicher Angriffe über Clickjacking. Auch die folgende Aufstellung ist nur die Spitze eines Eisbergs:
- ActiveX-Controls können manipuliert werden, wenn sie Eingaben über die Webseite und nicht über modale Dialoge entgegen nehmen. Ebenso sind alle Anwendungen auf dem Client, z.B. Java-Applets oder Ajax-Anwendungen, gefährdet, sofern sie sich in einem iframe darstellen lassen.
- Da über JavaScript der Status von Klicks in andere Domains
beobachtet werden kann, sind auch komplexe Angriffe mit mehreren Klicks
möglich.
In der Demonstration von Guy Aharonovsky wurden bereits mehrere Klicks verwendet, dabei aber immer davon ausgegangen, dass alle vorherigen die gewünschte Aktion ausgelöst haben. Wäre einer der entführten Klicks nicht an der richtigen Stelle gelandet, wäre der gesamte Angriff fehl geschlagen. Durch das Prüfen des Klick-Status kann der Angreifer einen fehlgeschlagenen Klick z.B. auf einen Radio-Button erkennen und wiederholen lassen, bevor er mit dem nächsten entführten Klick das Formular absendet. Zum Prüfen kann z.B. deronclick
-Event (im Internet Explorer) oder deronblur
-Event (in Firefox) des unsichtbaren iframes verwendet werden.
Ebenso kann natürlich auch geprüft werden, ob der entführte Klick erfolgreich war und die gewünschte Aktion ausgelöst wurde, um danach die eigentlich vom Benutzer angeklickte Aktion auszuführen. Dadurch wird verhindert, dass der Benutzer misstrauisch wird, weil nach seinem Klick nichts (für ihn erkennbares) passiert ist. - Ungewöhnliche, nur schwer ausnutzbare
Cross-Site-Scripting-Schwachstellen können über Clickjacking
einfacher und/oder überhaupt erst ausgenutzt werden. Robert Hansen
nennt als Beispiel
XSS-Schwachstellen, die nur durch
onmouseover
- oderonmousedown
-Events über ungewöhnlichen Bereichen der betroffenen Webseite ausgenutzt werden können. Über Clickjacking könnte ein Angreifer die betroffene Seite in einem iframe einbinden und die Maus über den richtigen Bereich positionieren. - Gegenmaßnahmen gegen Cross-Site-Request-Forgery-Angriffe, die auf dem Vorhandensein zufälliger Token basieren, können durch Clickjacking unterlaufen werden. Dafür muss nur der Link zur Seite mit dem zufälligen Token bekannt sein, so dass der Angreifer dem Opfer diese Seite in einem Clickjacking-Angriff unterschieben kann.
- Ein weiteres gutes Beispiel für den Einsatz von Clickjacking ist Klick-Betrug (Click Fraud): Eigentlich sind dafür viele verschiedene IP-Adressen mit unterschiedlichen Browser-Signaturen notwendig, um Klicks von unterschiedlichen Benutzern vorzutäuschen. Genau die liefert Clickjacking: Während der Benutzer denkt, er klickt irgend etwas anderes an, klickt er tatsächlich auf z.B. ein untergeschobenes Werbebanner.
Alle bisher beschriebenen Clickjacking-Angriffe waren mehr oder weniger Theorie. Aber die Cyberkriminellen sind natürlich immer daran interessiert, neue Methoden für ihre bösen Taten zu nutzen. So war es auch beim Clickjacking. Um so wichtiger ist es, Clickjacking-Angriffe zu verhindern. Wie, erfahren Sie in der nächsten Folge.
Update 13.5.2015
Aus Anlass des 5jährigen Blog-Jubiläums habe ich alle
Clickjacking-Artikel zusammengefasst, überarbeitet, ergänzt und
auf den aktuellen Stand gebracht. Das Ergebnis ist ein (natürlich
kostenloses) eBook im ePub- und PDF-Format:
5 Jahre Blog - Als Special: "Clickjacking"-eBook
Ende des Updates vom 13.5.2015
Übersicht über alle Artikel zum Thema
- Clickjacking - Angriffe auf Seiten ohne Schwachstellen
- Clickjacking - Auch komplizierte Aktionen sind möglich
- Clickjacking - Framebuster oder HTTP-Header verhindern Angriffe
- Der Angriff der Clickjacking-Würmer, "Likejacking" und "Buttonjacking"
- Clickjacking - "Likejacking" unter die Haube geguckt
- Clickjacking - The next Generation
- Clickjacking - Drag&Drop-Angriffe und weitere Neuigkeiten
- Cookiejacking - Keksdiebe im Internet Explorer
- Likejacking - Facebook im Visier der Cyberkriminellen
- Clickjacking - Gute und Schlechte Nachrichten
- Standpunkt: Clickjacking gegen Flash, urchin.js und Duqu - nichts als Wiederholungen!
- Neue Angriffe auf Webanwendungen über Clickjacking und Cookies
- Clickjacking-Angriffe verhindern - der aktuelle Stand der Dinge
- Clickjacking: Cross Origin Resource Jacking und ein Clickjacking-BeEF-PlugIn
- Clickjacking: "Zaubertricks" ermöglichen Likejacking und mehr
- Dieses und Jenes zum Clickjacking
- 5 Jahre Blog - Als Special: "Clickjacking"-eBook
Trackbacks
Dipl.-Inform. Carsten Eilers am : Präsentationen und Links zu meinen #wtc11-Vorträgen sind online
Vorschau anzeigen