JSDialers: apps que llaman a números premium (con nuevas técnicas) en Google Play

martes, 17 de febrero de 2015

Durante el año pasado se descubrió en Google Play bastante malware "made in Spain" que intentaba suscribir de forma automática a servicios SMS premium. Desde hace algún tiempo, el problema ha remitido, y es difícil encontrar especímenes de ese tipo al menos en Google Play. En Eleven Paths hemos encontrado siete aplicaciones durante estas últimas semanas, que usan nuevas técnicas basadas en JavaScript más dinámicas e ingeniosas y así han conseguido subir a Google Play apps fraudulentas. Los hemos llamado JSDialers. Veamos cómo.

Agotado el filón de los SMS premium en Google Play, los atacantes han optado por otra técnica que elude en lo posible el código en Java y se centra en JavaScript recibido de los servidores. Además, también prescinden algo de las suscripciones SMS y en su lugar realizan llamadas a números de tarificación especial. Todo de forma muy inteligente, puesto que silencia el teléfono mientras hace la llamada, intenta ocultar la pantalla y además, toma todo el código de forma dinámica.

Lo que percibe el usuario

El usuario bajará una de estas aplicaciones, y verá algo así. La secuencia de imágenes es la siguiente.


Primeras pantallas que recibe el usuario

Las típicas "condiciones de servicio" y pregunta por mayoría de edad, que probablemente nadie lea. Aceptarlas implica realizar la llamada de forma totalmente automática y transparente para el usuario. De hecho, la imagen de "Aceptar" que se muestra está tomada de este enlace:

hxxp://www.contentmobileapps.com/called/images/continuar_call_100.jpg

Lo interesante es que respondiendo cualquier opción, el teléfono mostrará una animación (un GIF descargado desde aquí hxxp://www.contentmobileapps.com/called/images/loading.gif) mientras en realidad se realiza una llamada a un teléfono de tarificación especial.

Gif que se muestra al usuario mientras se realiza la llamada.

Parece que según el teléfono, aparecerán durante muy pocos segundos la barra de llamada pero el programador intenta ocultarla por todos los medios.

A veces, se observa que se está realizando una llamada entre bambalinas

El atacante silencia el micrófono y altavoz para que el usuario no perciba el mensaje que la llamada se está realizando y la locución.

En la última línea se observa el intento de silenciar micrófono y volumen del auricular

La víctima quedará suscrita a este servicio y tendrá que asumir los costes especiales de la llamada. El usuario pasa a consultar las recetas, pero la llamada ya ha sido realizada.

La app son una serie de enlaces a una web, pero realmente ha realizado la llamada

También es cierto que en la parte de "ayuda" de la aplicación, se ofrece la opción de cancelar la suscripción.

La app ofrece instrucciones para cancelar la suscripción

¿Qué ocurre y cómo funciona?

Estas apps dependen fuertemente del servidor y funciona a través de Cordova. Se trata de una librería que permite acceder a funciones del teléfono a través de JavaScript. Los permisos de la app estudiada son estos, aunque no coinciden en todas. Algunas no disponen de permisos SMS.


Permisos de una de las apps. Algunas no tienen permisos de envío SMS

Lo primero que hace la app es ejecutar un WebView con Cordova, que llama a un html interno.
El dominio ofuscado comienza la comunicación real con el servidor
Esto realiza una petición del tipo  hxxp://highmas.com/alcalinas/home.php?movil=ffffffff-XXXX-ffff-ffffd6de17fd&version=16&modelo=GT-XXXX%20(goldenxx), y el usuario recibirá la pantalla de bienvenida y se le pregunta por la edad. Pulse lo que pulse el usuario, irá a la misma función, que recopila cierta información a través de un formulario. El valor del Captcha es irrelevante, y parece que se trata de algo que se pensó, pero no se llegó a implementar.

Formulario que envía al servidor con información
Un redirect tras la petición, lleva al usuario a una página de comprobación del operador y el país.

La app comprueba a través de JavaScript el operador y el país
Una vez comprobado todo, muestra las condiciones de servicio. Aceptadas las condiciones, llama a "term_acept.asp", que por fin devuelve dinámicamente el número al que se debe llamar.

Aquí devuelve ya el número de tarificación especial al que va a llamar de forma automática

Con ayuda de la ejecución de Cordova y un plugin de llamadas, consigue su objetivo:


Otros datos de interés y más apps

Los creadores han encontrado así una forma de volver a la actividad fraudulenta con las llamadas a números de tarificación especial. ¿Quiénes están detrás de estas apps? Los dominios y la letra pequeña lo dejan claro. Estamos realizando una investigación más profunda sobre los autores y las aplicaciones que intentaremos ofrecer más adelante.

Con Path5 hemos podido encontrar otras aplicaciones similares. Algunas han sido retiradas pero no todas aún. Operan desde principios de enero.





Algunos ejemplos de las apps encontradas

Algunas han mutado desde apps de coches (en japonés), a supuestas apps pornográficas. Una vez más, es la fórmula para pasar un poco más desapercibido en Google Play.


App que mutó en algún momento
Estas son las aplicaciones, el nombre de paquete y hashes estudiados. Solo una app ha sido analizada en Virustotal, y no es detectada por ningún motor antivirus por ahora.

  • Videos hd peliculas porno sexo, com.gepekline, 6f1c3a596920298873f1e38842f751991875e6d6
  • Peliculas videos sexo Porno hd,com.wheelpvies,34b2bba921e9b7d9c8242d31e2cc011908684d9a
  • Videos hd peliculas porno sexo ,com.spportss,ada71fc53f9aae5f84cc69814b58f65f1e273067
  • Canciones infantiles y videos, com.sursongsonline, 1fcce1b8effdcbdef54cc02675eefc5214fec67b
  • Peliculas videos porno sexo hd,com.escarsysview, 031490dd0b824c02be7d0fe728d67f998ef7c914
  • Cine estrenos peliculas online, com.filmsmeka, e856cd2d4a366abbb1df18c8bc53c7a35a6da535
  • Un millón de recetas de cocina, com.recippes, 194362c46b124161a5289d1d3c4c56f93b142044

Con nuestra base de datos, hemos comprobado que parece que se trata de un equipo que opera desde Valencia desde hace algunos meses.

Apps de estos desarrolladores en nuestra base de datos


El documento está disponible aquí:





Sergio de los Santos
ssantos@11paths.com
@ssantosv

Juan Manuel Tirado
juanmanual.tirado@11paths.com

Miguel Ángel García
miguelangel.garcia@11paths.com

3 comentarios:

  1. Señores excelente trabajo.

    Estas investigaciones que ustedes realizan son fascinantes para conocer cómo operan estos delincuentes.

    ResponderEliminar
  2. Lo que no entiendo es por que parece que le echáis la culpa a cordova, ya que aunque la llamada "se hace" desde javascript, ese javascript no hace nada mas que ejecutar un código java que hace la llamada de verdad

    ResponderEliminar
  3. Lo que no entiendo es por que parece que le echáis la culpa a cordova, ya que aunque la llamada "se hace" desde javascript, ese javascript no hace nada mas que ejecutar un código java que hace la llamada de verdad

    ResponderEliminar