Contesto
Nell’ambito delle attività di Cyber Threat Intelligence, Almaviva ha ricostruito l’architettura di un attacco di Autogenerating Phishing, ovvero un attacco avanzato di phishing che prevede che le pagine malevole siano generate a runtime rendendo difficoltosa la ricostruzione dell’infrastruttura e scalabile la diffusione dell’attacco.
Con questa tecnica l’attore malevolo, da noi denominato Peacchi, è riuscito a diffondere numerose campagne di Brandjacking sfruttando i marchi più noti al momento (Tesla, Samsung, Adidas, etc.).
Le sue campagne vengono diffuse tramite la condivisione di link malevoli sull’applicazione WhatsApp, sfruttando la vulnerabilità da noi classificata con codice identificativo JCV-2022.04.08.01
, e propagate dagli utenti vittima, inconsapevoli, quando inoltrano ai propri contatti la risorsa malevola ricevuta, avviando di fatto la Brandjacking Propagation.
Peacchi utilizza il traffico generato per ottenere la monetizzazione dei click degli utenti sfruttando società di advertising che dispongono di piattaforme proprietarie per generare banner pubblicitari ready-to-use.
Rapporto Tecnico
Anteprima fake link per WhatsApp
La prima fase dell’attacco di Autogenerating Phishing avviene tramite una pagina web che permette di creare un’anteprima del link su WhatsApp con l’immagine e il testo atto ad ingannare la vittima sfruttando il protocollo Open Graph con i meta tag necessari per la personalizzazione della miniatura, eseguendo lo spoofing della URL:
Al click dell’utente vittima vengono eseguiti 3 passaggi che reindirizzano l’utente su una diversa pagina da quella realmente attesa:
- Esecuzione dello script setTimeout che al termine dei 200 ms di attesa esegue la funzione loadScript
- LoadScript carica ed esegue lo script /j/og2.js?_t=(new Date).getTime()
- Og2.js?_t=TIMESTAMP esegue una chiamata Ajax con metodo POST all’endpoint /j/og2.php
Generazione dinamica e redirect a pagina concorso
La chiamata POST in analisi è stata generata dal caricamento del file javascript /j/og2.js che invierà i seguenti dati a /j/og2.php:
Parametro | Valore | Descrizione |
---|---|---|
_t | 1652353847395 | Valore timestamp Date.now() |
project | Valore recuperato dall’URL window.location.pathname.split(‘ / ‘)[1] |
|
Target | og | Valore statico |
og | 09110818833664638 | Valore randomico Math.random()).replace(‘ . ‘, ”) |
Di seguito la rtisposta del server che gestisce la richiesta:
I valori della response sono:
Parametro | Valore | Descrizione |
---|---|---|
Code | 200 | Risultato della chiamata (SUCCESS) |
Id | emphasisminiature.top/qyRBDWih | Nuovo dominio per caricare la risorsa malevola |
project | Medesimo valore della request | |
og | True | Booleano per la convalida del valore og |
Questi ultimi risultati sono fondamentali per il completo reindirizzamento utente verso la risorsa malevola, creata a runtime con il seguente codice:
Alla response è success (quindi “code”:200) verrà creata una variabile data contenente i dati della response, e una variabile url vuota che servirà per costruire la risorsa malevola.
Un ulteriore controllo genererà due diversi comportamenti:
-
"og": true
Alla variabile url si assegna una stringa creata dinamicamente concatenando stringhe statiche agli oggetti della variabile data, di seguito l’esempio in analisi:- data.ld = emphasisminiature.top\/qyRBDWih
-
data.project =
-
Date.now() = TIMESTAMP
https:// emphasisminiature.top/qyRBDWih /<Brand project>/?_t=TIMESTAMP
Se l’oggetto data.ld ha come valore “cdn77”,“amazon-wa”,“juiceremove.top” allora all’url si assegna la medesima stringa con protocollo http invece di https.
-
"og": false
Alla variabile url si assegna il varole data.project
Si evidenzia la presenza di codice di debug all’interno del javascript utilizzato per l’attacco (console.log(url)):
Infine, viene fatto il redirect sulla risorsa malevola creata (location.href = url()).
Pagina fake concorso a premi
La pagina del finto concorso a premi utilizza la libreria Confetti, già rilevata dal team durante le analisi di una precedente campagna di phishing, che permette in una pagina web con un sistema di particelle ad alte prestazioni di animare un qualsiasi insieme di oggetti, con la possibilità di specificare le condizioni di partenza e le condizioni fisiche (ad esempio l’accelerazione X e Y, confini, ecc.).
La pagina web è generata in modo tale che questa possa essere visualizzata una sola volta.
L’URL, infatti, se visualizzato su un altro browser o ricaricato mostrerà l’errore “The page does not exist”:
La pagina, inoltre, sembra essere stata creata staticamente il 14 maggio 2021:
Quest’ultima, però, viene aggiornata al momento del caricamento tramite JQuery al fine di ingannare la vittima convincendola che sia una iniziativa del giorno:
Statisctiche con Google Tag Manager e Baidu
Al fine di monitorare e rendere dinamica la risorsa malevola appena creata, l’avversario sfrutta il sistema di gestione dei Tag di Google, Google TagManager.
Viene utilizzato al fine di monitorare ulteriormente il traffico del sito web anche Baidu Statistics.
Compilazione questionario
Terminato il flusso di navigazione per la creazione della risorsa malevola, richiede l’interazione dell’utente vittima per la compilazione di un questionario finalizzato alla possibilità di vincita di un premio di 1000 euro:
Il questionario non invia i risultati delle risposte al server ospitante ma la completa interazione utente è gestita staticamente tramite codice jquery senza nessun salvataggio delle risposte:
A conferma, infatti, l’analisi del codice rivela che al click utente viene eseguita una funzione che fa scomparire la domanda a cui si ha risposto (fadeOut) e mostra la domanda successiva (fadeIn):
Riferimento JQuery | Domanda |
---|---|
#q1 | Conosci |
#q2 | Quanti anni hai? |
#q3 | Come pensi di |
#q4 | Sei maschio o femmina? |
Rispondendo alla quarta ed ultima domanda, la funzione invocata dal click utente eseguirà il FadeOut del content1 (domande del questionario) e FadeIn del content2 che con tempi diversi (setTimeout) caricherà diversi messaggi a video:
Riferimento JQuery | Risultato a video |
---|---|
#result1 | Hai risposto a tutte e 4 le domande |
#result2 | Il tuo indirizzo IP è valido per questa promozione |
#result3 | I regali sono disponibili e in stock! |
Al termine di questo finto controllo, verrà eseguito il FadeIn del content3 che mostrerà il gioco che permetterà all’utente di vincere premi in denaro.
Gioco a premi
Anche questo gioco è gestito da codice jquery e permette di vincere sempre al secondo tentativo, ovvero quando la variabile count, che aumenta di 1 al primo click sbagliato, è uguale alla variabile windraw:
Inoltro WhatsApp
Terminato il finto concorso a premi, per poter aggiudicarsi definitivamente il montepremi bisogna seguire le regole che ci vengono proposte, e quindi inoltrare la risorsa malevola via WhatsApp a 20 amici o 5 gruppi finché la barra blu non sarà piena:
La condivisione di link malevoli sull’applicazione WhatsApp sfrutta la vulnerabilità da noi classificata con codice identificativo JCV-2022.04.08.01
, e propagate dagli utenti vittima, inconsapevoli, quando inoltrano ai propri contatti la risorsa malevola ricevuta, avviando di fatto la Brandjacking Propagation.
Banner Advertica
Terminato l’inoltro dei messaggi, sarà mostrato a video l’ultimo passaggio da dover eseguire:
La pagina è stata sviluppata in modo tale che il bottone “Completa la registrazione” sia, in verità, il banner della società di advertising Advertica utilizzato per poter monetizzare.
La società, infatti, permette di inserire annunci pubblicitari su diversi siti web reindirizzando la sessione utente su ulteriori società adibite a servizi di marketing digitale e di vendita di prodotti al dettaglio.
Ogni reindirizzamento genera un guadagno da parte di chi ha pubblicato nel proprio sito il banner pubblicitario.
Disattivazione minaccia
Il team Cyber Threat Intelligence di Almaviva, grazie alla piattaforma proprietaria Joshua, ricerca costantemente i domini che veicolano l’attacco, rilevandone tuttora oltre 250.
Tramite il nostro servizio di Takedown sono state disinnescate la maggior parte delle minacce attive, disattivandone la totalità finora rilevata.
È possibile inoltrare al Team di Intelligence Almaviva le vostre segnalazioni di attacchi di phishing alla mail info@cyberiskvision.com
.
La nostra operatività fa sì che i link malevoli, anche quelli che potrebbero essere ancora salvati sia nella memoria dello smartphone che all’interno di backup degli utenti coinvolti, non sono più funzionanti e pertanto riutilizzabili per alimentare la brandjacking propagation.
MITRE ATT&CK
Di seguito si riporta la matrice dell’attacco secondo lo standard MITRE ATT&CK: