QRLJacking ist eine Angriffstechnik, bei der Angreifer den QR-Code-basierten Anmeldeprozess eines Dienstes manipulieren, sodass ein Opfer beim Scannen eines präparierten Codes unbeabsichtigt seine aktive Sitzung an die Angreifer überträgt.
Auf einen Blick
Betroffen sind Dienste, die QR-Codes als Anmeldemethode für mobile Bestätigung nutzen, etwa Messaging-Apps.
Der Angriff kommt ohne klassisches Passwort-Phishing aus, da er das Vertrauen der Nutzer in QR-Codes ausnutzt.
Eine übernommene Sitzung erlaubt Angreifern denselben Zugriff wie dem eigentlichen Nutzer.
Was ist QRLJacking?
QRLJacking bezeichnet eine Angriffstechnik, bei der Angreifer den QR-Code-basierten Anmeldeprozess eines Dienstes manipulieren, um eine bestehende Sitzung zu übernehmen. Auf einer gefälschten Login-Seite ersetzt der Angreifer den legitimen QR-Code durch einen selbst kontrollierten Code; scannt das Opfer diesen Code mit der eigenen App, überträgt es dabei unbeabsichtigt seine Sitzungsberechtigung an den Angreifer. Die Technik richtet sich gegen Dienste, die QR-Codes als Authentifizierungsmethode einsetzen, etwa Messaging-Dienste oder Web-Logins mit mobiler Bestätigung, und nutzt das Vertrauen der Nutzer in QR-Codes als scheinbar sichere Anmeldemethode aus, ohne dass eine klassische Passwort-Phishing-Seite benötigt wird. Weil der Angreifer selbst über einen gültigen, vom Zieldienst ausgestellten QR-Code verfügt, wirkt die gefälschte Seite auf den ersten Blick funktional identisch zur echten Anmeldeseite.
Setzt ein Versicherer einen QR-Code-basierten Anmeldeprozess für Mitarbeiter oder Kunden ein, kann ein manipulierter QR-Code nach dem Scan die aktive Sitzung an den Angreifer übertragen. Der Angreifer erhält dadurch denselben Zugriff wie der ursprüngliche Nutzer, solange die Sitzung nicht separat durch zusätzliche Bestätigungsschritte abgesichert ist.
Wie funktioniert QRLJacking?
QRLJacking nutzt aus, dass QR-Code-Login-Systeme eine Sitzung an das Scannen eines Codes statt an eine Passworteingabe koppeln. Der Angreifer ruft zunächst selbst die reguläre Login-Seite des Zieldienstes auf und erhält dadurch einen eigenen, gültigen QR-Code; diesen bettet er anschließend in eine nachgebaute, optisch identische Login-Seite ein. Weil der Code technisch echt und lediglich falsch zugeordnet ist, erkennen Sicherheitsmechanismen, die nur auf gefälschte Inhalte prüfen, den Angriff dadurch nicht.
Bringt der Angreifer das Opfer per Social Engineering dazu, die nachgebaute Seite zu öffnen und den eingebetteten Code mit der eigenen App zu scannen, bestätigt das Opfer damit unwissentlich die Sitzung des Angreifers auf dem echten Dienst. Ab diesem Moment agiert der Angreifer in der bestätigten Sitzung im Konto des Opfers, ein klassisches Session Hijacking. Ein zusätzlicher Bestätigungsschritt auf einem zweiten, unabhängigen Kanal kann diese automatische Bestätigung durchbrechen.
Woran erkenne ich QRLJacking?
| Signal | Woran erkennbar |
|---|---|
| QR-Code auf einer nicht-offiziellen Domain | Die Login-Seite mit dem QR-Code liegt auf einer Domain, die nicht exakt der offiziellen Adresse des Dienstes entspricht. |
| Unerwartete Sitzungsbestätigung nach dem Scannen | Nach dem Scannen meldet die App eine neue Anmeldung von einem unbekannten Gerät oder Standort. |
| Aufforderung zum Scannen außerhalb des gewohnten Ablaufs | Der QR-Code wird über einen Link oder eine Nachricht statt über die reguläre Login-Oberfläche des Dienstes präsentiert. |
Schutz im Ernstfall
Vorbeugen
- QR-Codes für Logins nur direkt auf der offiziellen Domain scannen, nicht über zugesandte Links oder Nachrichten.
- Aktive Sitzungen und angemeldete Geräte im Konto regelmäßig überprüfen und unbekannte Sitzungen beenden.
- Zusätzliche Sitzungsbestätigung (etwa Gerätename, Standortabfrage) für QR-Code-Logins aktivieren, sofern der Dienst diese anbietet.
Was tun im Ernstfall
- Bei Verdacht auf eine übernommene Sitzung alle aktiven Sitzungen des Kontos zentral beenden.
- Zugangsdaten und, falls vorhanden, den zweiten Faktor für das betroffene Konto zurücksetzen.
- Konto- und Zugriffsprotokolle auf unbekannte Anmeldungen oder Aktionen prüfen.
Beispiele aus der Praxis
- Ein Angreifer erstellt eine gefälschte Web-Login-Seite eines Messaging-Dienstes, platziert dort einen eigenen QR-Code und bringt das Opfer per Social Engineering dazu, diesen zu scannen, wodurch die Sitzung des Angreifers autorisiert wird.
- Bei einem QRLJacking-Angriff auf einen Unternehmens-SSO-Dienst übernimmt der Angreifer nach dem Scan durch einen Mitarbeiter dessen aktive Web-Sitzung (Session Hijacking).
- Der Angreifer verschickt den Link zur nachgebauten Login-Seite über eine Phishing-Nachricht, sodass das Opfer den präparierten QR-Code für eine gewohnte Anmeldung hält und ihn ohne weitere Prüfung scannt.
- Nutzt ein Versicherer für Mitarbeiter einen QR-Code-Login für interne Systeme, könnte ein manipulierter Code in einer nachgebauten Anmeldeseite die Sitzung eines Mitarbeiters übernehmen, sobald dieser den Code scannt.
Häufiger Irrtum
Mythos „Ein Irrtum ist die Annahme, QRLJacking erfordere wie klassisches Phishing die Preisgabe eines Passworts durch das Opfer.“
Richtig Tatsächlich führt das Scannen des präparierten Codes laut OWASP direkt zum Session Hijacking; QRLJacking hebelt damit das QR-Login aus, das selbst als Single-Sign-On- und Zwei-Faktor-Ebene gilt.
Häufige Fragen
Wie unterscheidet sich QRLJacking von klassischem QR-Code-Phishing?
Klassisches QR-Code-Phishing leitet Opfer über einen präparierten Code auf eine gefälschte Seite, die dort aktiv Zugangsdaten wie Passwörter abfragt. QRLJacking zielt dagegen auf den QR-Login-Prozess selbst: Das Opfer bestätigt beim Scannen unwissentlich eine bereits laufende Sitzung des Angreifers auf dem echten Dienst, was zum Session Hijacking führt.
Woran erkennt man eine manipulierte Login-Seite mit QR-Code?
Warnzeichen sind eine Domain, die nicht exakt der offiziellen Adresse des Dienstes entspricht, ein per Link oder Nachricht statt über die reguläre Login-Oberfläche zugestellter QR-Code sowie eine Sitzungsbestätigung, die kurz nach dem Scan eine unbekannte Anmeldung von einem fremden Gerät oder Standort meldet.