Shared posts

26 Mar 08:25

La estafa de la linterna molona que ilumina más en Android

by noreply@blogger.com (Maligno)
Somos un par de programadores de apps para móviles a los que nos gusta venir a El lado del mal a leer los artículos y nos hemos decidido hoy a contaros esta historia en la que se puede ver que un cibercriminal, se ha montado un chiringuito con las apps de Android para hacer fraude online y comprarse un chalet un en la playa o donde quiera, por si alguno de vosotros puede avisar a amigos y compañeros de que eviten este problema o por si estáis puesto con este tipo de malware y os apetece investigar un poco más.

Parte 1: Del gancho en Facebook al SMS de pago por Vodafone

Hace poco mi colega vio un anuncio a través de Facebook en el que un amigo suyo había publicado un post sobre una app para Android que supuestamente ofrecía una linterna molona para el móvil que "...hace brillar el led mas que ninguna otra app de linternas y totalmente gratuita...".

Ni corto ni perezoso mi compañero se la descargó con intención de decompilar el código y así aprender cómo demonios hacía eso de hacer brillar más el led. ¿Sería algún parámetro trucado en alguna función de la API? ¿Sería alguna función oculta? Había que resolver el misterio y por el camino llegó la sorpresa, que mató al gato por su curiosidad.

Figura 1: Linterna Led a.k.a "Linterna Molona" en Google Play

Al descargarse la app no había supuestamente ningún servicio que pudiera acarrear coste alguno. Según la lista de información que acompañaba a la app, ésta podía leer mensajes y conectarse a Internet pero para nada decía que pudiera enviar mensajes de ningún tipo - con o sin coste - o hacer llamadas, por lo que continuó con la descarga. Sin embargo, nada más ejecutarse, esta app lee tu número de teléfono, se conecta a Internet y da de alta el número de teléfono de la víctima en una página de servicios ofrecidos vía mensajes SMS. Rápida y mortal.

En este caso en concreto, nada más instalarte la app y que te de alta en un servicio de mensajes SMS de pago, Vodafone manda de forma instantánea un mensaje con un PIN al dueño del número de teléfono para que autorice el alta en este servicio. Este mensaje que se recibe no tiene coste, es solo una medida de seguridad que en este caso Vodafone implementa para evitar la suscripción automática de personas a los servicios de pago, aunque como veremos más adelante no son tan seguros los métodos empleados para el registro.

Lo que sucede es que la aplicación en tu Android está esperando ese mensaje SMS que llega desde Vodafone para leerlo - ya que tiene permiso para hacerlo -, extraer el PIN de seguridad del mensaje y autorizarse ella solita en la misma página Web de los servicios de pago para confirmar la suscripción.

La lectura de estos mensajes SMS desde una app es algo que se puede hacer desde código y que se explica en el libro de Desarrollo de Android Seguro, ya que es muy utilizado por el malware en el mundo de Android. En el caso del troyano para espiar Android es lo que se utiliza para controlar remotamente al bot de espionaje instalado.

Por supuesto, una vez que has confirmado la suscripción - Vodafone supone que has sido tú y no una app maliciosa en tu terminal móvil por su cuenta - se ha autorizado al proveedor de servicios a enviar mensajes SMS con coste, que te serán cargados en la factura.

No contento con eso, para conseguir la viralización del negocio, si tienes instalada la app de Facebook en tu terminal Android, la linterna molona publica en tu nombre un post contando las virtudes de la famosa linterna para que tus amigos la prueben también a ver cómo diablos se consigue tener una linterna que ilumina tanto.

Parte 2: ¿Pero esto qué es?

Cabreado como una mona - pues a ningún profesional en el tema le gusta que "se la metan" y si no que se lo digan a  Eagle cuando le enchufaron desde Cydia la app que hacía click-frauden su iPhone - mi compañero averiguo esto a posteriori no sin antes restringir rápidamente el servicio en Vodafone, para a continuación decompilar la app y destripar cómo funcionaba el tinglado.

Para destripar un poco el funcionamiento procedimos a descompilar la aplicación usando dex2jar para obtener el código fuente mas o menos legible, y digo mas o menos porque estaba ofuscado utilizando Proguard. Usamos también el explorador de ficheros JAR llamado JD-GUI para Windows para abrir el JAR decompilado y APKTool para extraer los recursos de la aplicación, es decir imágenes, documentos XML y demás recursos embebidos.

El identificador único de la aplicación para Android es com.linterna.molona. La verdad es que con ese nombre no prometía mucho, pero luego hay que reconocer que se han trabajado el sistema hacer el registro automatizado y la viralización de la estafa. La aplicación fue retirada de Google Play a los pocos días pero aun existe en algunas páginas en la caché de Google en la que se puede ver - y con muy buena valoración de la misma -.

Figura 2: Valoraciones y descargas tal y como se ve en la caché de Google

La app ha sido retirada por Google, en los foros tenía quejas de usuarios, pero después de superar más de 10.000 descargas, ya que el ratio en Google Play está entre 10.000 y 50.000 instalaciones desde el 23 de Diciembre del año pasado, lo que es una pasada.

En otros foros como AppsZoom aparece aún disponible y en ellas hay ya más de 100.000 descargas y muchas quejas de víctimas. Con la friolera de 100.000 a 500.000 descargas, multiplicadas cada una por 1.5 € en el mejor de los casos…haced cuentas.

Figura 3: Linterna LED en AppsZoom aún disponible

Desde luego, viendo esto la credibilidad de sitios como AppsZoom que siguen distribuyendo esta app y creando más y más víctimas de esta estafa. Lo único bueno que tiene esto es que si te gusta la seguridad y quieres analizar bien la estafa, tienes fácil localizar el malware. Está a la vista de todos, ahí, en sitios que se presentan como índices de apps para terminales móviles.

En el sitio se puede ver que el supuesto desarrollador parece ser un tal Rylan Roach pero es fácil suponer que será un nombre falso. Si el tipo éste se pilla un LiveCD con una distribución de TOR, se da de alta en Google Play con una cuenta en las Islas Caimán para cargar los 20 USD y a ver quién lo encuentra ahora. A Google Play, por desgracia, puede subir una aplicación hasta el gato de tu prima y como hemos visto, con la desfachatez de decir que eres Apple o si lo prefieres que eres WhatsApp y nada más pasa.

Tras escarbar un poco en Internet es fácil encontrar que en el foro de usuarios de Vodafone había quejas de gente a la que le habían estafado hasta 30 € y la aplicación tenia más de 100.000 descargas. Vamos que se están forrando.

Por supuesto se ha puesto una denuncia y la Guardia Civil y su Grupo de Delitos Informáticos se ha puesto en contacto para obtener el código fuente e incluso se han interesado en verse en persona para que se explique en detalle todo lo que se ha descubierto: URLs, empresas implicadas - la Web de servicios de esta estafa es malagueña, etcétera. Como apunte decir que la web que ofrece esos servicios premium:
- No va con protocolo https
- Los parámetros van por GET en la URL
- No dispone de captchas para impedir el registro automátizado por parte de malware
Parte 3: ¿Pero cómo es esto posible?

Analizando la app, se puede ver que tiene los siguientes permisos, y aunque si bien es cierto no requiere enviar ningún mensaje SMS, sí que puede recibirlos y aprovecharse de la forma de darse de alta en la web de servicios de coste a los SMS.
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
NO TIENE PERMISO:
<uses-permission android:name="android.permission.SEND_SMS" />
Se puede observar que según Android el llamar por teléfono o enviar mensajes SMS puede comportar costes adicionales, evidente. Pero leer mensajes SMS NO comporta gastos adicionales, algo que como vemos es un error, ya que una app capaz de leer un mensaje SMS puede comportar gastos adicionales,en tanto en cuanto puede leer un PIN de alta de confirmación de Premiun o cosas peores.

Figura 4: Los permisos de la app que pueden y "que no" pueden acarrear costes

Otra curiosidad es que el funcionamiento habitual de Alta Premium según Vodafone es el siguiente:
El alta en los servicios Premium es siempre voluntaria. 
Para Mensajes Premium tú envías un SMS de manera voluntaria a un número corto y siempre recibirás un SMS donde se te informará del precio del servicio. En el caso de las numeraciones de mayor tarificación serás informado del precio y deberás confirmar la compra a través del envío de un nuevo SMS. 
Para darte de alta en una Alerta Premium puedes hacerlo desde el teléfono mediante el envío voluntario de un SMS a un número corto de cinco o seis dígitos con la palabra ALTA, lo que supondrá el alta en un servicio de suscripción de SMS Premium. 
Recibirás un SMS donde se te pedirá que confirmes que deseas realizar la suscripción. En el caso de que confirmes, recibirás periódicamente mensajes SMS con coste. En caso de que no confirmes, no se realizará la suscripción. 
También puedes darte de alta a través de una página web en la que introduces tu número de móvil y posteriormente recibes un SMS para aceptar la suscripción con un código de acceso. Si aceptas las condiciones te darán de alta en el servicio de suscripción SMS Premium, y recibirás periódicamente las alertas con coste. 
En ocasiones los proveedores también mandan publicidad vía correo electrónico para que te des de alta en nuevas alertas. 
By Vodafone…..
Este procedimiento de “Alta Web” es totalmente inseguro, una aplicación de Android puede suplantar todas estas acciones de manera fácil con permiso de Leer SMS (que no comporta gasto). Esto se puede solucionar obligando a que se envíe el típico mensaje de “ALTA 123345 CODIGO” deba ser enviado con un SMS algo que los usuarios tienen más interiorizado y saben que conlleva riesgos si se da este permiso a una app. El sistema Alta Web es inseguro e innecesario. Esto unido a que por defecto en Vodafone los servicios Premium están activados cierra el circulo de la estafa.

Para conseguir el número de tu teléfono utiliza una serie de trucos, alguno digno de un troyano que quiera espiar WhatsApp, ya que accede al número de teléfono que tienes configurado en él para registrarte en la web. Esta es una parte del código ofuscado de la app.
Account[] arrayOfAccount = AccountManager.get(this.e).getAccounts();
.......
for (int j = 0;; j++)
{
.....
if (!localAccount.type.equals("com.whatsapp")) {
break label333;
}
this.f = 'W';
Además, para hacer uso de este último sistema de Alta Web con tu "consentimiento", al entrar en la aplicación aparece un mensaje para aceptar las condiciones de uso.

Figura 5: Consentimiento para estafarte pedido por la linterna molona

Afinando la vista se puede ver que la aplicación incluso avisa de que “Pulsando ACEPTAR enviaras el PIN para proceder al ALTA……” Todo ello en letra pequeña y con un contraste mínimo. ¿No lo has visto en la pantalla anterior? Aquí tienes un zoom para que te fijes lo asequible que está.

Figura 6: El consentimiento con el zoom. Haz clic si necesitas más zoom aún.

Y pulsando en el enlace “Términos y Condiciones” remite a la siguiente URL donde se te avisa del palo que te van a dar como des en Aceptar.

Figura 7: Las condiciones de la estafa que te van a calzar

La app además va cambiando de proveedores de Servicios Premium y repartiendo las suscripciones a diestro y siniestro en múltiples sitios, con lo que hace más difícil el luchar contra una estafa tan capilarizada.

Parte 4: Y esto es todo amigos

Para más INRI te suscriben a este tipo de servicios que seguro que para muchos de vosotros, como para mí, es absurdo hasta suponer que alguien se pueda creer - y menos un juez - que estos son contenidos por los que a día de hoy se pagaría masivamente.

Figura 8: El servicio por el que seguro que tú pagarías 36 € al mes

Visto todo esto, y por concluir, podemos decir que un cibercriminal con conocimientos de programación de apps de los que se pueden obtener en un buen curso de desarrollo de apps para terminales móviles o con la lectura del pack BYOD, un poco de mala uva y visión de "negocio", sumados a un sito Web de servicios que ofrece un sistema de registro totalmente inseguro - no sé si intencionadamente o por falta de profesionalidad de los programadores de la misma -, más el control poco exhaustivo de las aplicaciones por parte de Google Play del que tantas y tantas veces se ha quejado todo el mundo, ha propiciado esta estafa.

Seguro que visto el éxito, este negocio se estará dando en más países y que seguramente va a acabar con el cierre de la Web - veremos si además con un multazo por incumplir alguna ley -, y con el cibercriminal con un chalet en la playa, que a ver quién es el guapo que le echa el guante.

Actualización: Como se han detectado más apps maliciosas haciendo uso de este mismo esquema se ha subido esta app a Google Play que comprueba que apps por sus permisos podrían realizar esta estafa, para que tengas cuidado.

Figura 9: app para  Stop SMS Scam

Autores:
José C. Agudo & Miguel Ángel Cardenete