Il CRAM (Centro di Ricerche Anti-Malware della TG Soft) è venuto di recente in contatto con un piccolo, ma sgradevole, malware per Android. Questa app malevola si finge un aggiornamento di Google Service e, al fine di rimanere persistentemente installato sul dispositivo, richiede all'utente di attivare la funzione "Amministratori Dispositivo".
Si tratta in realtà, del Trojan
SpySms, che
spia tutti gli SMS ricevuti dall'utente e li inoltra via e-mail ad un indirizzo specifico.
Malware: |
Trojan.SpySms.A |
Package: |
tr.dsds |
MD5: |
C9B7BE2C1518933950B0284FC254C485 |
Dimensione: |
322.915 Byte |
L'app, chiamata
"Google Service", richiede i seguenti permessi:
- ACCESS_COARSE_LOCATION
- ACCESS_FINE_LOCATION
- ACCESS_NETWORK_STATE
- ACCESS_WIFI_STATE
- CALL_PHONE
- CAMERA
- CHANGE_NETWORK_STATE
- CHANGE_WIFI_STATE
- INSTALL_PACKAGES
- INTERNET
- MODIFY_AUDIO_SETTINGS
- MODIFY_PHONE_STATE
- MOUNT_UNMOUNT_FILESYSTEMS
- PROCESS_OUTGOING_CALLS
- READ_CONTACTS
- READ_PHONE_STATE
- READ_SMS
- REBOOT
- RECEIVE_BOOT_COMPLETED
- RECEIVE_SMS
- RECORD_AUDIO
- SEND_SMS
- SYSTEM_ALERT_WINDOW
- WAKE_LOCK
- WRITE_CONTACTS
- WRITE_EXTERNAL_STORAGE
- WRITE_SMS
Inoltre, l'app dichiara di usare le seguenti caratteristiche hardware/software:
- android.hardware.camera
- android.hardware.camera.autofocus
In particolare, tra i vari permessi, segnaliamo
CALL_PHONE, che permette all'app di eseguire chiamate telefoniche senza la conferma dell'utente,
SEND_SMS, che permette all'app di inviare messaggi SMS, ed entrambi
ACCESS_COARSE_LOCATION e
ACCESS_FINE_LOCATION, che permettono all'app di accedere alla posizione approssimativa (network-based) e precisa (GPS e network-based) rispettivamente.
Abbastanza interessante è anche il fatto che l'app richiede il permesso
INSTALL_PACKAGES, il quale permette ad un'app di installare package (
"not for use by third-party apps" secondo la documentazione delle API di Android).
Ricordiamo che è sempre buona norma LEGGERE ATTENTAMENTE i permessi che una app richiede prima di installarla!
Una volta installato, il malware chiede all'utente di attivare la funzione "Amministratori Dispositivo" con l'unica policy di "force-lock", usata per forzare il blocco del dispositivo o per limitare il tempo massimo di blocco del dispositivo:
Una volta che l'utente ha attivato l'app come amministratore del dispositivo, non sarà più in grado di rimuoverla manualmente (non prima di aver disattivato la funzione "Amministratori Dispositivo":
Sicurezza → Amministratori Dispositivo → sample_device_admin). Nel caso in cui l'opzione di sistema "Wi-Fi & mobile network location" sia disabilitata (cioè la capacità di individuare la posizione del dispositivo sulle stazioni radio e sugli Access Point Wi-Fi), l'app mostra la pagina di sistema appropriata -
Servizi per la posizione - al fine di permettere all'utente di cambiare tale impostazione. Fatta eccezione per questo, l'app non aggiunge alcuna icona nel menu delle applicazioni e la vittima può individuare la sua presenza solo cercando nel App Manager di Android (
Impostazioni → App → Google Service).
Una volta che l'app è installata, inizia le sue operazioni maligne in background.
Prima di tutto, l'Activity principale (chiamata
"LangyaA") invia una e-mail con sia come oggetto che come corpo del messaggio il numero di telefono della vittima seguito dalla stringa
"安装成功" (il corrispettivo cinese per
"Installazione avvenuta con successo").
Questa app malevola dichiara inoltre di avere 3 servizi (di cui uno solo -
"Sesdfice" - esiste realmente) e 1 BroadcastReceiver (
"LangyaB").
Il BroadcastReceiver
LangyaB legge tutti i messaggi SMS in arrivo e, poi, il servizio
Sesdfice invia i dati recuperati dal messaggio via e-mail (utilizzando il numero di telefono della vittima come oggetto e il corpo del messaggio SMS come corpo dell'e-mail) all'indirizzo:
lingyujiling01@163.com.
L'indirizzo e-mail utilizzato per inviare la e-mail e la relativa password sono cablati a codice all'interno dell'app stessa. Se qualcosa va storto (ad esempio l'e-mail non è inviata) l'app tenta ancora, con indirizzi e-mail alternativi in cascata, fino a quando l'e-mail non viene inviata con successo or 15 tentativi sono effettuati. Tutti gli indirizzi e-mail sono della forma
lingyujiling[NUM]@163.com, dove
[NUM] è un numero da
02 a
16. La password è sempre la stessa.
-------------------------
Paolo Rovelli
Mobile Developer & Malware Analyst
CRAM (Centro di Ricerche Anti-Malware) di TG Soft S.a.s.