Seguridad

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

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

Es conocido que, si te conectas a un sitio web, tu dirección IP puede ser registrada y analizada. Y esta dirección IP puede dar información de tu ubicación – más o menos certera –Esto sucede en todos los servicios que permiten compartir URLs y esta dirección IP que los sitios web pueden capturar y analizar, apunta, más a o menos, al lugar donde te encuentras, salvo que hagas uso de la red TOR, utilices una VPN o un Proxy que haga anónima tu conexión. Sobre esto hablamos unos meses, en este blog en el artículo de «Cómo pueden saber dónde vives por pulsar un enlace de un WhatsApps «Status», el artículo anterior que publicamos«.
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 3: Libro de «Cómo protegerse de los peligros en Internet«
de José Carlos Gallego en  0xWord

Ya hace años, los chicos de SecurityByDefault publicaron un ejemplo de cómo utilizar la carga automática de imágenes en la previsualización de los mensajes de WhatsApp  en los chats para capturar la dirección IP de un contactoWhatsApp  y Telegram corrigieron esto para que no sea el destinatario del mensaje sino el emisor, el que cargue la imagen de previsualización, precisamente por privacidad.

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.

aaa

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,

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.