Obteniendo datos de perfiles de WhatsApp en modo incógnito

No es la primera vez que hablamos de la poca seguridad que ofrece WhatsApp, ya sea por permitir que te agreguen sin tú consentimiento (de hecho no te entararás nunca a no ser que esa persona te escriba, ofreciendo el servicio perfecto de spam, cambiando de número de teléfono para envío de mensajes masivos) o por no cifrar nuestros chats.whatsappfail

Lo cierto es que a poco que te intereses un poco en seguridad, es el ejemplo de aplicación que no cumple casi ningún requisito básico, de ahí que ya en su momento os recomendara herramientas como Line y sobre todo Spotbros, que tienen más en cuenta este factor tan importante en nuestros días.

Los fallos en este servicio son muchos (arquitectura de servidores que se caen cada cierto tiempo, no estudio de casos extremos, guardado de conversaciones en el terminal sin cifrar, descargas automáticas de imágenes que pueden contener malware o contenido inapropiado,…), y vienen heredados desde el principio del proyecto, en la lógica y planificación previa de un servicio como éste, por lo que es comprensible que a día de hoy sigan casi igual que cuando aparecieron los primeros exploits (si me pidieran asesoramiento, lamentaría informarles que el método más rápido para solucionarlos es reescribir todo el código de 0).

Entiendo que como startup, dediquen casi el total de inversión en reclutar nuevos clientes y abrirse a nuevos mercados, más que en un punto el cual para ojos de posibles inversores es tan poco significativo como la seguridad (no así para sus usuarios).

Por ello me ha parecido muy interesante la entrada de Alejandro Amo en SBD sobre whatsappvoyeur, una herramienta web creada por éste y @berni69 que permite acceder al perfil de usuario de cualquier cuenta de WhatsApp, obteniendo:

  • Foto de perfil (a tamaño real).
  • Frase de estado o “status quote”.
  • Último momento en que el usuario cambió la “status quote”.
  • Último momento en que el usuario apareció conectado en la red.

Indagando un poco en el proceso de obtención de datos (y teniendo en cuenta que el pasado día 9 WhatsApp restringió el acceso a datos de perfil por usuarios no logueados), la aparente solución definitiva, que partía de ofuscar el acceso a datos bajo la capa de sesión (ni más ni menos), se ha levantado de la forma tan sencilla como crear unos credenciales válidos en la propia web del servicio (es decir, antes cualquiera podía acceder vía web a los datos de cualquier cuenta mediante un archivo iq.php, y ahora pueden hacer lo mismo, siempre y cuando hagan el paso previo de crear unos credenciales válidos para acceder a los servidores de la web).

Por tanto, entra en juego varios factores:

  • La facilidad para acceder a los datos de cualquier usuario mediante la creación de unos credenciales válidos (un número de teléfono cualquiera y una dirección arbitraria basta).
  • La facilidad para acceder a los datos de cualquier usuario por el protocolo que WhatsApp sigue usando en política de privacidad: “quien no está explícitamente bloqueado está implícitamente permitido.
  • La facilidad para acceder a los datos de cualquier usuario por la sincronización directa de la agenda de contactos, y la imposibilidad de un usuario de bloquear a otro hasta que al menos se haya producido un primer contacto (cuando el mal ya está hecho).

Algo que deberían mirar, y que seguramente no lo hagan. Mientras, seguiremos recibiendo aumentos del tiempo de uso de la aplicación, retardando para siempre ese hipotético momento en el que la aplicación será de pago.