viernes, abril 07, 2017

Ataque de Growth Hacking con WhatsApp Status

Hace ya varias semanas apareció la nueva actualización de WhatsApp conlos famosos “Estados”. La experiencia nos ha dicho que con cada nueva modificación del código y con la ampliación de funciones, suelen venir nuevas posibilidades de encontrar fallos o de desarrollar hacks. Así que me puse a revisar esta característica para ver si existían nuevas formas de espiar WhatsApp o había que tomar nuevas medidas para fortificar la seguridad y privacidad de WhatsApp.

Figura 1: Ataque de Growth Hacking con WhatsApp Status

Después de informarme un poco acerca de los estados veo que es exactamente idéntico a Instagram, Facebook o bueno, a Snapchat.  La idea de esta opción de los Estados es que puedes poner un mensaje público que sea parte de tu contacto en la agenda de contactos de WhatsApp de todos aquellos que te tengan en ella.

Figura 2: WhatsApp Status

Es decir, tu configuras tu estado y éste es parte de la lista de estados que verán todas las personas que te tengan añadido en su agenda. Es decir, si alguien te tiene añadido en su agenda, entonces tu estado aparecerá en su lista de estados. Y esto abre una posibilidad muy curiosa para hacer un ataque de Growth Hakcing con la lista de estados si somos capaces de inyectar en un teléfono en la agenda de contactos, para aparecer siempre el primero en la lista de estados.

PoC: Una app que te inyecta un contacto falso

Para probar esta hipótesis decidí hacer una aplicación Android muy simple que al instalarse, pide los permisos que necesita para poder inyectarte un contacto en la agenda, como cualquier otra aplicación de Android que solicita este permiso. Es más, si solicitas muchos permisos tal vez éste pase desapercibido.

Figura 3: La app solo añade un contacto para hacer el spam de estados en WhatsApp

La app como PoC lo único que hace es solicitar los permisos y añadir un contacto a la agenda cuando se da al botón. Es más, si solicitas muchos permisos tal vez este pase desapercibido. Este es el código necesario para agregar un nuevo contacto a la agenda.

Figura 4: Código de la app para añadir un contacto cuando se pulsa al botón

Cuando se instala la aplicación automáticamente se guarda un número de teléfono en la agenda del dispositivo (en la PoC, lo he puesto haciendo clic a un botón) mi número de teléfono, el de mi empresa, el de la tienda de mi barrio…cualquiera que quiera utilizarse para luego hacer spam a través de los estados de WhatsApp. En el siguiente vídeo se puede ver  cómo funciona el proceso completo.

Figura 5: PoC de Inyectar estados creando un contacto en la agenda con una app

Como se ha dicho antes, al estar en la agenda de contactos del usuario de WhatsApp, bastaría con añadir nuevos estados periódicamente asociados a la cuenta de WhatsApp que ha sido inyectada como contacto, y todas las personas  que hayan sido "inyectadas" con este número de teléfono verán el "spam" vía estado de WhatsApp.

Apps que automaticen el "spam"

Si el usuario está - o lo peor - o si alguna vez ha sido parte de la agenda telefónica del usuario, entonces se verá el estado. Luego incluso podríamos hacer un “suicide” a ese mismo usuario, eliminarlo de la agenda y esas personas seguirán viendo mi estado.

Figura 6: Estados visualizado para un contacto que ya ha sido eliminado de la agenda

Y además, la app podría crear y borrar el contacto periódicamente, para evitar ser descubierto de dónde está apareciendo. Mirando en el Big Data de apps de Tacyt, se puede ver que hay más de 96.000 apps en GooglePlay que tienen el permiso de crear contactos en la agenda.

Figura 7: Apps de Android en Google Play descubiertas en Tacyt con permiso para modificar la agenda de contactos

Normalmente la gente tiene un serio problema con las redes sociales y Whatsapp, se está convirtiendo en una, la gente tiene la necesidad de compartir su vida a sus contactos, y ¿Por qué iba a tener yo alguien ajeno a mi vida? Van a aceptar todos los estados y van a enviar todos los estados a todo el mundo.

Growth Hacking

Si se oculta el código mostrado en la app de la PoC en alguna app más o menos popular con miles y miles de instalaciones se podría hacer una campaña de marketing para Growth Hacking en cuestión de segundos, o cobrar por ello a terceros ofreciéndole este servicio completamente “legal” porque el usuario, en definitiva, ha aceptado la instalación de la app con estos permisos.

Figura 8: Código de la app de la PoC en GitHub

Esto tendría mucho valor, teniendo en cuenta que además, a día de hoy, todavía no existen anuncios en WhatsApp, con lo que una app se podría adelantar al negocio de la compañía vendiendo este servicio desde un buen número de apps.

¿Cómo evitar caer en este ataque de Growth Hacking?

Tenemos diferentes opciones, y la primera pasa por lo que ya sabemos, que es asegurarnos de que apps instalamos en nuestros dispositivos y qué permisos les damos para qué las apps que accedan a nuestra agenda y la puedan modificar sean solo las que deben.

Figura 9: Ajustes de Privacidad de Estados en WhatsApp

La segunda opción sería bloquear al usuario que nos apareciera en los estados de WhatsApp de forma indeseada, y la última, configurar las opciones de "Privacidad de Estados" para que los estados solo sean compartidos con algunas personas, pero yo pero personalemente desactivaría este servicio, porque los estados de los usuarios de tu agenda seguirán pudiendo inyectar estados.

Autor: Álvaro Barahona Sánchez (@AlvaroBS92)

2 comentarios:

  1. Excelente aporte Chema, este fallo puede servir de mucho si hablamos de publicidad, se podría publicar contenido para promocionarlo. Podría ser una ventaja.

    ResponderEliminar
  2. jeje buen aporte aunque el autor no es Chema Alonso xD yo al comienzo pense que era el tambien , igualmente gracias por compartir.

    ResponderEliminar