Il tuo saldo $ 3000

Un'analisi tecnica della truffa di Facebook 4k

tl; dr: Non fidarti degli accessi webview su app native, possono leggere i tuoi cookie e usarli a loro vantaggio.
Seguendo il thread Hacker News "Come ho perso 4k€ in una truffa su Facebook", abbiamo eseguito il reverse engineering dell'app per vedere come ciò accade.

La nuova ondata di phishing

Phishing. Lo sappiamo tutti, lo odiamo tutti. Anche Niek van der Maas lo odia, ma è caduto vittima di un nuovo tipo di truffa di phishing, che ha prelevato 4mila euro dal suo conto in banca.

Come è successo? In che modo Niek, un utente esperto di tecnologia che possiede un'attività di e-commerce, è caduto in questo tipo di attacco?

Flusso di accesso e problema di attendibilità dell'utente

I moduli di accesso sono ovunque in questi giorni. Instagram, TikTok e persino il tuo giornale locale, è quasi sempre necessaria l'autenticazione dell'utente per utilizzare qualsiasi app.

Una delle opzioni di accesso coinvolge un provider esterno, vale a dire Google, Facebook, Twitter o altri. Nel caso di Facebook, ad esempio, Android SDK presenta all'utente un overlay nativo e chiede all'utente di accedere a Facebook utilizzando il proprio nome utente e password.

Ciò rende l'utente affidabile nell'app e crea all'interno dell'utente la sicurezza che l'accesso al proprio account social tramite nome utente e password sia sicuro.

Ma non è sempre così.

Il caso delle truffe Webview

Cosa succede quando coinvolgi Webviews nel processo di accesso?

Le visualizzazioni Web sono intrinsecamente insicure per progettazione. Qualsiasi app Android che utilizza una visualizzazione Web ha pieno accesso a tutti i dati memorizzati dal sito Web: archiviazione della sessione, archiviazione locale e, soprattutto, cookie.

Ad esempio, un'app che presenta una pagina di accesso a Facebook, può rubare i cookie dell'utente dopo l'accesso al sito web.

Ecco gli screenshot di due pagine di accesso. Uno è di una visualizzazione Web non sicura e l'altro è una pagina di accesso nativa sicura. Puoi dire la differenza?

pagina di accesso nativa sicura
accesso Webview non sicuro

(L'accesso Instagram è la pagina di accesso nativa protetta)

Perdere € 4k in una truffa su Facebook

Niek si è innamorato della truffa di Webview. Niek non è un utente tipico; Gestisce un e-commerce, marketing online e consulenza. Nelle sue stesse parole:

Faccio ancora fatica a credere di essermi innamorato di una truffa come questa. Ho 2FA su tutti i miei account, utilizzo un gestore di password e sono generalmente molto cauto con la sicurezza dell'account.

Niek si è fidato dell'accesso all'app dannosa utilizzando il nome utente e la password di Facebook. Ma non sapeva che l'app che aveva scaricato era dannosa e usava WebView per rubare i suoi cookie di Facebook, accedere al suo account e rubargli 4k di euro.

Diamo un'occhiata dietro le quinte di Tiktok Ads Business, l'app dannosa che ha scaricato.

Recupero dei cookie da una visualizzazione Web su Android

Il flusso è semplice. Niek apre l'app, fa clic sul grande pulsante FB e viene presentata una visualizzazione Web con la pagina mobile di Facebook.

Dopo aver effettuato l'accesso, l'app esegue questa semplicissima riga di codice, presa da una decompilazione dell'app che abbiamo fatto qui a Sayfer:

public final string retrieveWebCookie() {
    return cookieManager.getCookie(LoginActivity.CONST_URL_FACEBOOK);
}

I cookie di Facebook vengono quindi inviati al server remoto dell'app dannosa e possono essere utilizzati per accedere all'account della vittima.

Semplice. Davvero troppo semplice: qualsiasi utente che accede a qualsiasi sito Web tramite una visualizzazione Web su un'app rischia di cedere la piena proprietà del proprio account.

Qual è il prossimo passo?

È necessario un cambiamento su due diversi livelli.

In primo luogo, gli accessi al flusso nativo non devono fare affidamento su visualizzazioni di tipo Web per il flusso di accesso. Ciò fa sì che gli utenti si fidino troppo di loro e fa sì che gli utenti cadano vittime di truffe di dirottamento di veri e propri cookie di visualizzazione web.

In secondo luogo, è necessaria una modifica tecnica nell'implementazione della visualizzazione Web di Android. Le app non dovrebbero essere autorizzate ad accedere ai cookie di qualsiasi sito web che caricano. Le visualizzazioni Web dovrebbero essere in modalità sandbox e l'app dovrebbe comunicare con essa tramite un'API molto sottile e limitata, per impedire loro di dirottare le credenziali dell'utente.

Salta al contenuto