lunes, septiembre 16, 2013

Con Google Chrome o Firefox tu iP local está expuesta

Las técnicas de WebBrowsing Fingerprinting pueden estar contentas al poder añadir otro punto de información importante a los datos que recolectan de un cliente. En este caso funciona en Google Chrome y Mozilla Firefox, y ofrece un dato más que útil: La dirección IP local del cliente. La prueba de que esto es así la puedes hacer en la siguiente URLhttp://net.ipcalf.com/ 

Figura 1: Accediendo a tu dirección IP Local en Google Chrome con WebRTC

Esto se hace aprovechando un leak de WebRTC que pretende dotar a la web de protocolos de comunicaciones en tiempo real para expandir el número de soluciones que se pueden ofertar por la red. Debido a este leak, con un sencillo código JavaScript es posible acceder a la información de la dirección IP local del cliente.

Figura 2: Código de WebRTC con el data leak de la dirección IP.

Por supuesto estos datos no son útiles sólo para hacer un WebBrowsing finferprinting, sino que todos los clientes de tu red que estén navegando por Internet con Google Chrome o Mozilla Firefox están exponiendo el direccionamiento de tu red, y esto puede ser especialmente sensible en escenarios de APT.

Yo he probado con el cliente TOR Browser, bundle que utiliza a Mozilla Firefox, y he podido comprobar que esta característica no está habilitada, por lo que no se pone más sencillo conocer la ubicación de alguien que esté navegando con él.

Figura 3: Mozilla Firefox en TOR Browser no hace leak de la dirección IP
Sin embargo, revisa cómo tienes configurado tu entorno de conexión a TOR, no vaya a ser que se lo estés poniendo muy fácil a todo el mundo. Yo he probado en Diigo Web Browser y en Google app para iOS y tampoco ha leakeado la dirección IP Local, pero no he podido probarlo en Android o en otros navegadores, así que si haces pruebas te agradeceré que me dejes en los comentarios los resultados obtenidos.

Saludos Malignos!

40 comentarios:

Ibañez dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Probado en firefox y navegador de android, y no funciona :3

Alberto dijo...

En Android con Google Chrome SI funciona, con el navegador por defecto NO funciona.
Saludos

Anónimo dijo...

¿Sabes la forma de quitarlo en los settings de los navegadores?. Gracias.

Eduardo dijo...

Con Safari en OSX ML y no funciona :)

MARIA dijo...

A mí sí que me ha funcionado en el Chrome del Android (que es el que tengo por defecto).
También en el Firefox y el Chrome del PC. Me da las dos: la del proxy y la mía.
Cosa curiosa: en Chrome me dice "Your network IP is:" IP proxy "or perhaps" IP PC; y en Firefox al revés: "Your network IP is:" IP PC "or perhaps" IP Proxy;

Unknown dijo...

Con Dolphin en android 2.4 no funciona el script. Ahora a ver como blindo el Firefox de mi Debian.

Anónimo dijo...

Imagino que no, pero no adivino la respuesta... ¿Si puede ejecutar "ifconfig" en el cliente, no se podría lanzar otros procesos en el que el navegador tuviera permisos?

Anónimo dijo...

En firefox version 23.0.1 funciona

Errepunto dijo...

Le he echado un rápido vistazo al código, y lo del ipconfig no es más que texto, no ejecuta nada. Al parecer, abre una conexión de RTC y muestra los datos de la conexión local. Simple, pero como se puede ver, efectivo.

Joe dijo...

En Opera 12 aparece:

Your network IP is:
ifconfig | grep inet | grep -v inet6 | cut -d" " -f2 | tail -n1

Anónimo dijo...

Creo que esto servira para Firefox o no?
about:config
media.peerconnection.enabled
Diganme si esto no es suficiente...

Andrés dijo...

Yo tengo Chrome en Windows y no funciona.

Un saludo.

Klego dijo...

En Google Chrome Versión 29.0.1547.66 con Windows 7 no funciona.

lapipaplena dijo...

Ni iceweasel ni midori ni luakit muestran la ip.... chromium si.

edalmava dijo...

En Android 4.1.2 utilizando Google Chrome funciona:
Your network IP is:
XXX.XX.XXX.XXX
Make the locals proud

Joshelu dijo...

Como dicen por ahí arriba en Google Chrome de Android sale la IP, sin embargo, en el navegador de Samsung no.

Anónimo dijo...

Chema, En mi Firefox funciona.
Pero estoy notando que buscas muchas y muchas debilidades a Firefox o Chrome, defendiendo de alguna manera a Internet Explorer.

Por Que lo Haces?

Salu2

MasterHack dijo...

Probado en mini opera con varios mobiles y no funciona XD (take that android!)

Gonzalo dijo...

En windows 7 SP1 y Chrome 29.0.1547.66 y Firefox 23.0.1 SI que se muestra la ip interna.

Con internet explorer 10 no funciona.

obosques dijo...

Para alguien que use Tor en la configuración default de firefox es gravísimo, ya que llega al extremo de revelar la ip pública si se está usando pppoe para conectar.
El uso de noscript, protege de entrada, pero, si algo parecido a ese script está alojado en un sitio que se confié, da al traste con todo.

Como lo mencionaron arriba, la opción

media.peerconnection.enabled
deshabilitándola (seleccionando false) basta para quedar protegido.

Menudo leak.

Saludos!

Anónimo dijo...

En Opera en PC está a salvo.

Anónimo dijo...

En Firefox parece suficiente modificar la entrada en about:config comentada.


Pero en Chrome no he encotrado la forma todavía....¿alguien lo ha conseguido?.

Saludos

Anónimo dijo...

HOYGAN, yo lo probé con mi gato y no funcionó.

Anónimo dijo...

Probado con Firefox 22 y win 7 y funciona a la perfeccion incluso me da informacion que no conocia... proxys por los que pasa mi conexion pensaba que era uno solo pero son varios los filtros

Solucion about:config
media.peerconnection.enabled = false

Anónimo dijo...

En Iceweasel/Firefox en Debian aparece la IP

miniminiyo dijo...

icewasel en debian testing no muestra
midori tampoco
elinks tampoco

En chromium si :S

El Mago dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

chema como arreglamos este fallo en chorome por dios

Anónimo dijo...

Y usando Hotspot Shield se evita este error??

Anónimo dijo...

He realizado pruebas desde una tablet android con Cyanogenmod, y como comentan, con Google Chrome sí que aparece. En cambio con el Firefox NO. También he realizado una prueba con el navegador de Cyanogen y, como en el caso de Firefox, no aparece la IP local.

Charly Brown dijo...

Android 2.3.6, con Mozilla:
Your network IP is:
ifconfig | grep inet | grep -v inet6 | cut -d" " -f2 | tail -n1

De todas formas, yo tengo varias interfaces de red, fisicas y virtuales (VirtualBox), y con mi Chrome, me salen todas la IPs que tengo configuradas, en mi caso de las tres redes que utilizo:

Your network IP is:
172.xx.xx.xx or perhaps 192.xx.xx.xx or perhaps 192.xx.xx.xx

Make the locals proud.

Charly Brown dijo...
Este comentario ha sido eliminado por el autor.
AngelCruel dijo...

Acabo de probar y no salio mi IP Privada debe ser por el NoScript. Creo recordar que tambien se puede saber con java la IP Privada no estoy seguro.

Anónimo dijo...

Amoh a ve...

Antes de nada ¿qué se puede hacer en WAN con una dirección ip de la LAN?

Podemos conocer el ISP teniendo la ip pública, podemos saber el rango de ips del servidor DHCP porque ya conocemos el modelo del router...

¿y?
¿a que no es tan preocupante?

Anónimo dijo...

PostData:
Y muchos routers tienen la administración remota habilitada sin cambiar la contraseña por defecto de autentificación.

Puedes ver la IP local de los ordenadores, tal vez abrir puertos hacía esa IP pero no es el caso. El caso ahora es tener la IP interna.

La ves...
¿y?

Chema Alonso dijo...

@Anónimo del final. Se nota que eres novatillo en este mundo, pero bueno, te lo explico. Cualquier información que se filtre de tu entorno cliente pasará a formar parte de tu huella digital. Con las técnicas de webbrowsing fingerprinting http://www.elladodelmal.com/2013/07/tecnicas-para-el-fingerprinting-de-web.html se consigue poder trackear mejor a los usuarios y por tanto es peligroso para tu privacidad.

Además, exponer la dirección IP local sirve para hacer ataques de CSRF contra los routers de la red (http://www.elladodelmal.com/2013/04/navegadores-y-passwords-http-en-ataques.html) , conseguir el login por defecto y hacer un ataque de pharming, escanear la red entera para hacer un ataque dirigido a servidores internos, etcétera, etcétera...

Saludos!

Anónimo dijo...

Buenas,

Soy el último anónimo...
Muy interesante, Chema.

Me pondré a leer, gracias

Anónimo dijo...

PostData:

Me esperaba algo como por ejemplo manipular datagramas para poner direcciones IP internas. Acceder a servicios a través de WAN que únicamente se debería poder acceder desde la Intranet.

Unknown dijo...

maxthon modifica y protege la ip base. A demostrado ser el mejor explorador. aunque no sea en habla hispana. Saludos!

Entrada destacada

Programa de Especialización "Inteligencia Artificial para Expertos en Ciberseguridad" 2ª Edición.

Hoy, en medio del verano, os traigo información de la 2ª Edición del   Programa de Especialización  de "Inteligencia Artificial para Ex...

Entradas populares