Downloaders "en diferido": Nuevas técnicas de descarga de apps maliciosas en Google Play
Los "downloaders" son un viejo truco en el mundo del PC, y algo relativamente no tan nuevo en Android. Estas apps intentan encontrar el camino hacia la victima usando permisos menos sospechosos, o incluso ofreciendo realmente la funcionalidad prometida. Así es como llegan a Google Play. Después, en una futura versión, una vez consolidados en el mercado, mutan. Se vuelven "downloaders" de un adware o malware más complejo. Los atacantes tienen mucho más éxito con estas técnicas. Hay muchas. Veamos una nueva.
Cómo funciona
Un usuario podría descargar una aplicación aparentemente inocente y, solo un tiempo después, el teléfono descargaría e intentaría instalar, engañando al usuario, otra aplicación completamente diferente: muy probablemente maliciosa (malware, dialers o suscriptores a mensajes premium, etc).
Las apps que hemos encontrado no son muy detectadas por los antivirus e incluso, si lo son, es por la carga de adware agresivo que llevan en sí mismas, no por su técnica de descarga. Incluso muchas de ellas todavía se encuentran en Google Play. Hemos analizado esta que todavía se encuentra online.

Se supone que se trata de un "cambiador de voz" y en realidad lo hace, guardando un fichero .wav y modificando la frecuencia de reproducción. La app en sí misma contiene tres SDKs diferentes de tres proveedores de publicidad distintos. Esto significa que por sí misma inunda el teléfono con publicidad. Pero no es suficiente... esta app declara además un "receiver" llamado "USER_PRESENT".

Este es un evento oficial que se lanza cada vez que el dispositivo "se despierta" por una acción del usuario. En otras palabras, básicamente cuando se desbloquea. Este es el código que se lanza cuando se recibe el evento:

Downloading... pero no hoy
La app no descarga nada el mismo día que el downloader ha sido instalado. Así evitará un "análisis dinámico". El usuario instalará entonces este "cambiador de voz", pero no notará nada extraño hasta, al menos, el día siguiente. Y entonces, el día después, se realiza otra comprobación. Dos de cada tres veces se visitará la URL mostrada en la imagen. Ahí un TXT apunta a otra app en Google Play, de forma que el atacante inunda con estos anuncios la pantalla.
Pero la parte interesante ocurre cuando la app no entra en ese "if" y baja por el código. El método Gfveaqwfea comprueba la existencia de la app com.facebook. No es la app oficial de Facebook (es com.facebook.katana), sino el adware que será instalado posteriomente.

La app comprueba si el dispositivo está configurado para instalar apps de fuera de Google Play. Esto es muy común en ciertos países donde el uso del mercado es limitado. También es una configuración común en los dispositivos de usuarios que instalan apps "no oficiales", así que en estos escenarios tendrá bastante éxito. Si es así, se descarga a.apk desde la URL mostrada en la imagen y se almacena como xxx.apk.



Es importante recordar que esta es la imagen que aparecerá cuando el usuario desbloquee el teléfono, el día después de que fuera instalada la app original, y solo una de cada tres veces hasta que sea instalada... así que es bastante improbable que la víctima asocie la primera instalación del "cambiador de voz" por ejemplo, con esta "actualización" que parece legítima de Facebook. El icono es similar y el nombre lo hace aun más confuso.

Esta nueva app descargada podría ser, literalmente, cualquier cosa. En este caso se hace pasar por Facebook, y el icono desaparece un segundo después de ser instalada. Si el usuario tiene el Facebook real en su teléfono, pensará que se está autoactualizando, y probablemente no le otorgue mayor importancia. Pero la realidad es que se trata de un adware muy agresivo que será instalado por el usuario gracias a este truco de ingeniería social.

Los atacantes están especializándose cada vez más en que las apps lleguen a Google Play, y transformarlas luego en adware/malware a largo plazo. Esta operación a largo plazo les proporcionará más víctimas y estamos detectando este patrón cada vez más en apps maliciosas. El truco de ejecutar la app solo cuando el teléfono se desbloquea, otorga mayor "credibilidad" para la víctima.
Con Path5, hemos identificado a la persona detrás de estos ataques (un programador polaco). Ha estado operando desde finales de 2014. En estos momentos están activas unas 20 apps suyas en Google Play, de unas 100 que ha subido en las últimas semanas. La app que acabamos de analizar es us.free.voice.changer.funny.voices.lolapps, con el SHA1: c0eb7cde5a1b3818a1d7af2f580f8ea3fa1e8d61
Las que parecen ser del mismo programador, usando técnicas similares, y todavía están online son:
- TV remote controller, us.tv.remote.pilot.television.free.tool2, 88287f102bbd9cf3a3e5e7601b5bc8ee760d4525
- Faster Wifi PRANK, us.phonehelper.wifi.booster.free, 74b2cc8d95c001832a4d4fb11ea3cb9638daf5e8
- Visión nocturna gratis, us.night.vision.nightvision.free.useit, 1606ce1f616e3ba29ac021e4ce1ac1cb5e84b7a4
- Funny voice changer, us.free.voice.changer.funny.voices.lolapps,c0eb7cde5a1b3818a1d7af2f580f8ea3fa1e8d61
- Fake phone call, us.free.fake.call.caller.lolapps, 3b0a2b88effd264235e75984cea3bc77a6304e8b
- Fake connection, us.fake.call.caller.free.usapps, 2f3c8a8cd1e5ecdad0e348484c72f25aff45d755
- Faster internet PRANK, us.phonehelper.internet.booster.free, c2b083d0ce9d13e8df2f680f2901cd54778d385e
- Increase battery life PRANK, us.phonehelper.battery.booster.free, 4890c7437268b65ef376515047c13e0eecffdd9a
- Funny voice changer, us.free.voice.changer.funny.voices.lolapps, a97c7f6669c41ead0ba54928ebe2cad5ba706bc5
- Transparent phone HD, us.transparent.screen.diaphanous.phone.lolapps, 64e44c0d234f96eff5f0e44305d25b35242b0e51
- Flash-Player installation, us.flashapps.free.flashplayer, 9f0c9145f2a265d476b936830fa9dde3d024eab6
- Diáfano teléfono (gratis),us.transparent.screen.diaphanous.phone.free.smartools,c6c2617f7cf512669f553876939e5ca367c9e746
- Increase volume sound PRANK, us.phonehelper.sound.booster.free, 3e360ee39146cbd834280c18d656e3e9f6d0df2f
- Termómetro electrónico gratis, us.digital.electronic.thermometer.free.measure.temperature.temp, 722f7f2c10c4b656ded858cf9f91a8c55ea226b6
- Ski jumping 2015, us.ski.jumping.free.game.full.sportgames, 638a1c331e76bec73b1a46a451e4d1de6cd20879
- FlashPlayer, us.flashapps.free.flashplayer2, 9f7aa1bc90770748681b08e3ee63dcb974195f7a
- Falsa llamada entrante, us.free.fake.call.caller.smartools, fb9c05094eb1fdcfa8aec07eeff1e95ee7814e76
- Increase network signal PRANK,us.phonehelper.signal.booster.free,495b151c5e709bfa50c671c8fb93cbeaee29e025
- Control remoto para la TV, us.tv.remote.pilot.television.free.tool, dbfd108973388d6c1a506ac68b79463df8271f5c
- Fake phone call, us.free.fake.call.caller.lolapps, e96d2ab7d8d0c7990be07bd42b9e9bc079e70f3a
- Tonos para Navidad, us.christmas.ringtones.free.carols.mp3.ringtonedownloader, fa57543faf60073f56041caee0f1524cfc9f77dd