L'app legittima
Impronta SHA-256 e12d8173…8165c, 9,2 MB, firmata dall'editore
reale (O=Chauffeur-privé, L=Paris), circa 19 permessi, nome e icona
normali. Pulita.
Analisi tecnica · banking trojan
Ci è stato sottoposto come sospetto spyware un file che porta il nome di una vera applicazione per autisti VTC. Non è quella applicazione. È un repackage trojanizzato che ne ruba nome e identificativo per travestirsi: firma falsa, si mostra come «System» con l'icona nascosta, 65 permessi e un servizio di accessibilità camuffato da componente di sistema — il corredo completo di un banking trojan con presa di controllo del dispositivo.
Riccardo Bacci — Mythos Sentinel, Terni · 5 settembre 2026
Prima di tutto, per chi cerca
Va detto subito, perché è la domanda che si fa chi legge: di questo campione non c'è traccia sullo store. Non è distribuito da Google Play e non lo si incontra cercando lì. È arrivato come file, per installazione manuale — la via classica di questa famiglia.
Sullo store esistono però applicazioni somiglianti e legittime, ed è proprio questo il punto delicato: cercando il nome si trovano app reali, pulite, di editori veri, che possono far credere di avere a che fare con la stessa cosa. Non lo sono. Abbiamo analizzato le app reali con quel nome, prese dalle fonti ufficiali, e sono risultate pulite: firma dell'editore reale, permessi coerenti, nessun comportamento anomalo. Nessuna accusa le riguarda.
C'è anche una trappola a monte, nella ricerca stessa: cercando il nome dell'app per autisti, diversi siti che rivendono pacchetti Android ne propongono un'altra, con nome simile e circa 115 MB di peso, che non è quella cercata. L'app vera pesa poco più di 9 MB. Il peso, da solo, smaschera lo scambio.
La lezione di metodo
All'inizio avevamo soltanto il nome del pacchetto. Un identificativo, da solo, non identifica un'applicazione: lo stesso nome può appartenere all'app vera e a un travestimento. Se avessimo giudicato il nome avremmo accusato un'app legittima — l'errore più grave che uno strumento di sicurezza possa commettere.
Abbiamo quindi analizzato prima le applicazioni reali con quel nome: entrambe pulite. Solo quando è stato analizzato il file vero — impronta diversa da entrambe — l'esito è cambiato. È la regola che ci portiamo dietro da questo caso: si giudica il file, cioè la sua impronta e la sua firma. Mai il nome.
Il confronto che decide
Impronta SHA-256 e12d8173…8165c, 9,2 MB, firmata dall'editore
reale (O=Chauffeur-privé, L=Paris), circa 19 permessi, nome e icona
normali. Pulita.
Impronta SHA-256 eca4c420…3badb, 15,4 MB — sei
megabyte di codice in più — firma CN=Linda Smith, OU=Support, O=DataXcel,
L=Fort Worth, ST=California. Certificato falso, e persino incoerente: Fort
Worth sta in Texas, non in California.
Si dichiara «System» e nasconde la propria icona dal menu delle app, usando un alias con un'etichetta fatta di caratteri invisibili. Chi ha il telefono in mano non ha nulla da toccare per accorgersene.
Usa il namespace android.system.telephony.* e si registra come
servizio di telefonia per fingersi componente di sistema. Compare inoltre nei menu
di condivisione accanto alle app di posta e documenti.
Cosa può fare
L'app legittima ne chiede una ventina. Questo campione ne dichiara 65, e l'insieme non è casuale: è esattamente il corredo di un banking trojan con presa di controllo del dispositivo.
BIND_ACCESSIBILITY_SERVICE, con una classe che si spaccia per
componente di telefonia di sistema). È la chiave di tutto: chi ottiene
l'accessibilità può leggere ciò che appare sullo schermo e toccare al posto
dell'utente — cioè comandare il telefono da remoto.SYSTEM_ALERT_WINDOW): la
tecnica con cui si disegna una falsa schermata di banca sopra quella vera.RECEIVE_SMS): i codici
usa-e-getta di conferma.QUERY_ALL_PACKAGES): serve a scegliere quali schermate bancarie
imitare.REQUEST_INSTALL_PACKAGES): può portarne dentro altri.All'avvio — osservato senza concedergli l'accessibilità — mostra una schermata quasi nera etichettata «System», tenta di contattare il proprio server e fallisce. È anche questo un guscio remoto: senza il suo server non fa nulla, e senza il suo server la richiesta di accessibilità non parte nemmeno.
Le due difese
Play Protect, la protezione di Google presente sul telefono, ne blocca l'installazione come file dannoso. È il comportamento corretto, e va detto: su questo campione la difesa di sistema ha funzionato. Per poter osservare la reazione del nostro strumento l'abbiamo disattivata temporaneamente, solo per il test, e poi riattivata.
Mythos Sentinel lo rileva e lo nomina — «nuova app sospetta: System, installata fuori dallo store, chiede accessibilità» — e porta il punteggio a 49 su 100 con l'app installata e mai aperta, a 62 su 100 con l'app in esecuzione. Il punteggio sale sulle capacità e sul comportamento, non sul nome: sulla stessa app per autisti legittima resta a 16.
Un limite nostro, che scriviamo perché è servito a correggere il prodotto: il messaggio «hai installato tu questa app?» — che in un caso precedente era comparso — qui non è scattato. Il travestimento da «System» unito all'installazione manuale lo fa passare sotto quel controllo. Il rilevamento è comunque avvenuto per altra via, ma il difetto era reale ed è stato corretto.
Il limite, dichiarato
L'indirizzo del server di comando non lo abbiamo. Le stringhe, quell'indirizzo compreso, sono cifrate con AES-GCM e RC4, con chiave costruita solo durante l'esecuzione, dentro classi offuscate; la decompilazione conferma che nessun endpoint è leggibile in chiaro. Estrarlo richiederebbe agganciarsi all'applicazione mentre gira, cosa che non abbiamo fatto — e il server è comunque risultato spento.
Lo scriviamo perché è un dato, non una lacuna da nascondere: quell'anti-analisi è essa stessa una caratteristica riconosciuta di questa famiglia. E soprattutto il verdetto non dipende dall'indirizzo del server: firma falsa, occultamento da componente di sistema, accessibilità camuffata e permessi da presa di controllo sono già tutti nel file.
Se ti è arrivato un file così