Attacco alle estensioni del browser con gestori di password, che utilizza il clickjacking.

Alla conferenza DEF CON 33 è stato presentato un metodo di attacco alle estensioni del browser che inseriscono i propri elementi dell'interfaccia nella pagina visualizzata. L'applicazione dell'attacco alle estensioni con i gestori delle password può portare alla fuga di informazioni memorizzate nei gestori delle password, come parametri di autenticazione, dettagli delle carte di credito, dati personali e password monouso per l'autenticazione a due fattori. Il problema riguarda tutti i gestori delle password testati, inclusi 1Password, Bitwarden, LastPass, KeePassXC-Browser, NordPass, ProtonPass e Keeper.

Il metodo di attacco si basa sul fatto che le estensioni del browser inseriscono un dialogo con la richiesta di compilazione automatica della password direttamente nella pagina visualizzata, integrando i propri elementi nel DOM (Document Object Model) di quella pagina. Se l'attaccante ha la possibilità di eseguire il proprio codice JavaScript sulla pagina, ad esempio sfruttando una vulnerabilità XSS sul sito, può manipolare tutti gli elementi nel DOM, comprese le estensioni del browser inserite.

Tra l'altro, è possibile rendere trasparente il dialogo di conferma e sposare spazialmente il pulsante in questo dialogo con il pulsante del dialogo fraudolento creato dall'attaccante, che stimola l'utente a cliccare. Possono essere utilizzate richieste fasulle per i diritti di gestione dei Cookie, banner pubblicitari o moduli con captcha come dialoghi sostitutivi. Posizionando il dialogo fraudolento sotto il dialogo trasparente del gestore delle password e allineando la posizione dei pulsanti sullo schermo, è possibile fare in modo che il clic dell'utente ricada sul pulsante di conferma della compilazione dei parametri di autenticazione nel dialogo del gestore delle password, sebbene l'utente pensi di aver cliccato, ad esempio, sul pulsante di chiusura della finestra pubblicitaria.

Attacco alle estensioni del browser con gestori di password, che utilizza il clickjacking.

L'attacco si riduce ai seguenti passaggi:

  • Creazione di un elemento invadente sulla pagina che stimola il clic.
  • Aggiunta di un modulo web per l'accesso o per la compilazione di dati personali.
  • Impostazione della trasparenza per il modulo web ("opacity: 0.001" in CSS).
  • Utilizzo del metodo focus() per impostare il focus di input su un campo nel modulo, attivando il dialogo di autocompletamento del gestore delle password.
  • Ricerca del dialogo del gestore delle password apparso nel DOM e impostazione della trasparenza per esso.
  • Attesa del clic dell'utente su un elemento invadente visibile nella pagina, che, con la corretta combinazione di elementi visibili e invisibili, porterà a un clic sul pulsante in una finestra di dialogo trasparente e alla compilazione dei campi da parte del gestore delle password.
  • Estrazione dei dati da un modulo web compilato e invio degli stessi sul server dell'attaccante.

Poiché il completamento automatico dei parametri di autenticazione nel gestore delle password viene attivato solo per i siti nei quali questi parametri sono stati salvati, per organizzare l'attacco è necessario essere in grado di eseguire il proprio codice JavaScript sul sito attaccato o su un sottodominio. Pertanto, per effettuare l'attacco è necessario ottenere un sottodominio nello stesso dominio del sito attaccato o trovare una vulnerabilità XSS nel sito che consenta di iniettare il proprio codice nel contenuto visualizzato dall'utente.

Si osserva che molti utenti utilizzano un singolo gestore di password sia per memorizzare i parametri di accesso che per generare password monouso per l'autenticazione a due fattori, il che consente di utilizzare il metodo di attacco considerato durante il completamento automatico delle password monouso. Come esempio, è stata dimostrata un'attacco sul sito issuetracker.google.com, contenente una vulnerabilità XSS. Per ottenere i parametri di accesso e il codice per l'autenticazione a due fattori, è sufficiente inviare all'utente un link che sfrutta la vulnerabilità XSS e ottenere tre clic tramite la sostituzione di richieste invadenti fittizie (autorizzazione al trattamento dei cookie, autorizzazione alla personalizzazione e accettazione della politica sulla privacy).

Oltre ai siti con vulnerabilità XSS, l'attacco può essere effettuato su servizi che offrono sottodomini a chiunque lo desideri: la maggior parte dei gestori di password, nella configurazione predefinita, esegue il completamento automatico dei parametri di accesso non solo per il dominio principale, ma anche per i sottodomini.

L'attacco può essere utilizzato anche per determinare i dati personali dell'utente e i parametri delle carte di credito salvati nel gestore delle password. In tal caso, per la fuoriuscita di tali dati non è necessario eseguire codice JavaScript nel contesto di un sito web di terzi, è sufficiente attirare la vittima su una pagina del sito dell'attaccante — nel caso dei dati personali, la compilazione dei moduli web avviene in base al loro tipo (indirizzo, numero di carta di credito, nome e cognome), senza collegamenti a dominio. La fuoriuscita dei parametri delle carte di credito è la più pericolosa, poiché i gestori delle password inseriscono non solo il numero della carta, ma anche la data di scadenza e il codice di controllo.

Il ricercatore che ha identificato il problema ha testato 11 estensioni per browser con gestori di password, per un totale di 39,7 milioni di installazioni attive, e tutte sono risultate vulnerabili a questo tipo di attacchi. Alcuni produttori hanno rilasciato aggiornamenti (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), nei quali hanno cercato di bloccare l'attacco in modo indiretto. Altre estensioni (KeePassXC-Browser, 1Password, iCloud Passwords, Enpass, LastPass, LogMeOnce) rimangono ancora senza correzioni. Per verificare la manifestazione della vulnerabilità in vari gestori di password è stato pubblicato un insieme di pagine di test.

Attacco alle estensioni del browser con gestori di password, che utilizza il clickjacking.
Attacco alle estensioni del browser con gestori di password, che utilizza il clickjacking.

La posizione degli sviluppatori di 1Password, che non hanno rilasciato correzioni, è che la vulnerabilità è fondamentale e non è direttamente collegata a un'estensione del browser specifica, quindi i tentativi di eliminarla a livello di estensione bloccano solo alcuni vettori di attacco, ma non risolvono il problema in sé, che deve essere affrontato nel browser o richiedendo una conferma separata prima della compilazione automatica dei campi. Viene menzionato che in 1Password è già supportata la visualizzazione di una richiesta di conferma prima della compilazione automatica dei parametri di pagamento e nella prossima versione sarà aggiunta un'opzione per visualizzare tale richiesta per tutti i tipi di dati da compilare automaticamente (a causa della riduzione della comodità, tale opzione non sarà attivata di default).

Tra i metodi di protezione proposti dall'autore dello studio, si menziona il monitoraggio delle modifiche agli stili degli elementi inseriti nella pagina utilizzando l'API MutationObserver, il blocco delle modifiche tramite Shadow DOM in modalità «closed», il monitoraggio della trasparenza degli elementi, l'utilizzo dell'API Popover per gestire i dialoghi, il controllo della sovrapposizione dei livelli e la disabilitazione temporanea dell'elaborazione degli eventi puntatore (pointer-events:none) in tutti gli elementi flottanti durante la visualizzazione del dialogo del gestore delle password. Per un completo blocco della classe descritta si raccomanda di implementare a livello di browser un'API separata per la protezione contro il clickjacking.

Come metodo universale di protezione nei browser basati sul motore Chromium, gli utenti sono invitati ad attivare la modalità di conferma dell'accesso delle estensioni ai siti (Impostazioni estensione → «accesso al sito» → «al clic»), in cui l'estensione ottiene accesso al sito solo dopo un clic sull'icona nella parte destra della barra degli indirizzi. Come soluzione alternativa di protezione si menziona anche la disattivazione dell'autocompletamento dei moduli e la copia delle password manualmente tramite il clipboard, ma in questo caso si presenta il problema della perdita di dati dal clipboard condiviso e il rischio di non accorgersi di tentativi di phishing.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster