WhatsApp, siguiendo la estela de Telegram entre otros, añadió recientemente la posibilidad de hacer encuestas a los integrantes de un chat de grupo o de chats individuales. De cara a las comidas y cenas de navidad, están triunfado estas encuestas en los grupos para elegir el menú, pero el elegir carne o pescado, puede implicar que nos “GeoPesquen”, es decir que revelemos nuestra Geolocalización, perdiendo nuestra privacidad.
Figura 1: WhatsApp Encuestas: Cómo localizar dónde
vives por pulsar un enlace de la encuesta.
O como acabar” GeoPescado” al elegir carne
o pescado en la Cenas de Navidad
en los grupos de #WhatsApp
Si en nuestro grupo hay un integrante malintencionado, que es el mismo que confecciona la encuesta con la intención de saber nuestra ubicación, integrando una URL donde hacemos clic en la descripción para entender la encuesta nuestra ubicación estará comprometida.
Dirección IP -> Tu ubicación
Algunas aplicaciones te avisan del peligro de esta redirección que te saca de la aplicación para ir a un servidor externo que puede capturar tu dirección
IP, pero otras muchas aplicaciones como
Twitter, Telegram, Instagram o
WhatsApp, no lo hacen. En el artículo de hoy explicamos cómo poder explotar la información que muestra el resultado de una encuesta (
WhatsApp Encuestas), con los integrantes de un grupo de
WhatsApp y en que momento lo han votado, lo que puede ser un problema para la
privacidad del uso que haces de WhatsApp, así que toma nota.
Figura 4: Previews generados de forma segura
para evitar captura de dirección IP
Como vamos a ver, a partir de recoger las conexiones que hagan los integrantes de un grupo de WhatsApp a una encuesta podremos correlacionar este resultado con la fecha y hora, de un log ad-hoc en la web donde fueron re-dirigidos los integrantes del grupo que hicieron clic en la descripción de la encuesta. Mediante una serie de pasos fáciles de realizar, una tabla en una BBDD y un fichero en PHP. Algo similar a lo que vimos que se puede hacer también con las previsualizaciones de las canciones de Spotify haciendo una re-dirección en WhatsApp.
La mitigación podría ser tan sencilla como un aviso por parte de WhatsApp del peligro que conlleva esta re-dirección o bien una concienciación a los usuarios de los riesgos contra su privacidad a los que incurren, esto último es el propósito final de esta explicación, para que puedan protegerse de los peligros en Internet correctamente.
La funcionalidad de las Encuestas en WhatsApp
Las Encuestas de WhatsApp es una nueva funcionalidad, que nos permite elabora dentro de un grupo una votación o en un chat individual. La encuesta tiene dos partes, la primera la descripción (donde podemos insertar una URL) indica el tema de la encuesta y las opciones para su publicación.
Figura 6: Creación de una encuesta en el grupo de amigos de El Maligno.
Posteriormente podemos ver los resultados, mediante registro temporal, WhatsApp nos indica la elección por cada integrante del grupo, y cuando se realizó con día/mes/horas/minuto. Ahora ya podemos organizar esto.
Figura 7: El gran Julián Isla se presta «voluntario» para la prueba
Por un lado, un registro de visitas a la web que capture la hora exacta y la dirección
IP del visitante. Por otro un registro detallado de los integrantes de un grupo de
WhatsApp que han realizado la encuesta haciendo clic en la
URL de la descripción. Si hay «
match«, ya sabes la dirección
IP y dónde está el contacto de
WhatsApp concreto.
Cómo preparar la web de registro (Stickyweb)
En primer lugar, creamos una tabla en
MySQL con el propósito de almacenar la
GEO información de las direcciones
IP de las visitas de los contactos que han sido redirigidos. La estructura de la tabla
Log se muestra en la imagen siguiente.
Figura 8: Estructura de la tabla LOG donde se registrará la
GEO información IP de las visitas a xxxx.com
En segundo lugar, construimos una página web que, por simplicidad, consta de solo un fichero (index.php) y que también por simplicidad está construida en PHP, tal y como se puede ver en la imagen siguiente.
Figura 9: código PHP que obtiene la información de GEOIP
y la registra en la tabla LOG
En la ejecución del código PHP se recuperan las variables de entorno asociado con la navegación del usuario y que junto a un campo “Timestamp” de la tabla Log anterior expuesta, que supone la fecha de creación del registro en el momento que las instrucciones de PHP realizan la inserción de estos datos de navegación en la tabla Log de la base de datos MySQL.
Preparando el Cebo, creación de la encuesta
La clave para registrar a los usuarios es hacer que, en la descripción de la encuesta, se vea obligado a hacer un clic en el enlace, para poder elegir que tienen que votar. Por lo que la descripción tiene que ser breve.
Figura 10: Cuando preparamos la encuesta indicamos una URL externa
donde registraremos el acceso, en nuestro ejemplo el cebo es el menú de navidad.
Una vez desplegada la web y con la tabla de registro del Log en la base de datos funcionado como hemos visto antes, y hemos lanzando el cebo del menú en la URL externa más la encuesta, toca juntar todas las piezas de manera sencilla.
Cronología de los Eventos
Una vez que publicamos nuestra encuesta solo hay que esperar que los integrantes del grupo hagan un clic en la URL asociada a la descripción de la encuesta, y así saber qué dirección IP de las que han visitado la web externa es la suya.
Figura 11: Cronología de creación de la web, creación de la encuesta,
clic en la descripción, detalles de votación y correlación con el log.
Cronológicamente los contactos 1, 5, 6, 7, lo harán en el tiempo en los puntos 3, 4 y 5 respectivamente, como también muestra la imagen anterior. Es cierto que puede haber momentos de asincronía entre la hora de visita la web y la encuesta, pero… esa es labor ya de análisis fino.
Análisis de la Información registrada
Una vez que ya está registrada la
GEO información
IP de navegación de los integrantes del grupo que realizaron la encuesta, haciendo clic en la descripción de la encuesta, para poder entender lo que votaban. Una tabla
Log de
MySQL con la que procedemos a correlacionar el campo “
FechaRegistro” (que recordemos que es de tipo
TimeStamp) con la fecha y hora que muestra el “
Detalles de la encuesta” que nos proporciona
WhatsApp con
día/mes/hora/minutos de los integrantes del grupo, como muestra la imagen siguiente.
Figura 12: Con los “Detalles de la encuesta” de WhatsApp podemos ver cuándo los integrantes del grupo hicieron la votación, y luego buscamos esa hora en la tabla de Log para saber qué IP usó en la conexión a la web.
El resto, es mirar la información extendida en la tabla de GEO Información IP que tenemos en la base de datos de MySQL con toda la información extendida que hemos sacado y que va asociada a la dicha dirección IP. Lo dicho, puede ser más o menos exacta.
Figura 13: Información extendida sobre la dirección IP
A partir de esta correlación tenemos accesible la información del número de teléfono (haciendo uso de la agenda) y de la dirección IP de conexión, que determinan la información geográfica asociada, así como el proveedor que nos presta el servicio de interconexión, ya sea móvil o no, exponiendo la privacidad de navegación de los contactos de una manera ni autorizada ni solicitada.
Usuario de WhatsApp en modo oculto
Existen usuarios de WhatsApp que tienen habilitada, en su privacidad que no aparezca si están activos o no, así como su última conexión. Estos usuarios también pueden ser registrados, si hacen clic en la URL de la descripción y votan alguna de las opciones.
Figura 14: Podemos registrar también a los contactos de navegación oculta, puesto que también son registrados en las encuestas, como vemos la encuesta se entrega y no tiene fecha de lectura, pero si fecha votación
Podemos obtener su ubicación y cuando realizo la votación, aunque estuviese oculto. Esto es un añadido de falta se seguridad expuesta hasta ahora, este tipo de usuarios suelen ocultar su navegación por algún tipo de presión de su entorno.
Impacto y mitigación
El impacto de esta práctica es una pérdida efectiva de la «GEO privacidad» de los usuarios que hubieran hecho clic en el estado, pudiendo suponer un seguimiento no autorizado de las personas. Algo que de facto es deducir si se está usando una red móvil o una conexión fija, en qué ciudad, provincia o país se está conectado, con todas las implicaciones para la seguridad de las personas o de sus bienes que ello pudiera implica.
Tal vez, se debiera advertir al usuario que este será redirigido a una web externa, (como ya hace WhatsApp), pero debería informar de lo que ello implica, lo que sería una mitigación muy efectiva, ya que las personas se darían cuenta del peligro de pérdida de privacidad que eso implica.
Figura 15: WhatsApp avisa antes de hacer una redirección fuera de la cuenta,
y ahí podía poner más información del riesgo de privacidad.
Además, se podía hacer que el registro de la votación de WhatsApp que fuera menos «detallado«, y hacer las encuestas más similares a Telegram, que no permite inserta URL en la descripción, y permite hacer la votación anónima
Figura 16: En Telegram se permiten las votaciones anónimas
Para poder participar en una encuesta si la información de la descripción existe un enlace externo, que unido al desconocimiento general de su funcionamiento, puede conllevar a visitar una URL externa con registro de visitas, con la funcionalidad del registro temporal de “Detalle de la encuesta” que hace WhatsApp de cada votación, implica una importante exposición de la privacidad de navegación, al correlacionar toda esta información.
Saludos,