Un ricercatore di sicurezza noto come mr.d0x ha descritto una nuova tecnica di attacco ribattezzata Browser-in-the-Browser (BitB). Si tratterebbe di un modo per carpire le credenziali di accesso sfruttando le opzioni SSO (Single Sign-On) di terze parti incorporate in numerosi siti web quali Google, Microsoft, Apple, Facebook e altri fornitori di servizi per l’autenticazione.
In parole semplici, si tratta di una nuova tipologia di phishing che può essere sfruttata per simulare una finestra del browser all’interno del browser stesso e spoofare un dominio legittimo, in modo da rendere quasi del tutto invisibile la trappola.
Indice degli argomenti
Lo sfruttamento dei servizi Single Sign-On
In servizi come “Accedi con Google” (ma la stessa cosa avviene anche con gli altri provider di servizi di accesso) la visualizzazione di un URL di Google nella barra di navigazione della finestra popup offre una certa rassicurazione sul fatto che il servizio di accesso provenga effettivamente da un’azienda affidabile e nota.
In particolare, il ricercatore ha utilizzato Canva come esempio. Nella figura sottostante si può vedere come nella finestra di accesso a Canva il popup chieda agli utenti di autenticarsi tramite il proprio account Google.
Sebbene la barra degli indirizzi sia disabilitata nella finestra SSO, è sempre possibile comunque leggere l’URL visualizzato per verificare che per accedere al sito venga utilizzato effettivamente un dominio google.com legittimo. Questa verifica, giustamente, aumenta ulteriormente la fiducia nell’inserire le proprie credenziali di accesso.
Tuttavia, il ricercatore avrebbe dimostrato come l’attacco Browser-in-the-Browser consentirebbe di creare finestre popup SSO false ma molto simili agli originali per il login all’account in oggetto.
L’attacco BitB mirerebbe, dunque, a replicare l’intero processo utilizzando un codice ibrido tra HTML/CSS, JavaScript e librerie JQuery per creare una finestra all’interno della finestra del browser che sembrerebbe ricostruita fedelmente all’originale.
L’immagine seguente mostra il confronto tra una schermata finta e quella reale.
Codice JavaScript come strumento d’inganno
Javascript è uno dei linguaggi di programmazione usati per creare contenuti web. Le pagine web in formato HTML possono essere così rese dinamiche anche grazie all’uso di codice Javascript innestato attraverso i tag dedicati (<script>…</script>).
Il motivo che rende appetibile ai criminali questo linguaggio è che la sua computazione avviene in locale, direttamente sul client e che è supportato da tutti i browser senza l’utilizzo di alcun plugin aggiuntivo.
Per tale motivo, l’esperto infosec rimarca come JavaScript possa essere facilmente utilizzato per creare link o pulsanti per caricare una pagina piuttosto che un’altra sfruttando un comportamento legittimo (visivamente non rilevabile) del tag HTML (<a>…</a>) dedicato ai collegamenti.
Ciò potrebbe trarre in inganno coloro che usano il trucco di passare il mouse sopra un URL per capire se sia legittimo o meno.
Aggiungendo un evento onclick tramite una funzione JavaScript che restituisce come risultato “false”, si potrebbe fare in modo che mentre il passaggio del mouse sopra il collegamento continuerà a mostrare il sito web presente nell’attributo “href”. Il click eseguirà, invece, l’evento onclick indicato che potrebbe, ad esempio tramite una funzione apposita, aprire qualcos’altro (un falso popup).
Il codice JavaScript seguente dimostra purtroppo come anche passare il puntatore del mouse su un URL per determinare se è legittimo può non essere molto efficace nel garantire l’autenticità di un link.
Consigli di mitigazione
Fondamentalmente, questo attacco che crea finestre browser false all’interno di finestre reali (browser nel browser) per creare attacchi di phishing molto convincenti è una minaccia assolutamente da non sottovalutare soprattutto perché potrebbe far credere che un URL contenga la designazione della crittografia “https” come sito affidabile e vanificare il controllo di sicurezza del passaggio del puntatore del mouse per la verifica.
Non a caso mr.d0x ha concluso il suo post con questa affermazione:
“Con questa tecnica siamo ora in grado di migliorare il nostro gioco di phishing”
Fortunatamente, esistono alcuni accorgimenti che possono sempre venire in aiuto anche in questo caso.
Sebbene questo approccio di attacco possa facilmente ingannare le persone, lo stesso non si può dire per i password manager. Risulta infatti molto improbabile che una utility per la gestione delle password possa compilare automaticamente con le credenziali registrate i campi di login in finestre del genere, e tale evento potrebbe allertare qualsiasi utente.
Pertanto, per mitigare i rischi legati a queste tipologie di attacchi, è consigliabile:
- prestare la massima attenzione quando durante la navigazione compaiono finestre che chiedono credenziali;
- utilizzare un password manager: il riempimento automatico piuttosto che la digitazione manuale delle proprie credenziali può rivelarsi un’ottima protezione anti-phishing;
- prevedere, opzionalmente, anche un adblocker per il controllo online dell’esecuzione di banner, script e popup;
- impostare quando possibile l’autenticazione MFA.
Lo sviluppatore mr.d0x ha rilasciato sulla piattaforma GitHub a solo scopo didattico il suo kit “BitB Attack” che consente di creare moduli di accesso di phishing Single Sign-On molto efficaci su browser Chrome per Windows e Mac OSX.