21/10/2013
09:58

Scoperto nuovo malware per Android che iscrive le sue vittime a servizi a pagamento via SMS!


La scorsa settimana il CRAM (Centro di Ricerche Anti-Malware della TG Soft) ha scoperto un nuovo malware per Android che tenta di iscrivere l'utente a servizi a pagamento rispondendo in automatico a determinati messaggi SMS.

La scorsa settimana il CRAM (Centro di Ricerche Anti-Malware della TG Soft) ha scoperto un nuovo malware per Android molto particolare che tenta di iscrivere l'utente (a sua insaputa) a servizi a pagamento rispondendo in automatico a determinati messaggi SMS.

Questa app maligna pretende di essere un browser. In particolare, almeno stando all'icona, una versione di Internet Explorer per Android.

Package: ru.system.android
MD5: FBB707B4689464A2F11BBBCCD114CF4F
Dimensione: 117.439 Byte

L'app, chiamata "Браузер" (parola russa per "browser"), richiede i seguenti permessi:
Android.TrojanSMS.Agent.B
  • CALL_PHONE
  • CHANGE_COMPONENT_ENABLED_STATE
  • INTERNET
  • INSTALL_SHORTCUT
  • PROCESS_OUTGOING_CALLS
  • READ_EXTERNAL_STORAGE
  • READ_PHONE_STATE
  • READ_SMS
  • RECEIVE_SMS
  • SEND_SMS
  • WAKE_LOCK
  • WRITE_EXTERNAL_STORAGE
  • WRITE_SMS
Ora, facendo un po' di attenzione, ci si dovrebbe domandare perchè mai un browser dovrebbe richiedere i permessi per leggere, scrivere ed inviare messaggi SMS (READ_SMS, WRITE_SMS e SEND_SMS) o quelli per avviare chiamate telefoniche senza passare attraverso il Dialer (CALL_PHONE) e monitorare/modificare/interrompere le chiamate in uscita (PROCESS_OUTGOING_CALLS).

Ricordiamo che è sempre buona norma LEGGERE ATTENTAMENTE i permessi che una app richiede prima di installarla!


Una volta lanciata, il malware mostra una finta schermata di caricamento/installazione:
Android.TrojanSMS.Agent.BAndroid.TrojanSMS.Agent.B
Se si clicca sul bottone "Продолжить" ("Procedere"), il malware mostra una schermata di caricamento che non terminerà mai ("Пожалуйста подождите..." è l'equivalente russo di "Attendere prego..."):
Android.TrojanSMS.Agent.B
Nel frattempo, in background, il malware si elimina dal menù delle applicazioni. Inoltre, essendosi lanciato senza lasciare traccia nello stack di Android, se si esce dall'app (ad esempio cliccando il tasto home) non sarà più in possibile rientrarvi. Tuttavia, l'app ha ancora 2 processi in esecuzione (quello principale e il servizio UpdateService).
Android.TrojanSMS.Agent.B
UpdateService si occupa di avviare ripetitivamente un BroadcastReceiver chiamato UpdateReceiver ogni ora (36000 secondi), tramite l'utilizzo di un AlarmManager. A sua volta, UpdateReceiver si assicura che il dispositivo non vada in sleep (schermo e tastiera retroilluminata al massimo della luminosità e CPU in esecuzione), tramite l'acquisizione del FULL_WAKE_LOCK. Inoltre, lo stesso UpdateReceiver controlla l'operatore telefonico associato alla SIM del dispositivo infetto. In particolare, se l'operatore telefonico è:
  • Mobile Telesystems Russia (MCC+MNC = "25001"), allora invia un messaggio SMS al numero "111" con corpo del messaggio "11";
  • MegaFon Moscow Russia (MCC+MNC = "25002"), allora invia un messaggio SMS al numero "000100" con corpo del messaggio "b";
  • Bee Line GSM Russia (MCC+MNC = "25099") e il valore del campo "wasreload" nelle SharedPreferences è uguale a "true", allora chiama il numero "*102#" (generalmente questi tipi di numeri sono comandi dell'operatore telefonico, ad esempio per conoscere il credito residuo della propria SIM).
Infine, se l'operatore telefonico non corrisponde a nessuno dei precedenti, ma il nome dell'operatore stesso (SPN: Service Provider Name) non contiene la stringa "tele" o "теле" (solo in Russia, tra gli operatori telefonici esclusi, vi sono: BM Telecom, Don Telecom, Telecom XXI, Mobile Telesystems, New Telephone Company, Stuvtelesot e Primtelefon) e il valore del campo "wasreload" nelle SharedPreferences è uguale a "false", allora chiama il numero "*105#".
Android.TrojanSMS.Agent.B
Inoltre, il malware ha anche un BroadcastReceiver, chiamato OutMsgReceiver, che monitora tutti gli SMS ricevuti. Ogni volta che un SMS viene ricevuto, quest'ultimo controlla se nel corpo del messaggio è contenuta la stringa "Ответьте на это SMS" ("Rispondi a questo SMS") o "ответное SMS". In tal caso, allora, invia un messaggio SMS di risposta al mittente con, come corpo del messaggio, una stringa casuale delle seguenti: "5", "3", "9", "6", "ок" e "да". Probabilmente, questo è fatto con l'intento di iscrivere l'utente (a sua insaputa) a qualche servizio a pagamento attivabile via SMS.
Inoltre, viene anche controllato se il corpo del messaggio contiene alcune stringhe che identificano che il credito insufficiente o il numero bloccato (quali ad esempio: "недостаточно", "средств" o "средства", "пополнить", "счет", "баланс", "превышен" o "исчерпан", "лимит", "черном", "списке", "заблокирован", "недоступен", "ошибка", "услуга", "недоступна", "подпис", "баланс", "стоимость" o "цена"). In tal caso, allora, il BroadcastReceiver viene abortito. Se, invece, il testo del messaggio NON contiene nessuna delle stringhe precedenti, ossia se il credito è sufficiente, e il numero del mittente contiene "111" o "000100", allora il credito residuo viene memorizzato nel campo "balance" delle SharedPreferences.

Infine, il malware ha anche un BroadcastReceiver, chiamato OutCallReceiver, che monitora tutte le chiamate in uscita. Se queste sono dirette ad un numero di telefono che contiene determinate cifre (quali ad esempio: "0611", "4959748888", "88007000611", "88002500890", "0890", "0500", "0555", "88005500500", "88005500555", "9201110500", "9201110500", "9201110555" o "611"), allora termina la chiamata.

Da notare che, cablate a codice all'interno del malware, vi sono alcune stringhe corrispondenti a URL (quali ad esempio: "mxclick.com" e "http://qpclick.com/") e alcuni metodi che usano tali stringhe (come ad esempio: UpdateService.a(), m.a() e USSDDumbExtendedNetworkService.onBind()). Tuttavia, il malware non sembra eseguire questi metodi e/o, comunque, connettersi a nessuno di questi URL.
Android.TrojanSMS.Agent.B

Android.TrojanSMS.Agent.B
Link estratto: http://qpclick.com/getTask.php?imei=[DEVICE_ID]&BALANCE=[BALANCE]&country=[SIM_COUNTRY_ISO]&phone=[PHONE_NUMBER]&op=[SIM_OPERATOR_NAME]&mnc=[MNC]&mcc=[MCC]&model=[MODEL]&os=[VERSION]

---------------------------------
Paolo Rovelli
Mobile Developer & Malware Analyst
CRAM (Centro Ricerche Anti-Malware) di TG Soft
Ogni informazioni pubblicata sul nostro sito può essere utilizzata e pubblicata su altri siti internet, blog, forum, facebook e/o in ogni altra forma sia in modalità cartacea che elettronica a patto che venga sempre e comunque citata la fonte esplicitamente “Fonte: C.R.A.M. by TG Soft www.tgsoft.it” con link cliccabile all'informativa e/o pagina web originale da cui sono stati estrapolati contenuti testuali, spunti e/o immagini.

Sarà gradito nel caso di utilizzo dell'informativa del C.R.A.M. by TG Soft www.tgsoft.it nella relazione di articoli di sintesi il riconoscimento/ringraziamento di seguito “Si ringrazia il Centro Ricerche Anti-Malware C.R.A.M. by TG Soft di cui segnaliamo il link diretto all'informativa originale:[link diretto cliccabile]”

Vir.IT eXplorer PRO è certificato dai maggiori enti internazionali: