Remoto, disponible

Tu IP pública, visible con una sola llamada

Una característica técnica diseñada para hacer las comunicaciones más eficientes puede, sin configuración adecuada, exponer tu dirección IP pública a cualquier persona que te llame. Este post explora el mecanismo detrás del problema y sus implicaciones reales.

¿Qué es WebRTC y por qué importa?

WebRTC (Web Real-Time Communication) es una tecnología de código abierto integrada en navegadores y aplicaciones modernas que permite transferir audio, vídeo y datos directamente entre dos dispositivos, sin pasar por un servidor intermediario. Es la razón por la que plataformas como WhatsApp, Meet o Discord pueden ofrecer llamadas de baja latencia sin consumir grandes recursos de infraestructura.

Para establecer esa conexión directa entre pares (peer-to-peer), ambos dispositivos necesitan conocer la dirección IP pública del otro. Aquí entra en juego el protocolo STUN.

STUN (Session Traversal Utilities for NAT) permite a un dispositivo que se encuentra detrás de un router o NAT descubrir su propia IP pública y el tipo de puerto que está utilizando. Es una pieza esencial en la arquitectura WebRTC.

El vector de ataque: interceptar la negociación STUN

Durante el establecimiento de una llamada WebRTC, el dispositivo del llamante envía candidatos ICE (Interactive Connectivity Establishment) que incluyen, entre otros datos, la IP pública del usuario. Este proceso ocurre en el momento en que se acepta la llamada.

Con una herramienta de análisis de tráfico como Wireshark, un atacante puede capturar estos paquetes en su propia interfaz de red y extraer la IP pública de la contraparte de forma trivial, sin necesidad de exploits ni vulnerabilidades adicionales.

Cabe destacar que este comportamiento no es necesariamente un bug, sino una consecuencia del diseño del protocolo. WhatsApp, por ejemplo, ha implementado mitigaciones parciales en versiones recientes, pero la superficie de ataque persiste en función de la configuración de red y el cliente utilizado.


¿Cómo afecta esto en la práctica?

Por sí sola, una IP pública no identifica a una persona ni a su domicilio exacto. Sin embargo, en el contexto de un ataque dirigido, reduce significativamente el margen de maniobra del atacante y amplía las posibilidades de pivotaje:

Geolocalización aproximada





Mediante bases de datos de geolocalización IP se puede inferir ciudad, ISP y código de área con una precisión variable.

Un atacante puede contactar al proveedor de internet suplantando a la víctima, usando la IP como elemento de verificación.

La IP puede cruzarse con registros en bases de datos filtradas (dark web) para obtener credenciales, correos o datos adicionales.

Si la IP es estática o semi-estática, puede vincularse a actividad en foros, servicios web o plataformas que registran IPs.

Mitigaciones

01

Usar una VPN de confianza

Una VPN hace que la IP expuesta durante la negociación STUN sea la del servidor VPN, no la del usuario. Solución más efectiva para uso general.

Recomendación personal por su soporte a linux: Proton VPN Free

02

Deshabilitar WebRTC en el navegador

En Firefox puede desactivarse desde about:config. En Chromium es necesario usar extensiones como WebRTC Leak Prevent.

03

Revisar la política de llamadas en WhatsApp

Activar “Privacidad de IP en llamadas” si está disponible en tu versión. Esta opción enruta las llamadas a través de servidores de Meta, reduciendo la exposición directa.

04

No aceptar llamadas de desconocidos

La exposición de IP solo ocurre si se acepta la llamada. No responder a números desconocidos elimina el vector en su origen.

© 2025 Roberto Ernesto Gonzalez · rgonzalez.me