Il post seguente è stato tradotto per gentile concessione di S21sec.
L’applicazione installata nel dispositivo mobile è una semplice applicazione che terrà traccia di tutti gli SMS in entrata e installerà una backdoor per ricevere comandi via SMS. Abbiamo analizzato l’applicazione Symbian S60, chiamata ‘Nokia update’.
L’applicazione contiene un numero di telefono del Regno Unito hardcoded che utilizzerà come al solito C&C (per inviare l’SMS rubato e ricevere i comandi) e, dopo l’installazione, eseguirà i passaggi seguenti :
- Invierà un ‘hello’ SMS con il messaggio ‘Applicazione installata correttamente’ al C&C. li>
- Terrà traccia di tutti gli SMS in arrivo.
Se il numero dell’ SMS in arrivo sarà uguale al numero di C&C, verranno accettati i seguenti comandi:
- BLOCK ON: ignora tutti i comandi
- BLOCK OFF: attiva i comandi in remoto
- SET ADMIN: modifica il numero C&C del telefono (questo è l’unico comando che può essere inviato da un non C&C)
- SENDER ADD: aggiunge un contatto
- SENDER REM: cancella un contatto
- SET SENDER: aggiorna contatto
La tecnica utilizzata dall’applicazione dannosa per monitorare gli SMS in entrata senza informare l’utente, non è avanzata ( utilizza le API di Symbian); ma consente al trojan di utilizzare l’SMS stack per il proprio profitto, senza mostrare alcun SMS sullo schermo del cellulare:
// open a SMS socket m_socket.Open(m_socketServer, KSMSAddrFamily, KSockDatagram, KSMSDatagramProtocol)
// receive any incoming SMS (the match is empty)
TSmsAddr smsAddr;
smsAddr.SetSmsAddrFamily(ESmsAddrMatchText);
smsAddr.SetTextMatch(_L8(""));
m_socket.Bind(smsAddr);
Successivamente abbiamo ‘agganciato’ l’SMS stack in modo da poter ricevere gli SMS in entrata e passarli all’handler (the RunL()):
// Stream that reads a CSmsMessage object across a socket. RSmsSocketReadStream readStream(socket1); // Allocates and creates a CSmsMessage // ESmsDeliver-SMS-DELIVER, sent from service center to Station. CSmsMessage message = CSmsMessage::NewL TheFs1,CSmsPDU::ESmsDeliver,buffer); CleanupStack::PushL(message); //Internalises data from stream to CSmsMessage message->InternalizeL(readStream); readStream.Close(); //Extracting the received message to a buffer TBuf<255> msgContents; message->Buffer().Extract(msgContents, 0 , message->Buffer().Length()); CleanupStack::PopAndDestroy(2) // Announce that we have read the SMS. Important!! iReadSocket.Ioctl(KIoctlReadMessageSucceeded, iStatus, &sbuf, KSolSmsProv); SetActive();
Chiaramente il malware utilizza il social engineering a diversi livelli:
- Il metodo di infezione: invia un SMS con un link ad un ‘nuovo certificato di sicurezza ‘
- L’applicazione mobile: il nome è ‘Nokia update’ e non desterà sospetti nella maggioranza degli utenti
- I contatti/manipolazione rubrica: possiamo aggiungere o modificare nuovi contatti nel dispositivo mobile tramite chiamate o SMS in maniera assolutamente fidata
Stiamo lavorando con gli operatori di telefonia mobile, principali protagonisti di questi avvenimenti, visto che sono gli unici in grado di rilevare dispositivi infetti e bloccare le connessioni da/verso C & C mobili.
Questo attacco ha molte analogie con un episodio simile avvenuto su Internet, ma con alcune avvertenze:
- Siamo in grado di rilevare i dispositivi infetti ma comunicare l’accaduto agli utenti e ripulirne i dispositivi è un compito arduo.
- Siamo in grado di bloccare l’accesso da/verso C&C, ma ben presto arriverà un altro C & C mobile (almeno non vedremo fast-flux!).
- Il recupero delle credenziali è molto difficile se non addirittura impossibile.
- L’utente potrà sospettare dell’avvenuta infezione consultando le spese per la telefonia mobile e individuando strani addebiti relativi agli SMS.
Anche se non possiamo affermare che si tratti di un’applicazione dannosa veramente avanzata, funziona bene, e la linea sottile che separa il malware per PC dal mobile, è più sottile che mai.
Mentre scriviamo questo post l’indice di rivelazione AV è 0% .
Aggiornamento (27/09/2010): i nostri colleghi di Fortinet hanno fornito maggiori informazioni per il malware Symbian.
Aggiornamento (28/09/2010):. Vodafone ci ha appena confermato che il Symbian developer certificate in sviluppo è stato revocato.
Numero di serie: BF43000100230353FF79159EF3B3
Data di revoca : 28 settembre 2010 08:26:26 GMT
Numero di serie: 61F1000100235BC2794380405E52
Data di revoca: 28 settembre 2010 08:26:26 GMT
ZeuS Mitmo: Man-in-the-mobile (I)
ZeuS Mitmo: Man-in-the-mobile (II)
ZeuS Mitmo: Man-in-the-mobile (III)
David Barroso
S21sec e-crime



