Il Trojan-SMS che bypassa i CAPTCHA

Il noto sistema di riconoscimento delle immagini utilizzato in maniera illecita dai virus writer

Contenuti

Verso la fine dello scorso anno ci siamo imbattuti nel Trojan-SMS denominato Trojan-SMS.AndroidOS.Podec, malware nel quale si faceva uso di un potentissimo – peraltro legittimo – sistema di protezione del codice nocivo nei confronti dell’eventuale analisi condotta dagli esperti e del possibile rilevamento da parte delle soluzioni di sicurezza IT. Una volta rimossa la protezione ci siamo trovati di fronte ad un Trojan-SMS di dimensioni decisamente contenute; tra l’altro, la maggior parte delle funzioni possedute da tale malware si trovava ancora in fase di sviluppo. All’inizio del 2015 siamo poi riusciti ad intercettare una versione completa di Trojan-SMS.AndroidOS.Podec.

La versione aggiornata del Trojan appariva subito di notevole rilevanza: in essa erano state implementate sia la funzionalità per l’invio di messaggi SMS verso numeri premium, ovvero costosi numeri a pagamento – con l’utilizzo di meccanismi per bypassare il sistema Advice of Charge (attraverso il quale viene notificato all’utente il costo del servizio, richiedendo debita conferma prima dell’effettuazione del pagamento) – sia la funzionalità che provvede ad effettuare l’iscrizione dell’ignara vittima a determinati servizi a pagamento; è proprio quest’ultima funzione nociva ad essere realizzata mediante l’elusione dei suddetti CAPTCHA. In nessun programma Trojan sinora noto agli esperti di Kaspersky Lab era stata rilevata una simile funzionalità.

Livello di diffusione del Trojan-SMS

Specifichiamo, in primo luogo, che nel presente articolo viene esaminato il Trojan-SMS.AndroidOS.Podec versione 1.23 (ottenuta dall’analisi del codice), le hash sum sono:

72ADCF52448B2F7BC8CADA8AF8657EEB
0D5708158B8782F115670BD51833AC5C

Tale versione del Trojan risulta essere diffusa in Russia e nei paesi limitrofi.

Paese Numero dei tentativi di infezione a danno di utenti unici
Russia 3666
Kazakhstan 339
Ukraina 305
Bielorussia 70
Kirghizistan 23

Trend delle infezioni:

Il Trojan-SMS che bypassa i CAPTCHA

Numero dei tentativi di infezione a danno di utenti unici

Fonti dell’infezione

Secondo i dati statistici da noi raccolti, ottenuti attraverso il Kaspersky Security Network, le fonti principali della diffusione del malware qui analizzato sono rappresentate da vari domini dai nomi piuttosto altisonanti (Apk-downlad3.ru, minergamevip.com, etc.), così come dai server del popolare social network russo “Vkontakte”, utilizzati per custodire i contenuti generati dagli utenti.

Il Trojan-SMS che bypassa i CAPTCHA

Ripartizione delle fonti di infezione dei file

Come evidenzia il grafico, la quota relativa ai server del suddetto social network prevale nettamente sulle altre; purtroppo, nell’ambito di tale rete il servizio di archiviazione dei file è anonimo, per cui non risulta possibile effettuare la ricerca dei percorsi che hanno determinato la comparsa del malware. Tuttavia, un’ulteriore indagine ha rivelato l’esistenza, all’interno di questo social network, di tutta una serie di community intente a diffondere il malware Trojan-SMS.AndroidOS.Podec:

  • http://vk.com/vzlomannye_igry_dlya_android
  • http://vk.com/skachat_minecraft_0_9_0_android
  • http://vk.com/minecraft_pe_0_9
  • http://vk.com/vzlom_igry_android_mody
  • http://vk.com/igry_android_cheats
  • http://vk.com/android_mody_apk
  • http://vk.com/novye_igry_na_android
  • http://vk.com/skachat_hill_climb_racing_bpan
  • http://vk.com/na_android_igry

Tutti i gruppi inclusi nell’elenco erano letteralmente ricolmi di contenuti sostanzialmente simili, sotto forma di immagini, link e messaggi.

Il Trojan-SMS che bypassa i CAPTCHA

Il tema di ogni gruppo appare dedicato, in genere, ad un particolare gioco “craccato”, oppure ad una serie di giochi hackerati; evidentemente, i cybercriminali hanno ritenuto di poter così attirare l’attenzione di potenziali vittime, interessate all’utilizzo gratuito di contenuti a pagamento di larga diffusione.

Quasi tutti i messaggi presenti sulla bacheca del gruppo sono costituiti da link preposti a condurre verso siti web contenenti, apparentemente, giochi e applicazioni per la piattaforma Android. La stessa identica situazione si presenta anche nella sezione denominata “Link”. In realtà, l’unico vero scopo della creazione di tali siti è rappresentato dalla diffusione di varie versioni del malware Trojan-SMS.AndroidOS.Podec.

Il Trojan-SMS che bypassa i CAPTCHA

Otto gruppi del social network simili per contenuti e stile di composizione

Lo stile di conduzione e di composizione dei gruppi (ad esempio l’utilizzo di parole chiave anziché di un’effettiva descrizione, l’abbondanza di semplici messaggi di natura generica – caratteristica peculiare dei bot – etc.), così come il collocamento al loro interno di link a siti fasulli, la maggior parte dei quali sembrano essere l’uno la copia dell’altro, consentono di trarre precise conclusioni: è ben riconoscibile, in effetti, il coinvolgimento di esperti di “Black SEO” (in sostanza una Search Engine Optimization falsata) nelle attività di diffusione del malware. Le tecniche sopra descritte consentono a tali malintenzionati di innalzare in maniera scorretta il ranking delle risorse web dannose di loro interesse (siti web e gruppi) nell’ambito dei risultati restituiti dai motori di ricerca, ed incrementare, in tal modo, il numero delle visite effettuate dagli utenti della Rete.

L’amministratore di tutte le varie community-clone risulta essere l’utente “Vkontakte”, con ID “kminetti”; sulla sua pagina personale vengono di fatto pubblicizzati i gruppi sopra menzionati. L’account in questione è stato aperto il 12 ottobre 2011; a partire dal 2012, sulla relativa bacheca, sono stati poi inseriti link a siti e gruppi preposti a distribuire applicazioni nocive per piattaforme mobile.

Il Trojan-SMS che bypassa i CAPTCHA

Esempi di post pubblicati dall’amministratore delle community nocive

Sinora l’account è stato utilizzato in qualità di bot, con il preciso intento di collocare link a specifiche risorse web, allo scopo di innalzare il loro ranking a livello di indicizzazione nei motori di ricerca.

Il Trojan-SMS che bypassa i CAPTCHA

Esempi di post pubblicati dall’amministratore dei gruppi, con l’intento di innalzare il ranking di indicizzazione, a livello di search engine, di risorse web di terze parti

La conclusione finale che si può trarre sulla base di quanto sopra esposto è la seguente: il principale canale di distribuzione di Trojan-SMS.AndroidOS.Podec è indubbiamente rappresentato dal social network “Vkontakte”.

Schema dell’infezione

Il sample del Trojan mobile analizzato dagli esperti di Kaspersky Lab si camuffa sotto forma della popolare applicazione Minecraft – Pocket Edition. La dimensione del file è di 688 kilobyte, di sicuro un apparente vantaggio agli occhi di utenti non troppo esperti, magari provvisti di connessione Internet lenta e/o costosa. In realtà, l’effettiva dimensione dell’applicazione ufficiale va dai 10 ai 13 megabyte.

Una volta avviata, l’applicazione richiede subito i diritti di amministratore del dispositivo; lo scopo è, ovviamente, quello di contrastare l’eventuale rimozione della stessa sia da parte dell’utente, sia da parte delle soluzioni di sicurezza IT. Se l’utente si rifiuta di concedere i diritti di amministratore, il Trojan ripete la sua richiesta finché non ottiene quanto desiderato. Durante tale fase, di fatto, non risulta possibile, per l’utente, operare normalmente con il dispositivo.

Il Trojan-SMS che bypassa i CAPTCHA

La richiesta di innalzamento dei privilegi

Non appena il malware Trojan-SMS.AndroidOS.Podec ottiene l’accesso privilegiato, inizia il processo di download (da una risorsa web di terze parti) ed installazione, sulla scheda SD del dispositivo mobile, dell’applicazione Minecraft legittima. Questo comportamento è previsto nel file di configurazione fornito assieme al Trojan; all’interno di tale file, in effetti, risulta indicato il link necessario per poter effettuare l’operazione di download del file APK legittimo. Allo stesso modo, il file di configurazione può anche non contenere link all’applicazione; in tal caso il Trojan, dopo aver richiesto l’assegnazione dei privilegi, semplicemente interrompe ogni attività visibile all’utente.

podec_ ital_8

Una parte del file di configurazione, contenente il link all’applicazione Minecraft legittima

In seguito, il Trojan provvede a rimuovere il proprio shortcut dall’elenco delle applicazioni, sostituendolo con lo shortcut dell’applicazione autentica. Ad ogni caso, tracce non evidenti del Trojan rimangono ugualmente nell’elenco delle applicazioni installate, così come nell’elenco degli amministratori del dispositivo:

Il Trojan-SMS che bypassa i CAPTCHA

Il pulsante per l’eliminazione dell’applicazione dannosa risulta inattivo, mentre il tentativo di rimuovere i privilegi termina sempre con un comportamento alquanto strano da parte del dispositivo: lo schermo, in effetti, si blocca, per poi spegnersi per un po’ di tempo. Una volta riacceso, lo schermo mostra direttamente il menu delle impostazioni; non appare tuttavia alcun elemento o segnale riguardo al fatto che l’utente abbia cercato, poco prima, di privare l’applicazione dei diritti di amministratore.

Meccanismi di protezione dall’analisi del codice

Un’evidente conferma della serietà dell’approccio messo in atto dai cybercriminali nel processo di elaborazione del malware Trojan-SMS.AndroidOS.Podec è rappresentata dall’utilizzo di specifiche tecniche di protezione del codice nocivo nei confronti di possibili analisi e rilevamenti. Infatti, oltre ad inserire nel codice classi “spazzatura” e a servirsi di precise tecniche di offuscamento, i malintenzionati hanno ugualmente fatto uso di un costoso code protector, peraltro di natura legittima, il quale complica in maniera considerevole l’ottenimento del codice sorgente relativo all’applicazione Android. Tale dispositivo di protezione fornisce appositi strumenti di controllo dell’integrità del codice, nasconde le richieste di tutti i metodi e la manipolazione dei campi delle classi; allo stesso modo, il protector provvede a cifrare tutte le stringhe.

Riportiamo, qui di seguito, un esempio di codice protetto:

Il Trojan-SMS che bypassa i CAPTCHA

Questo, invece, è il codice dopo la rimozione della protezione:

Il Trojan-SMS che bypassa i CAPTCHA

Modalità di gestione e controllo del Trojan

Il controllo delle attività e dei comportamenti nocivi messi in atto dal malware Trojan-SMS.AndroidOS.Podec viene effettuato mediante l’utilizzo di appositi server di comando. Nella fattispecie, i malintenzionati ricorrono ad un preciso schema, il quale prevede che il Trojan si rivolga al server di riferimento tramite il protocollo HTTP, per poi attendere l’invio di un messaggio SMS contenente i comandi che determinano e gestiscono il comportamento del malware qui analizzato. Trojan-SMS.AndroidOS.Podec si avvale sia dell’elenco principale che dell’elenco di riserva dei nomi di dominio dei server di comando; la scelta dell’effettivo centro di controllo viene poi realizzata sulla base di un algoritmo casuale. Se dal server principale non viene ricevuta alcuna risposta nell’arco di tre giorni, si passa all’utilizzo dell’apposito elenco di riserva dei nomi di dominio. In pratica, viene in tal modo implementato un meccanismo adattivo di comunicazione con i server di comando, il quale permette di bypassare agevolmente eventuali blocchi dei nomi di dominio stessi.

I nomi di dominio dei server di comando e controllo e tutto il traffico generato (sia HTTP che SMS) vengono codificati mediante l’algoritmo di cifratura AES in modalità CBC/NoPadding, con chiave a 128 bit. La chiave di codifica e il vettore di inizializzazione si trovano, originariamente, nel file fXUt474y1mSeuULsg.kEaS (la denominazione di tale file si differenzia di variante in variante), situato nella cartella assets dell’applicazione sorgente. La maggior parte del file risulta essere, in pratica, null’altro che “spazzatura”; le informazioni utili risultano di fatto contenute all’interno di appositi tag, quali, ad esempio, [a]stringa[/a].

mighty_podec_it_12

Dalle stringhe collocate tra i tag si ottengono i parametri di codifica necessari (chiave e vettore), in forma cifrata. In seguito, essi vengono decodificati tramite semplici sostituzioni di alcune sottostringhe con altre.

mighty_podec_it_13

I comandi in forma decodificata costituiscono, in pratica, un documento XML, i cui tag contrassegnano un comando specifico, mentre il contenuto dei tag è rappresentato dai parametri relativi al comando stesso. Elenchiamo, qui di seguito, l’ampia gamma di funzionalità di cui è provvisto il malware Trojan-SMS.AndroidOS.Podec, realizzate per mezzo degli specifici comandi impartiti:

  1. Raccolta di informazioni sul dispositivo (operatore, IMEI, numero di telefono, lingua dell’interfaccia, paese e città di residenza dell’utente, etc.).
  2. Ottenimento dell’elenco delle applicazioni installate.
  3. Ottenimento di informazioni sul codice USSD.
  4. Invio di SMS.
  5. Collocamento di un apposito filtro sui messaggi in entrata.
  6. Installazione di filtri sulle chiamate in entrata e in uscita.
  7. Visualizzazione di contenuti pubblicitari da parte dell’utente (singole notifiche, apertura di pagine web, dialoghi ed altre forme di visualizzazione di pubblicità).
  8. Eliminazione di determinati messaggi.
  9. Eliminazione di determinate chiamate dal registro.
  10. Caricamento sul server allestito dai malintenzionati del codice sorgente HTML di una determinata pagina web.
  11. Esecuzione di un attacco DDoS, manipolazione del contatore visite dei siti Internet.
  12. Iscrizione dell’utente-vittima a determinati contenuti a pagamento.
  13. Autoaggiornamento
  14. Effettuazione di una chiamata in uscita.
  15. Scaricamento dei messaggi in entrata in base a determinate condizioni stabilite dal centro di controllo.
  16. Rimozione di una determinata applicazione dal centro di controllo.

Persino una rapida analisi del codice eseguibile di cui si compone il malware mette subito in risalto la notevole quantità di funzioni esistenti per poter operare con il codice HTML ed il protocollo HTTP. Oltre alle funzionalità standard previste per tale genere di programmi Trojan (invio ed intercettazione di messaggi di testo, possibilità di effettuare chiamate e manipolare i registri degli SMS e delle telefonate), il malware Trojan-SMS.AndroidOS.Podec presenta specifiche funzioni configurabili per realizzare la visita di determinate pagine web e per compiere il successivo trasferimento del loro codice al server dei cybercriminali. La caratteristica chiave del Trojan, tuttavia, è rappresentata dalla funzione di riconoscimento delle immagini CAPTCHA.

Lo schema generale relativo al funzionamento di Trojan-SMS.AndroidOS.Podec viene qui di seguito illustrato.

mighty_podec_it_14

In tal modo, la funzionalità che prevede l’interazione con determinate risorse web costituisce la fonte di due distinti tipi di minaccia:

  1. Il Trojan è provvisto di funzioni che consentono di realizzare il più semplice degli attacchi DDoS di tipo “HTML Flood”. Nel file di configurazione, le stringhe che determinano tale opzione sono le seguenti:

    <load_ddos>URL_STRING-MK-SECONDS_STRING-MK-LIMIT_STRING</load_ddos>

    Viene quindi dato avvio all’operazione di caricamento del link ottenuto; si richiama poi la funzione sleep() con il parametro “seconds”: il processo viene ripetuto per il numero di volte indicato nel parametro “limit”.

    podec_ital_15

    Poiché lo schema utilizzato dai malintenzionati permette di configurare sia la frequenza che il numero degli accessi alla risorsa web, tale funzionalità può essere sfruttata non soltanto per la conduzione di attacchi di tipo DDoS. In particolar modo, essa può essere utilizzata per “gonfiare” artificialmente i contatori delle visite ed ottenere quindi significativi introiti derivanti dalla visualizzazione di messaggi pubblicitari e dagli stessi programmi di partenariato.

  2. Una delle caratteristiche più pericolose del malware Trojan-SMS.AndroidOS.Podec è rappresentata dall’utilizzo di regole configurabili relativamente alla visita di determinate pagine web, e dalla conseguente possibilità di riconoscere le immagini CAPTCHA presenti su tali pagine. Ciò consente di realizzare l’iscrizione dell’utente-vittima a costosi servizi a pagamento, a totale insaputa del proprietario del dispositivo mobile. È questa l’unica funzionalità del Trojan che merita di essere esaminata ancor più in dettaglio.

Sottoscrizioni a pagamento

Esistono, di fatto, due modelli principali per effettuare la sottoscrizione ai contenuti di un sito web:

  1. Pseudosottoscrizione. Utilizzando tale modello l’utente dovrà innanzitutto recarsi sul sito web di suo interesse ed introdurvi il proprio numero di telefono. Compiuta tale operazione, egli riceverà un messaggio SMS con la proposta di procedere al pagamento del servizio richiesto tramite l’invio di un messaggio di risposta contenente qualsiasi testo. Una volta inviato il messaggio, dal conto personale del nuovo abbonato verrà prelevata una determinata somma, a seconda della specifica tariffa applicata dall’operatore di telefonia mobile. Simili messaggi SMS giungeranno poi con cadenza periodica, ed ogni volta sarà lo stesso utente a decidere se inviare o meno il messaggio di risposta; è proprio per tale motivo che il modello qui sopra descritto viene definito con il termine di “pseudosottoscrizione”.
  2. Sottoscrizione МТ. In questo caso l’utente, dopo aver inserito il proprio numero di telefono nel sito web, attenderà un messaggio SMS con il relativo codice di conferma. Il codice ricevuto dovrà essere poi introdotto nel sito dell’operatore, fornendo, al contempo, il relativo assenso riguardo alle condizioni previste per la sottoscrizione. In seguito, l’operatore preleverà periodicamente, dall’account personale dell’abbonato, la somma indicata sul contratto di sottoscrizione. Nel segmento russo di Internet esiste tutta una serie di programmi di partenariato specializzati nel fornire specifici servizi di aggregazione riguardo alla tipologia di pagamento sopra descritta. Ciò significa che, dopo aver creato un servizio per il quale risulta possibile effettuare la sottoscrizione a pagamento, i malintenzionati non dovranno necessariamente contattare l’operatore di telefonia mobile, visto che tale attività sarà eseguita, per conto di questi ultimi, proprio nell’ambito dei programmi di affiliazione. In tal modo, evidentemente, viene persa una sostanziosa quota delle entrate (in media il 40-50%) da parte di coloro che hanno creato i servizi; al tempo stesso, tuttavia, si aumenta considerevolmente il livello di anonimato riguardo alle transazioni finanziarie compiute.

La sottoscrizione di contenuti a pagamento mediante l’utilizzo del Trojan qui esaminato può arrecare considerevoli danni finanziari alle vittime. Nel caso specifico delle pseudosottoscrizioni, ad esempio, il costo di un messaggio SMS di risposta può variare da 0,5 a 10 dollari. Per ciò che riguarda, invece, le sottoscrizioni МТ, l’importo viene concordato per ogni singolo caso, tramite il programma di partenariato, direttamente con l’operatore di telefonia mobile. I fattori di maggior pericolo sono indubbiamente rappresentati dalla segretezza e dalla periodicità con cui vengono sottratte le risorse finanziarie degli utenti raggirati. Nel caso, poi, in cui sia stata effettuata l’iscrizione illecita dell’utente a vari “fornitori di contenuti” a pagamento di questo genere, occorrerà di sicuro molto tempo, alla vittima, per riuscire a comprendere dove sia andata a finire – e con quali modalità – la somma originariamente presente sul proprio account mobile.

Esempio di funzionamento del Trojan

Siamo riusciti ad intercettare il processo di interazione di Trojan-SMS.AndroidOS.Podec con il proprio centro di comando; nell’ambito di tale sessione il malware si è avvalso del seguente schema:

  1. È stata in primo luogo effettuata la visita al sito <RuMaximum.com>, preposto a fornire servizi di test per gli utenti. Per ottenere i risultati del test condotto l’utente deve necessariamente iscriversi ai servizi offerti dal sito in questione.

    mighty_podec_it_16

  2. Mediante un’apposita query GET il Trojan simula le risposte alle domande formulate, attivando, di conseguenza, un link del tipo http://rumaximum.com/result.php?test=0&reply[1]=0&reply[2]=0&reply[3]=0&reply[4]=0&reply[5]=0&reply[6]=0&reply[7]=0&reply[8]=0&reply[9]=0&reply[10]=0. Tale link conduce al seguente documento web:

    mighty_podec_it_17

  3. Una volta introdotto il numero di telefono viene generata una “landing page” unica, relativa all’operatore di telefonia mobile, attraverso la quale viene richiesto l’inserimento sia del testo ricavato dall’apposita immagine CAPTCHA, sia del codice di conferma ottenuto tramite il messaggio SMS ricevuto sul telefono. Il Trojan provvede a riempire entrambi i campi, confermando quindi la sottoscrizione. In seguito, attraverso il sistema di mobile commerce <totmoney.ru> viene effettuato il redirecting ai risultati del test “eseguito”.

    mighty_podec_it_18

Tutte le azioni sopra descritte vengono eseguite automaticamente dal Trojan, mediante l’utilizzo della configurazione inviata dal server dei cybercriminali. L’utente-vittima, tuttavia, non vede tutto questo, né arriva a sospettare che sul proprio dispositivo mobile possa essersi verificata un’attività del genere.

La funzionalità relativa alle sottoscrizioni a pagamento

Il campo responsabile dell’iscrizione dell’utente a costosi servizi a pagamento, campo presente nella configurazione XML ricevuta dal server C&C, si presenta nel modo seguente:

<subscription>verify-MK-service-MK-search-MK-images–MK-actions-MK-type-MK-source-MK-domain </subscription >

Ma andiamo ad esaminare in dettaglio il campo presente nella suddetta configurazione:

  1. verify – array di stringhe con separatore “-S-“. Contiene le informazioni necessarie per ottenere il valore CAPTCHA.
    verify[0] – se tale campo non risulta uguale a zero, si rivela necessario il riconoscimento del CAPTCHA; in caso contrario viene eseguita un’ulteriore elaborazione. Può contenere il file dell’immagine con codifica base64 (realizzato per l’elaborazione delle immagini statiche e dei CAPTCHA) oppure l’ID dell’immagine;
    verify[1] – è la chiave del servizio http://antigate.com, utilizzato per il riconoscimento dei CAPTCHA, indispensabile per effettuare il login al servizio;
    verify[2] – lunghezza minima dell’immagine, viene utilizzato per scopi di servizio;
    verify[3] – lunghezza massima dell’immagine, viene utilizzato per scopi di servizio;
    verify[4] – appartenenza linguistica dei caratteri raffigurati nell’immagine.

  2. service – il servizio al quale si accede;

  3. search – array di stringhe con separatore “-S-“. Viene utilizzato per la ricerca di sottostringhe nel link visitato e per assumere decisioni di vario genere – a seconda dei risultati forniti dalla ricerca – riguardo al metodo di sottoscrizione richiesto;

  4. images – in questa versione non viene utilizzato;

  5. actions – array di stringhe con separatore “-S-“. Contiene i link finali di cui si avvale il servizio per inizializzare/completare il processo di sottoscrizione;

  6. type – tipo di richiesta;

  7. source – determina la necessità di procedere all’invio, verso il server predisposto dai cybercriminali, del codice sorgente della pagina web;

  8. domain – nel caso in cui si riveli necessario effettuare l’invio del codice sorgente della pagina, tale parametro serve ad indicare il server di comando e controllo verso il quale viene trasmesso il codice HTML.

Per ottenere il codice delle pagine HTML e finalizzare il loro invio al server gestito dai malintenzionati viene utilizzata l’interfaccia Observable, sulla quale, in caso di necessità, tramite un apposito JavaScript, vengono inviate le informazioni richieste, proprio durante il caricamento della pagina stessa.

podec_ital_19

L’ottenimento del codice sorgente delle pagine web si rivela necessario, per i criminali, al fine di poter analizzare la struttura di queste ultime e definire, di conseguenza, la configurazione necessaria per il modulo adibito a realizzare le sottoscrizioni illecite a pagamento. Allo stesso modo, la suddetta fonte dei codici sorgente permette di ottenere il codice della pagina esattamente nel modo e nella forma con cui la pagina web verrebbe visualizzata sul browser dell’utente-vittima. Tale procedura di analisi delle pagine HTML consente ai cybercriminali di compilare agevolmente i comandi da impiegare per ottenere la sottoscrizione forzata dell’utente.

La funzione che permette di realizzare l’iscrizione delle vittime a determinati servizi web a pagamento risulta collocata nella classe CustomWebView, la quale, a sua volta, deriva dalla classe WebViewClient. In questa viene ridefinito il metodo onLoadResource, utilizzato per ottenere i link all’immagine, e il metodo onPageFinished, impiegato nella fase di post-elaborazione della risorsa web caricata. Il processo di post-elaborazione si basa sull’analisi della configurazione e sulla conseguente visita dei link richiesti mediante la funzione loadUrl. Qualora si riveli necessario, viene poi richiamato, in aggiunta, anche l’elaboratore dei CAPTCHA.

Bypass dei CAPTCHA

I vari programmi di partenariato presentano esigenze diverse per ciò che riguarda l’allestimento della risorsa web sulla quale verranno poi collocati i meccanismi necessari per poter realizzare la sottoscrizione dell’utente. Vi è, ad esempio, la particolare esigenza di dover collocare adeguatamente il modulo CAPTCHA, utilizzato per confermare che la richiesta non venga effettuata in modalità automatica. Nella maggior parte dei casi il programma di affiliazione esegue il reindirizzamento del browser sul sito dell’operatore, dove si propone poi all’utente di confermare la propria richiesta di sottoscrizione, introducendo il relativo CAPTCHA. Come abbiamo accennato in precedenza, il principale tratto distintivo del malware denominato Trojan-SMS.AndroidOS.Podec è proprio la sua capacità di eludere la protezione messa in atto dal sistema CAPTCHA.

L’elaboratore dei CAPTCHA interagisce con il servizio <Antigate.com>, il quale fornisce specifici servizi di riconoscimento manuale del testo di volta in volta presente all’interno delle immagini. Ecco cosa riferisce in proposito lo stesso servizio web:

“Antigate.Com è un servizio di riconoscimento manuale del testo presente nelle immagini. Il suo funzionamento è molto semplice: la vostra applicazione carica l’immagine nel nostro sistema e, dopo alcuni secondi, riceve il testo già pronto.”

Fonte: antigate.com

In altre parole, il testo raffigurato sull’immagine CAPTCHA viene riconosciuto da un collaboratore del servizio in questione. Secondo i dati resi noti da Antigate.сom, la maggior parte dei collaboratori si trova in India.

mighty_podec_it_20

Fonte: antigate.com

Distribuzione per Paesi dei collaboratori di Antigate.com

La comunicazione del Trojan con Antigate.com avviene attraverso l’utilizzo del servizio HTTP API: tramite un’apposita richiesta POST si procede all’invio dell’immagine contenente il testo da riconoscere; in seguito, mediante determinate query GET, viene realizzato il monitoraggio del risultato dell’operazione di riconoscimento. Il risultato ottenuto (se ricevuto in un tempo ragionevole) viene poi inserito nei link del campo “actions” relativo alla configurazione ricevuta, link poi attivati mediante la funzione loadUrl().

podec_ital_21

Nel caso in cui il meccanismo di sottoscrizione richieda l’invio di una conferma tramite SMS, il Trojan, per mezzo del filtro appositamente installato dai criminali, provvede a ricercare il messaggio contenente il codice di conferma e, usando espressioni regolari, ottiene il codice presente all’interno di tale messaggio.

podec_ital_22

Schema generale previsto per l’effettuazione della sottoscrizione

mighty_podec_it_23

Schema generale utilizzato per realizzare la sottoscrizione a pagamento

In generale, il modulo usato dai cybercriminali per iscrivere le vittime a costosi servizi a pagamento risulta composto da SubscribeService di Observer, che presta attenzione agli eventi che avvengono nell’interfaccia “HTMLOUT”. Nel momento in cui, da qui, vengono ottenuti i dati (in sostanza la pagina scaricata) si provvede ad inviare questi ultimi al server C&C per mezzo della classe Submitter, la quale, a sua volta, eredita la classe AsyncTask. Inoltre, SubscribeService accetta come input i parametri di comando dal dispatcher, inizializza CustomWebView ed avvia l’elaborazione del task per mezzo di SubscribeTask. SubscribeTask lancia CustomWebView, dove avviene l’elaborazione dei parametri di ingresso e viene presa la decisione riguardo al meccanismo da adottare relativamente all’effettuazione della sottoscrizione. Se necessario, viene richiamato CaptchaProcessor, il quale determina l’interazione con il servizio di riconoscimento del testo e l’elaborazione delle query che richiedono l’inserimento del codice di conferma, così come dei caratteri raffigurati sull’immagine CAPTCHA.

Conclusioni

Sulla base dei sample del malware Trojan-SMS.AndroidOS.Podec da noi sinora analizzati è possibile trarre la conclusione che il Trojan oggetto del presente articolo si trova attualmente in una fase in cui esso viene sviluppato in maniera particolarmente attiva. Il codice di cui si compone viene difatti sottoposto a refactoring, compaiono nuove funzionalità e viene rielaborata l’architettura dei moduli.

Riteniamo che il suddetto Trojan sia di fatto elaborato da un gruppo di sviluppatori Android, operanti in stretta collaborazione con esperti di “Black SEO” specializzati in frodi, attività di “monetizzazione” illecite e generazione di traffico. Ciò è testimoniato dai seguenti elementi:

  1. il particolare schema di diffusione attraverso il noto social network “Vkontakte”, con ampio utilizzo di tecniche di ingegneria sociale;
  2. l’utilizzo di un protector di tipo commerciale;
  3. lo schema tutt’altro che banale utilizzato per sottrarre denaro alle vittime, il quale include una sofisticata procedura di bypass del sistema CAPTCHA.

Nel codice della versione di Trojan-SMS.AndroidOS.Podec da noi analizzata risulta tra l’altro presente una funzionalità per ora non utilizzata dai criminali, ma che potrebbe rivelare i loro piani futuri. È stata da noi individuata, ad esempio, la presenza della funzione ausiliaria isRooted(), la quale consente di verificare se il proprietario del dispositivo ha ottenuto o meno i diritti di superutente. Tale funzione non viene al momento utilizzata nell’ambito del codice principale del Trojan; è lecito pertanto presupporre la probabile comparsa, nelle nuove versioni del malware, di una specifica funzionalità associata all’utilizzo dei diritti di superutente.

Gli utenti dei prodotti Kaspersky Lab risultano già protetti nei confronti di tutte le varianti del malware Trojan-SMS.AndroidOS.Podec attualmente esistenti. Raccomandiamo tuttavia agli utenti di installare esclusivamente applicazioni provenienti dagli app store ufficiali, quali, ad esempio, Google Play. Non bisogna in alcun modo cadere nei frequenti tranelli tesi dai virus writer, quando viene ad esempio proposto il download di applicazioni apparentemente “craccate” e quindi gratuite. Il rischio finanziario derivante dallo scaricare ed eseguire sul proprio dispositivo mobile il Trojan-SMS in causa supera difatti di gran lunga, per entità, il costo da sostenere per l’acquisto di software legittimo.

Desideriamo ringraziare la società “Mobil’nye TeleSistemy” (MTS) per la collaborazione fornita nella preparazione del materiale, ed in particolar modo gli esperti preposti al controllo del traffico generato dai programmi di partnership.

Post correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *