Abbiamo individuato una vasta campagna di ingegneria sociale volta a indirizzare gli utenti verso siti di gioco d'azzardo online facendogli credere di stare installando un'app legittima.
L'abbiamo chiamato FriendlyDealer. È stato rilevato su almeno 1.500 domini, ciascuno dei quali ospita un sito web che si spaccia per Google Play o l'App Store di Apple. Gli utenti credono di scaricare un'app di gioco d'azzardo da una fonte affidabile, con tutte le verifiche, le recensioni e le misure di sicurezza che ciò comporta. In realtà, però, si trovano ancora su un sito web e stanno installando un'applicazione web che li reindirizza poi a offerte di casinò tramite link di affiliazione.
La campagna non ruba password né installa malware tradizionale. Guadagna invece grazie alle commissioni che riceve ogni volta che qualcuno si registra o effettua un deposito su uno di questi siti.
Potrebbe sembrare una minaccia meno grave di un trojan bancario, ma il risultato finale è che le persone vengono indirizzate verso siti di gioco d'azzardo non regolamentati, privi di verifica dell'età, di limiti di deposito e di tutele per i consumatori. E ciò avviene in un momento in cui la dipendenza dal gioco d'azzardo viene definita come la più rapida espansione del settore che il Paese abbia mai visto.
Un unico kit, decine di app, progettato per riprodurre i veri e propri app store
FriendlyDealer è concepito come un unico kit riutilizzabile in grado di generare numerose schede di app fittizie.
Il kit rileva il dispositivo che stai utilizzando e ti mostra di conseguenza un negozio falso diverso. Android vedono un Google Play Store falso. Gli utenti iPhone vedono un Apple App Store falso. Il kit carica persino i font di sistema corretti per ciascuna piattaforma (Google Sans su Android, San Francisco su iOS), in modo che la tipografia corrisponda a quella che ti aspetteresti sul tuo telefono.
In sostanza, si tratta di un'unica applicazione web che legge tutti i suoi contenuti da un unico file di configurazione incorporato nella pagina. Modificando quel file, si ottiene un'applicazione completamente diversa che funziona sullo stesso codice.
Gli operatori hanno sfruttato questa strategia per lanciare almeno venti marchi di casinò, da“Tower Rush”(189 siti) a“Chicken Road”(97) fino a“BEAST GAMES: ICE FISHING”(43), che si spaccia per YouTube MrBeast. (Vale la pena notare che alcune skin riutilizzano i nomi di marchi di gioco d’azzardo legittimi, ma nessuno di questi è affiliato all’operazione.)
Le recensioni sono false. Diverse app riutilizzano nomi utente, foto del profilo, testi e risposte degli sviluppatori identici, che vengono ripetuti su più marchi. Prima di mostrare il negozio falso, il kit può anche visualizzare un semplice minigioco da casinò per stimolare il coinvolgimento.
Il falso pulsante «Installa» su Android una Chrome che funziona solo sui dispositivi mobili. Essa intercetta la richiesta di installazione Chromee la attiva quando viene toccata, facendo apparire una finestra di dialogo di installazione autentica. Il consueto avviso relativo all'installazione di app da fonti sconosciute non viene visualizzato. Ricerche precedenti hanno dimostrato che le app installate in questo modo possono persino mostrare la dicitura «Installata da Google Play Store» nelle impostazioni del telefono.
Il codice fa di tutto per indirizzarti verso il browser giusto. Se arrivi tramite un Instagram Facebook Instagram , ti trovi nel browser integrato in quelle app, che non può avviare l'installazione. Su Android, il kit genera un link speciale che forza la riapertura della pagina in Chrome. Su iOS, fa la stessa cosa ma per Safari. Se Chrome installato, il sistema di ripiego ti reindirizza al vero Play Store per download . Esiste persino un gestore separato per il browser Samsung. L'ingegneria specifica per i browser è insolitamente dettagliata.
La pagina disabilita lo zoom, rendendo più difficile un'analisi approfondita. Il kit assegna un ID di tracciamento per utente e lo riutilizza nei flussi di analisi, eventi, registrazione alle notifiche push e instradamento delle offerte.
Il kit è predisposto per la pubblicità a pagamento. La configurazione include spazi vuoti per i pixel di tracciamento di quattro piattaforme pubblicitarie: Google, Yandex, Facebook e TikTok. L'app e lo script in background possono inoltrare gli identificatori pubblicitari Facebook(_fbc / _fbp) quando tali valori sono disponibili. Il codice fa riferimento ai campi di telemetria di Yandex e viene fornito con commenti e stringhe di debug in lingua russa, il che è coerente con un contesto di sviluppo di lingua russa, sebbene tali elementi potrebbero anche essere stati ereditati da un kit riutilizzato o acquistato.
Il procedimento è semplice: si acquista traffico pubblicitario, si rileva il dispositivo, si mostra un app store falso, si avvia un'installazione dall'aspetto autentico e si reindirizza a un casinò tramite un link di affiliazione.
Non stai installando un'app
Quando un utente tocca "Installa", la pagina non download effettivamente download . Il browser crea invece quella che viene chiamata Progressive Web App (PWA). Si tratta essenzialmente di un sito web che si comporta come un'app, con una propria icona sulla schermata iniziale e una propria schermata di avvio. Per la maggior parte delle persone è indistinguibile da una vera e propria app.
Una volta installata, l'app può continuare a funzionare in background utilizzando le funzionalità del browser denominate "service worker" (mantenendo una connessione permanente con il dispositivo). Gli esempi includono il worker PWA principale e il codice per registrare un worker push separato (per l'invio di notifiche) quando questa funzione è abilitata.
Il kit riconosce anche se l'hai già installato. Verifica la presenza della propria PWA sul tuo dispositivo e, se la trova, salta completamente il negozio falso e ti reindirizza direttamente al casinò.
Un unico dominio tiene insieme tutto
Ogni installazione di FriendlyDealer si connette allo stesso dominio: ihavefriendseverywhere[.]xyz. Si tratta del server di raccolta dati della campagna, e il nome che ha ispirato il nome in codice dell'operazione.
Lo script in background e il codice dell'app inviano dati di telemetria a questo dominio, tra cui la lingua del browser, il fuso orario, i dati dell'user-agent, eventuali suggerimenti opzionali dell'user-agent relativi al client, gli identificatori delle campagne e gli identificatori degli annunci, quando tali valori sono disponibili. Gran parte di questi dati viene inviata tramite intestazioni di richiesta personalizzate.
Alcune richieste utilizzano il metodo HEAD per garantire una maggiore leggerezza.
Il codice dell'applicazione invia inoltre qualcosa che lo script in background non invia: i rapporti sugli errori JavaScript. Ogni arresto anomalo, ogni caricamento di risorse non riuscito, ogni eccezione non gestita che si verifica sul dispositivo dell'utente viene intercettata, inserita in un oggetto di errore strutturato con data e ora e contesto, e inviata a ihavefriendseverywhere[.]xyz/api/log_standard_err. In pratica, gli operatori stanno raccogliendo sia i dati degli utenti sia i dati di telemetria relativi agli errori di produzione provenienti da dispositivi reali.
Se una richiesta non va a buon fine (ad esempio a causa di un segnale debole), lo script in background la salva in locale e riprova in un secondo momento. Una volta ripristinata la connessione, i dati vengono inviati automaticamente.
L'app fasulla richiede anche l'autorizzazione alle notifiche. Se l'utente la concede, il kit può registrare un abbonamento alle notifiche push e creare un canale diretto per le notifiche future. Queste appaiono come normali notifiche dell'app, fornendo agli operatori un canale diretto con l'utente anche dopo la chiusura dell'app.
Segui i soldi: le commissioni di affiliazione, non il malware
FriendlyDealer non diffonde virus né prende il controllo dei dispositivi. L'intera attività si basa sullecommissioni di affiliazione. Ogni pagina falsa dell'app store contiene un reindirizzamento nascosto verso una rete di tracciamento di affiliazione. Quando un utente si registra o effettua un deposito, l'operatore riceve un compenso.
Nel codice abbiamo individuato diverse reti di tracciamento di affiliazione. Un ID univoco per utente è presente in tutte le logiche di analisi, gestione degli eventi, notifiche push e instradamento delle offerte del kit, consentendo di correlare le attività nelle diverse fasi del funnel.
Questo modello spiega l'enorme portata della campagna. Ogni dominio è usa e getta. Il kit è un modello: basta modificare un file di configurazione per ottenere in pochi minuti un nuovo marchio di casinò su un nuovo dominio. Considerando che, secondo quanto riferito, i compensi per gli affiliati nel settore del gioco d'azzardo variano da 50 a 400 dollari per ogni utente che effettua un deposito, anche un tasso di conversione modesto su un migliaio di domini porta rapidamente a cifre considerevoli.
Chi c'è dietro tutto questo?
Non possiamo attribuire la campagna a un gruppo specifico, ma ci sono degli indizi. Il codice sorgente contiene commenti in lingua russa (ad esempio,“Создаем таймер для измерения времени загрузки Vue“). Una delle build è stata distribuita con stringhe di debug in russo non rimosse, che sono state eliminate dalla versione di produzione. Il codice si integra con Yandex Metrica, molto diffuso in Russia e nei paesi dell'ex Unione Sovietica.
Questi elementi indicano un contesto di sviluppo in lingua russa, anche se il codice potrebbe essere stato riutilizzato o acquistato.
Il codice contiene anche tag di marketing di affiliazione — preland-alias e preland-final-action — dove un “pre-lander” è la pagina che il visitatore vede prima dell’offerta vera e propria. Il codice dell'applicazione mostra che questo tag controlla il comportamento del kit: un valore pari a 0 attiva l'installazione di una PWA, mentre 1 reindirizza a un app store. In combinazione con gli slot per pixel pubblicitari plug-and-play, la configurazione per ogni distribuzione e la logica di staging/produzione, ciò suggerisce fortemente l'esistenza di un kit riutilizzabile creato per più campagne o operatori, non un progetto una tantum.
Abbiamo trovato diverse versioni dello stesso kit. Nella versione definitiva i messaggi di debug sono stati rimossi, ma altre versioni includono messaggi di errore completi in lingua russa e il supporto per i numeri arabi in tutta l'interfaccia:download , valutazioni, date delle recensioni e altro ancora. Non sembra trattarsi di un kit creato per un unico mercato; sembra piuttosto progettato per supportare varianti regionali già in fase di sviluppo.
Un trucco già noto, ma con un risultato diverso
Le pagine false degli app store sono una tecnica ben nota, spesso utilizzata per rubare credenziali bancarie o diffondere spyware. FriendlyDealer segue lo stesso schema: uno store falso ma convincente e una procedura di installazione dall’aspetto autentico, ma con un obiettivo diverso. Non prende il controllo del tuo telefono né ruba le tue password. Ti indirizza verso piattaforme di gioco d’azzardo e guadagna una commissione quando spendi denaro.
Il danno è di natura finanziaria piuttosto che tecnica: le vittime vengono indirizzate verso offerte di gioco d'azzardo attraverso procedure di installazione e reindirizzamento ingannevoli e potrebbero finire per depositare denaro su siti che non hanno scelto intenzionalmente.
Questo ci ricorda anche che non tutte le truffe mirano alle tue password. Le frodi nel settore dell’affiliazione, specialmente nel gioco d’azzardo online, possono finanziare operazioni su vasta scala senza mai entrare in possesso di una sola credenziale. I responsabili di tutto questo hanno creato una vera e propria fabbrica: un unico modello, venti marchi, oltre 1.500 domini. Gli annunci a pagamento generano il traffico. I falsi app store completano l’opera. La rete di affiliazione paga le spese.
Ciò che rende questo metodo efficace è che sfrutta elementi che dovrebbero essere considerati affidabili. La procedura di installazione delle app Chromesu Android la funzione «Aggiungi alla schermata Home» di Safari su iPhone sono entrambe funzionalità legittime, che svolgono esattamente il compito per cui sono state progettate. Il problema è che la pagina che innesca l’installazione è ingannevole. Il kit è stato progettato con cura in modo che solo gli utenti giusti, sui dispositivi giusti e provenienti dagli annunci giusti, possano mai vederlo.
Cosa fare se hai installato una di queste app
Su Android:
- Rimuovi l'app: tieni premuta l'icona e tocca Disinstalla, oppure vai su Impostazioni > App e rimuovi tutte quelle che non riconosci.
- Cancella i dati dei siti in Chrome: l'app potrebbe aver lasciato dei dati nel tuo browser. Apri Chrome Impostazioni > Impostazioni siti > Tutti i siti, individua il sito e tocca Cancella e ripristina.
- Controlla le autorizzazioni relative alle notifiche: vai su Chrome Impostazioni > Notifiche e rimuovi tutti i siti che non riconosci. La disinstallazione dell'app non revoca l'accesso alle notifiche.
- Prova con altri browser: se utilizzi Edge, Brave o un altro browser basato su Chromium, ripeti gli stessi passaggi.
Su iPhone:
- Rimuovi l'app: tieni premuta a lungo l'icona dell'app sulla schermata iniziale e tocca "Rimuovi app". Su iOS, le PWA non installano uno script in background come invece avviene su Android, quindi rimuovendo l'icona si eliminano anche i dati del sito memorizzati nella cache.
- Cancella i dati del sito in Safari: vai su Impostazioni > Safari > Advanced > Dati dei siti web, quindi cerca il dominio. Scorri per eliminarlo. In questo modo verranno cancellati tutti i cookie e i dati memorizzati rimanenti.
- Controlla le autorizzazioni relative alle notifiche: vai su Impostazioni > App > Safari. Scorri fino alla sezione "Impostazioni per i siti web " e tocca "Notifiche". Trova il sito e rimuovi o nega l'accesso.
Se hai effettuato un versamento dopo essere stato reindirizzato a una di queste pagine e ritieni di essere stato vittima di una truffa, contatta immediatamente la tua banca o il tuo fornitore di servizi di pagamento.
Indicatori di compromissione (IOC)
Domini
ihavefriendseverywhere[.]xyz—Server per l'esfiltrazione dei dati e la registrazione degli errorivalor[.]bet—URL del gate/checkpoint (percorso /__pwa_gate)wikis[.]lifestyle—Riferimento al dominio hardcoded nel codice dell'applicazione
Non ci limitiamo a fornire informazioni sulla sicurezza del telefono, ma le forniamo.
I rischi per la sicurezza informatica non dovrebbero mai diffondersi al di là di un titolo di giornale. Tenete le minacce lontane dai vostri dispositivi mobili scaricando oggi stesso Malwarebytes per iOS e Malwarebytes per Android.














