Threat Research

Gli autori di phishing e malware abusano di Google Forms per l’esfiltrazione di dati e credenziali

All’inizio di quest’anno, durante le nostre ricerche sull’uso da parte di malware delle comunicazioni basate su Transport Layer Security per nascondere le comunicazioni di comando e il controllo e il traffico di download, abbiamo riscontrato una quantità sproporzionata di traffico verso i servizi cloud di Google. Tra le varie destinazioni trovate nella telemetria c’erano una serie di pagine di Google Forms.

L’abuso di servizi cloud pubblici legittimi da parte di malware non è una novità. In passato abbiamo visto malware utilizzare Google Docs e Google Sheets come parte della catena di infezione e dei sistemi di comando e controllo, più o meno allo stesso modo in cui utilizzano servizi come GitHub, Pastebin, Telegram e Discord. In ogni caso, i malintenzionati si servono delle interfacce web del servizio per recuperare i file binari archiviati, entrare in possesso di dati specifici che influiscono sulle loro prestazioni, segnalare i risultati dell’esecuzione o esfiltrare i dati dai sistemi infetti. Poiché i form Google sono protetti da TLS, il contenuto dei dati inviati ai form non può essere verificato senza l’uso di un proxy Web e quindi il traffico sembra far parte di legittime comunicazioni con un’applicazione Google.

L’abuso di Google Forms si presenta in varie forme. In alcuni casi, i Forms Google vengono utilizzati in rudimentali attacchi di phishing, nel tentativo di convincere le vittime a inserire le proprie credenziali in un modulo progettato per assomigliare in qualche modo a una pagina di accesso (nonostante il testo di Google Forms su ogni modulo avverta gli utenti di non inserire le password). Spesso questi Forms sono legati a campagne di spam malevole.

Abbiamo anche scoperto una serie di applicazioni Android dannose che utilizzavano Google Forms per gli elementi dell’interfaccia utente (sebbene non per scopi dannosi). Altri esempi di applicazioni Windows dannose utilizzavano richieste web alle pagine di Google Forms per estrarre dati dai computer. A scopo dimostrativo, abbiamo riprodotto la capacità di esfiltrazione in uno script Python utilizzando richieste web predisposte per inviare i dati di sistema a un foglio di calcolo di Google tramite Forms per l’aggregazione.

Insegnare il phishing a un truffatore

Gli attacchi di web phishing più sofisticati utilizzano HTML che imita da vicino il design dei siti dei servizi che prendono di mira. Ma i truffatori meno esperti possono utilizzare, e di fatto utilizzano, i modelli di progettazione già pronti di Google Forms per tentare di rubare i dati di pagamento attraverso false pagine di e-commerce “sicure” o creare Forms di phishing credibili se non esaminati troppo da vicino.

Uno dei link di Google Form più utilizzati nello spam erano quelli di “annullamento dell’iscrizione” nelle e-mail truffa. Ma Sophos ha intercettato una serie di campagne di phishing basate sullo spam che hanno preso di mira gli account Microsoft online, incluso Office 365, con il minimo sforzo. Lo spam affermava che gli account di posta elettronica dei destinatari stavano per essere chiusi se non fossero stati immediatamente verificati e offriva un collegamento per eseguire tale verifica: un collegamento a Google Forms, che portava a un modulo realizzato con grafica Microsoft ma ancora chiaramente un modulo Google.

Questa email ha preso di mira gli utenti di Outlook.com e Hotmail:

Facendo clic sul collegamento “aggiorna ora” si accede a questo modulo Google:

Una recente campagna di spam simile prende di mira gli utenti di Office 365 con un’esca molto semplice:

La pagina di phishing dietro il collegamento è ugualmente essenziale:

In entrambi i casi, tutti i dati inseriti in questi Forms vengono archiviati in un documento di Google Sheet, pronto per l’esportazione da parte dell’operatore della campagna di phishing. Poiché i collegamenti sono docs.google.com/forms e in basso dicono ” Google Forms”, oltre all’avvertenza “Non inviare mai password tramite Google Forms”, sono facilmente distinguibili come truffe. Tuttavia, a quanto pare funzionano abbastanza frequentemente da giustificare il loro uso continuato da parte di truffatori che in questo modo rubano account di posta elettronica aziendali e personali.

Malware e app potenzialmente indesiderate

Nella nostra ricerca sono stati scoperti numerosi pacchetti di applicazioni Android potenzialmente dannosi che utilizzano Google Forms come un modo per acquisire dati senza dover codificare un sito Web di back-end. La maggior parte di queste erano app o PUA che utilizzavano componenti associati all’adware Android e utilizzavano Google Forms come parte della loro funzionalità rivolta all’utente. Ad esempio, SnapTube, un’app video che monetizza per il suo sviluppatore tramite frodi pubblicitarie sul Web, include una pagina Google Forms per il feedback degli utenti:

In questi casi viene visualizzata la pagina Google Forms. Tuttavia, abbiamo scoperto alcune PUA destinate agli utenti Windows che utilizzavano di nascosto le pagine di Google Forms, assemblando richieste web in modo automatico e inviando dati senza l’interazione dell’utente. Abbiamo anche trovato prove di script di PowerShell che interagiscono con Google Forms nella nostra telemetria.

Un esempio in cui ci siamo imbattuti direttamente utilizzando Google Forms per l’esfiltrazione dei dati era un eseguibile denominato checkbrowser.exe. Questo file è stato consegnato da un dominio che sembra aver ospitato un blog WordPress in lingua italiana compromesso (tecnopc.info). Si tratta di uno script compilato da AutoIT; una volta eseguito, il programma modifica l’elenco dei certificati attendibili di Windows, apporta modifiche relative all’API del servizio di accesso remoto e rimuove le impostazioni nel log di Windows relative al proxy Internet e ad altri criteri di sicurezza Internet.

Oltre a ciò, lo script AutoIT raccoglie anche dati di sistema, incluse le impostazioni della lingua, quelle del mouse e il nome della macchina. Questo sembra essere parte di un meccanismo di evasione delle sandbox che prevenire l’esecuzione in caso di certe impostazioni di lingua. In seguito esso esporta alcune informazioni di sistema tramite una richiesta HTTP sicura a docs.google.com che assume il formato di un invio di Forms Google.

Ho intercettato la richiesta utilizzando Fiddler e sono riuscito a ottenere l’URI per il modulo. Un po’ di riformattazione della richiesta ha fornito il look al modulo stesso:

I campi del modulo (“nome cliente”, nome computer, nome utente, versione sistema operativo, versione Internet Explorer) corrispondono al contenuto della richiesta POST inviata al modulo:

I numeri di ogni voce nella richiesta GET corrispondono ai numeri associati ai contenitori per ogni campo nel modulo remoto, come parte di un array contenente i parametri per l’oggetto del modulo. Ad esempio, il tag <div> che circonda la voce per “nome cliente” è:

Il primo elemento dell’array è l’ID, 1633051194, che corrisponde al parametro nella richiesta GET. Nei casi che abbiamo osservato e nei nostri test, il valore di questo campo è sempre stato “Sconosciuto”.

Una strategia simile in un altro malware che ho trovato utilizzando un modulo Google in lingua russa per l’esfiltrazione utilizzava un comando curl per eseguire il post, pubblicando scheda video, risoluzione dello schermo e dati del processore.

Esegui tu stesso una esfiltrazione di Google Forms

Per aiutare a capire come dare la caccia a questo tipo di violazione di Google Forms, ho deciso di abusarne per conto mio. Tutto ciò che serve è un account Google “da bruciare”, un modulo appositamente creato e un codice per acquisire i dati del sistema locale e incollarli in una richiesta POST HTML.

Ho creato un modulo con il mio account Google, quindi l’ho aperto con gli strumenti per sviluppatori di Firefox per ricavare i numeri di identificazione della voce del modulo.

Per ottenere il formato di invio del modulo effettivo, ho inserito alcuni dati di test e li ho visualizzati dalla console di Firefox:

Gli unici dati del modulo necessari sono quelli denominati “entry.[number]”: non è necessario includere gli altri nella richiesta POST.

Dopo aver identificato gli ID delle voci del modulo corretti, ho scritto un rapido script Python per racimolare alcune informazioni di sistema di Windows e scaricarle nel modulo. Usando la libreria dei sottoprocessi di Python, ho passato alcuni comandi PowerShell al sistema operativo:

Il comando print restituisce il risultato HTML del POST.

I dati passati al modulo possono essere visualizzati nel foglio di calcolo associato:

Con poche righe di script, ho avuto uno strumento di esfiltrazione funzionale (molto approssimativo). Questo potrebbe essere facilmente eseguito completamente in PowerShell o in qualsiasi altro linguaggio di scripting.

Facilità di uso improprio 

Mentre la stragrande maggioranza degli abusi di Google Forms rimane nell’ambito del phishing e dello spam fraudolento, il potenziale per il suo utilizzo nell’esfiltrazione dei dati e per il comando e controllo del malware rimane elevato, se non altro perché è davvero facile da implementare. Sebbene Google chiuda spesso gli account associati all’abuso di applicazioni ad alto volume, inclusi i Forms, l’uso mirato di form da parte di malware potrebbe non essere rilevato.

Abbiamo assistito a un crescente abuso di Google e di altri servizi cloud legittimi da parte di autori di malware ed è facile capire perché: sono ampiamente considerati affidabili dalle organizzazioni, sono protetti con TLS e sono essenzialmente un’infrastruttura gratuita.

I prodotti Sophos difendono dalla maggior parte dello spam dannoso che trasporta campagne di phishing basate su Forms e rilevano i comportamenti di raccolta ed esfiltrazione delle informazioni di sistema all’interno della tecnica utilizzata nel malware e nell’esempio qui discusso. Ma gli utenti di posta elettronica dovrebbero continuare a vigilare sui tentativi di utilizzare i collegamenti a Google Forms (o altri servizi legittimi) per ottenere le credenziali. E le organizzazioni non dovrebbero fidarsi ciecamente del traffico TLS per domini “riconosciuti come buoni” come docs.google.com.

 

SophosLabs ringrazia Jagadeesh Chandaraiah per il suo contributo a questo report.