CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

16/05/2014

Virus de la Policia en Android: tècniques usades per a bloquejar el mòbil i com eliminar-lo

Android_malware Coneixem el Virus de la Policia que afecta els ordinadors bloquejant la pantalla i demanant diners per a desbloquejar el sistema, el comportament típic de qualsevol ransomware.

Recentment s’ha descobert una versió per a Android. Mostrarem les tècniques usades per l’atacant per a forçar que el programari maliciós romanga en primer pla i persistisca a la represa del dispositiu. Finalment, oferirem una forma per a eliminar-lo del dispositiu.

Si executem el Virus de la Policia en l’emulador d’Android, veiem una pàgina web en què ens demana diners per a desinstal·lar l’aplicació. Igual que ocorre amb la versió d’escriptori, sense pagar, és impossible d’eixir de l’aplicació perquè sempre torna al primer plànol i no ens deixa suficient temps per a desinstal·lar-la a partir del menú configuració d’Android (veure imatge).

Hem usat "jd-gui" per a decompilar l’aplicació. No obstant això, amb l’ofuscació i les tècniques d’antidecompilació, el decompilador no pot decompilar totes les parts del programa per la qual cosa hem d’usar Eclipsi per a depurar l’aplicació. És important observar que les parts de codi mostrades en esta entrada han sigut convenientment tractades.

Per a començar, analitzem l’arxiu de configuració de l’aplicació “Androidmanifest.xml”, que conté activitats, servicis, permisos usats, identificador de l’aplicació (nom de paquet), etc. Veiem que el programari maliciós té el nom de paquet "com.android". Amb el filtre "MAET", podem comprovar que l’activitat "MainActivity" és la primera que s’executa quan l’usuari executa l’aplicació. Després, es definixen dos receptors "ScheduleLockReceiver" i "ScheduleUnlockReceiver" per a executar-se en processos diferents per l’etiqueta ":remote" (s’explicaran més detalladament). Finalment el "BootstrapReceiver" és un classe que va a registrar-se a l’esdeveniment "BOOT_COMPLETED" del mòbil i que s’anomena durant la inicialització del mòbil amb la prioritat mes alta "999". D’esta manera permet la persistència al reiniciament del mòbil. En tindre la prioritat més alta, serà una de les primeres classes demanades durant la inicialització del mòbil (veure imatge).

Mirant el codi decompilat de la classe "MainActivity", veiem que llança l’activitat "LockActivity" i demana la funció "startActivity". En l’activitat llançada hem trobat la funció "dispatchKeyEvent" que permet l’atacant monitoritzar i anul·lar els botons del dispositiu (com HOME, BACK, i MENÚ) i així evitar que l’usuari isca de l’aplicació fàcilment (veure imatge).

Eixa mateixa classe llançarà en segon pla el servici "LockService", que programarà dos tasques "ScheduleLockReceiver" i "ScheduleUnlockReceiver" a través del "AlarmManager". La primera tasca s’executa cada 2 segons mentres que la segona tasca es llança cada 600 segons. Com la segona tasca no està implicada directament en el bloqueig de la pantalla, ens concentrem en la primera tasca (veure imatge).

Cada vegada que la tasca s’executa, s’executa la funció "onReceive" i llança el servici "LockService" i passa el paràmetre "start.event.type" a 2 (veure imatge).

Telefonant al servici, es crida a la funció "dispatchEvent". Amb el tipus d’esdeveniment 2, força l’activitat a llançar-se novament. I així no permet a una altra aplicació passar al primer pla (veure imatge).

Desinstal·lar el Virus de la Policia en Android

Com no tenim accés a la pantalla, no podem desinstal·lar manualment l’aplicació des del menú "Configuracions/Aplicacions". No obstant això, Google proporciona una ferramenta anomenada "adb" usada per desenvolupadors d’aplicacions Android per a instal·lar i desinstal·lar aplicacions, gravar diaris, etc. Abans de desinstal·lar una aplicació, necessitem conéixer el nom del paquet que la identifica. Esta informació es troba en l’arxiu de configuració "androidmanifest.xml". Podem veure que en este cas el nom de paquet del ransomware és "com.android".

La utilitat "adb" es troba inclosa dins de l’Android SDK disponible per a descàrrega des d':
<http://developer.android.com/sdk/index.html>.

Una vegada instal·lada (descomprimir-la) caldrà connectar el dispositiu infectat a l’ordinador, localitzar la ferramenta "adb" en la carpeta "/sdk/platform-tools/" i executar el comandament: adb uninstall com.android amb el que aconseguirem desinstal·lar el programari maliciós.

Més informació ací.

Font: Hispasec una-al-día

CSIRT-CV