Angriff auf Browser-Erweiterungen mit Passwortmanagern, der Clickjacking nutzt.

Auf der Konferenz DEF CON 33 wurde eine Angriffsmethode auf Browsererweiterungen vorgestellt, die ihre Benutzeroberflächenelemente in die angezeigte Seite einfügen. Die Anwendung dieser Attacke auf Erweiterungen mit Passwortmanagern kann zu einem Leck gespeicherter Informationen führen, wie z.B. Authentifizierungsparameter, Kreditkarteninformationen, persönliche Daten und Einmalpasswörter für die Zwei-Faktor-Authentifizierung. Das Problem betrifft alle getesteten Passwortmanager, einschließlich 1Password, Bitwarden, LastPass, KeePassXC-Browser, NordPass, ProtonPass und Keeper.

Die Angriffsmethode basiert darauf, dass Browsererweiterungen einen Dialogfeld zur Passwortautoausfüllung direkt auf die angezeigte Seite einfügen und ihre Elemente in das DOM (Document Object Model) dieser Seite integrieren. Wenn der Angreifer in der Lage ist, seinen JavaScript-Code auf der Seite auszuführen, z.B. indem er eine XSS-Sicherheitslücke auf der Website ausnutzt, kann er alle Elemente im DOM manipulieren, einschließlich der eingefügten Browsererweiterungen.

Unter anderem ist es möglich, den Bestätigungsdialog transparent zu machen und die Schaltfläche in diesem Dialog mit der Schaltfläche des gefälschten Dialogs des Angreifers räumlich zu kombinieren, um den Benutzer zum Klicken zu bewegen. Solche gefälschten Dialoge können aus möglichen Anfragen zur Cookie-Berechtigung, Werbebannern oder Formularen mit Captchas bestehen. Wenn man den gefälschten Dialog unter dem transparenten Dialog des Passwortmanagers anordnet und die Position der Schaltflächen auf dem Bildschirm kombiniert, kann es dazu kommen, dass der Klick des Benutzers auf die Schaltfläche zur Bestätigung der Authentifizierungsparameter im Dialog des Passwortmanagers erfolgt, während der Benutzer denkt, er habe beispielsweise auf die Schaltfläche zum Schließen des Werbefensters geklickt.

Angriff auf Browser-Erweiterungen mit Passwortmanagern, der Clickjacking nutzt.

Der Angriff besteht aus den folgenden Schritten:

  • Einen aufdringlichen Element auf der Seite erstellen, das zum Klicken anregt.
  • Einfügen eines Webformulars für Anmeldungen oder zur Eingabe persönlicher Daten auf der Seite.
  • Das Setzen der Transparenz für das Webformular („opacity: 0.001“ in CSS).
  • Verwendung der Methode focus(), um den Fokus auf ein Eingabefeld im Formular zu setzen, was den Autoausfülldialog des Passwortmanagers aktiviert.
  • Den aufgetauchten Dialog des Passwortmanagers im DOM suchen und die Transparenz dafür setzen.
  • Warten auf den Klick des Benutzers auf ein sichtbares aufdringliches Element auf der Seite, welches durch passende Kombination von sichtbaren und unsichtbaren Elementen dazu führen wird, dass auf die Schaltfläche im transparenten Dialog geklickt wird und die Felder vom Passwortmanager ausgefüllt werden.
  • Daten aus dem ausgefüllten Webformular extrahieren und sie an den Server des Angreifers senden.

Da das Autoausfüllen der Authentifizierungsparameter im Passwortmanager nur für Websites aktiviert wird, auf denen diese Parameter gespeichert wurden, muss der Angreifer in der Lage sein, seinen JavaScript-Code auf der angegriffenen Website oder einem Subdomain auszuführen. Daher ist es notwendig, entweder ein Subdomain innerhalb derselben Domain wie die angegriffene Website zu erhalten oder eine XSS-Sicherheitslücke zu finden, die es ermöglicht, den eigenen Code in den an den Benutzer ausgegebenen Inhalt einzufügen.

Es wird festgestellt, dass viele Benutzer denselben Passwortmanager sowohl für die Speicherung von Anmeldedaten als auch für die Generierung von Einmalpasswörtern für die Zwei-Faktor-Authentifizierung verwenden, was die herein diskutierte Angriffsmethode bei der Autoausfüllung von Einmalpasswörtern anwendbar macht. Ein Beispiel demonstriert einen Angriff auf die Website issuetracker.google.com, die über eine XSS-Sicherheitslücke verfügt. Um Zugang zu den Anmeldeinformationen und dem Code für die Zwei-Faktor-Authentifizierung zu erhalten, reicht es aus, dem Benutzer einen Link zu senden, der diese XSS-Sicherheitslücke ausnutzt, und drei Klicks über die Einfügung gefälschter aufdringlicher Anfragen zu erreichen (Genehmigung zur Verarbeitung von Cookies, Genehmigung zur Personalisierung und Zustimmung zur Datenschutzrichtlinie).

Neben Websites mit XSS-Sicherheitslücken kann der Angriff auch auf Dienste durchgeführt werden, die Subdomains für jedermann bereitstellen – die meisten Passwortmanager füllen standardmäßig nicht nur Anmeldedaten für die Hauptdomain aus, sondern auch für Subdomains.

Der Angriff kann ebenfalls verwendet werden, um persönliche Daten des Benutzers und Kreditkarteninformationen, die im Passwortmanager gespeichert sind, zu ermitteln. Dabei ist es nicht erforderlich, JavaScript-Code im Kontext einer fremden Website auszuführen; es genügt, das Opfer auf eine Seite der angreifenden Website zu locken – bei persönlichen Daten erfolgt das Ausfüllen von Webformularen basierend auf ihrem Typ (Adresse, Kreditkartennummer, vollständiger Name), ohne dass eine solche Verknüpfung notwendig ist. Domain. Die gefährlichste Art ist die Leckage von Kreditkarteninformationen, da Passwortmanager nicht nur die Kartennummer, sondern auch das Ablaufdatum und den Sicherheitscode einfügen.

Der Entdecker des Problems testete 11 Browsererweiterungen mit Passwortmanagern, die insgesamt 39,7 Millionen aktive Installationen aufweisen, und alle erwiesen sich als nicht vor dieser Art von Angriffen geschützt. Einige Hersteller veröffentlichten Updates (NordPass 5.13.24, ProtonPass 1.31.6, RoboForm 9.7.6, Dashlane 6.2531.1, Keeper 17.2.0, Enpass 6.11.6, Bitwarden 2025.8.1), in denen sie versuchten, diesen Angriff zu blockieren. Andere Erweiterungen (KeePassXC-Browser, 1Password, iCloud Passwords, Enpass, LastPass, LogMeOnce) sind bislang nicht gepatcht. Um das Auftreten der Schwachstelle in verschiedenen Passwortmanagern zu überprüfen, wurde ein Satz von Testseiten veröffentlicht.

Angriff auf Browser-Erweiterungen mit Passwortmanagern, der Clickjacking nutzt.
Angriff auf Browser-Erweiterungen mit Passwortmanagern, der Clickjacking nutzt.

Die Position der Entwickler von 1Password, die keinen Patch veröffentlicht haben, ist, dass die Schwachstelle grundlegend und nicht direkt mit einer bestimmten Browsererweiterung verbunden ist. Daher blockieren Versuche, die Schwachstelle auf Seiten der Erweiterung zu beheben, lediglich bestimmte Angriffsvektoren, lösen jedoch nicht das zugrunde liegende Problem, das im Browser oder durch eine separate Bestätigung vor dem automatischen Ausfüllen der Felder gelöst werden muss. Es wird erwähnt, dass 1Password bereits die Möglichkeit unterstützt, vor dem Ausfüllen von Zahlungsdaten eine Bestätigungsanfrage anzuzeigen, und in der nächsten Version wird eine Option hinzugefügt, um eine ähnliche Anfrage für alle Arten von automatisch auszufüllenden Daten anzuzeigen (aufgrund der Reduzierung des Benutzerkomforts wird diese Option nicht standardmäßig aktiviert).

Unter den vom Autor der Studie vorgeschlagenen Schutzmethoden wird die Überwachung von Stiländerungen der auf der Seite eingefügten Elemente mittels der API MutationObserver, das Blockieren von Änderungen über den Shadow DOM im 'closed'-Modus, die Überwachung der Transparenz von Elementen, der Einsatz der API Popover zur Anzeige von Dialogen, die Überprüfung der Überlagerung von Ebenen sowie das vorübergehende Deaktivieren der Verarbeitung von Zeigereignissen (pointer-events:none) in allen schwebenden Elementen während der Anzeige des Dialogs des Passwortmanagers genannt. Dabei wird empfohlen, für eine vollständige Blockierung dieser Klasse. von Angriffen ein separates API auf Browserebene zu implementieren. zum Klickjacking.

Als universelle Schutzmethode wird den Nutzern in Chromium-basierten Browsern empfohlen, den Bestätigungsmodus für den Zugriff der Erweiterung auf die Website zu aktivieren (Erweiterungseinstellungen → 'site access' → 'on click'), bei dem die Erweiterung nur nach einem Klick auf das Symbol rechts in der Adressleiste Zugriff auf die Website erhält. Als Umgehungsmethode wird auch das Deaktivieren der automatischen Formularausfüllung und das manuelle Kopieren von Passwörtern über die Zwischenablage genannt, wobei dabei das Problem der Datenauslagerung aus der gemeinsamen Zwischenablage und die Gefahr eines Phishingversuchs entsteht.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster