Usando la Geolocalización MAC en nuestro favor. Parte I

Entradas relacionadas:
[Análisis] Prey, software antirrobo de Código Abierto
Usando la Geolocalización MAC en nuestro favor. Parte II

Actualmente no funciona, debido a que al parecer, Google tiene deshabilitada la respuesta JSON de cuando enviamos una petición para geolocalizar

1.-Introducción
2.-Geolocalización a través de la dirección IP
3.-Geolocalización a través de la dirección MAC
4.-Investigando cómo funciona la Geolocalización a través de las MAC
5.-Usando la Geolocalización MAC en nuestro favor

Esta entrada tiene segunda parte

1.-Introducción

La geolocalización, nombre compuesto de geo (tierra) y localización, hace referencia a saber el lugar en el que algo o alguien se encuentra situado con respecto a la Tierra.

Con el avance de las tecnologías tendemos a controlar y estar más controlados todo tipo de cosas, incluida nuestra posición. Desde hace años están diseñando cada vez más sistemas de localización (GPS) incorporados desde en los teléfonos móviles, hasta en relojes, y no nos asombraremos cuando hasta nuestro perro tenga un sistema de localización incorporado.

2.-Geolocalización a través de la dirección IP

Hace unos años recuerdo esas páginas, que a dia de hoy siguen existiendo, que se pusieron de moda porque permitian localizar una dirección IP. No creo que fuera el único que se dirigiese a una página para averiguar mi IP y posteriormente pegarla en una página de esas, con la desilusión que supuso saber que realmente me decía que estaba en otro sitio (bastante lejos) del que estaba. Creo recordar que siempre me han dicho que estoy en Madrid, y cuando descubrí esto pensé: “bueno, al menos permite saber en qué pais estoy, que lujazo!”.

Intentamos geolocalizar una máquina conectada a un router corriente (la nuestra propia) en un geolocalizador como podría ser este. En mi caso recibo que estoy en Madrid (como recordaba). Esto es debido a que nuestro proveedor de Internet está relacionado con esa situación. Si localizas tu IP y eres de España, lo más probable es que te localice en Madrid o Barcelona.

Por otro lado, las máquinas que actúan de servidores web para alojar websites, al tratar de localizarlas nos encontramos con la misma historia, aunque no nos devuelven en Madrid, sino en cualquier otro sitio (dependiendo del hosting). Por ejemplo, hago ping a www.delanover.com para saber la IP y esta la pongo en el geolocalizador. Me devuelve que está localizada en Orlando.

Cuando nos referimos a los ordenadores conectados a routers comunes y corrientes, es más que obvio que ha de haber una cercanía física entre cualquier dispositivo que comparta IP en la misma red (ya que ha de estar conectado a la misma red para que más de un dispositivo tenga esa IP). Sin embargo, el concepto “cercanía física” no existe cuando hablamos de Internet, y al igual que pueden existir diversos ordenadores con la misma IP, pueden existir diversas páginas web con la misma IP (que al fin y al cabo, siguen siendo computadores conectados a la red).

¿Cómo averiguar páginas con la misma IP?
Hagamos ping otra vez a delanover.com desde la consola de windows por ejemplo. Nos devuelve la IP 67.23.226.44. Ahora nos vamos al buscador Bing de Microsoft, y buscamos: IP:67.23.226.44 y los resultados encontrados son los que comparten IP con delanover.com. Para comprobarlo siempre se puede realizar un ping a cada resultado obtenido.

La geolocalización IP como podemos observar es totalmente inexacta, ya que depende del proveedor que tengamos de Internet para devolvernos una localización u otra. Pero existe otra alternativa. Vamos a pensar: ¿Algo que sea único? Claro! La dirección MAC de las tarjetas wireless.

3.-Geolocalización a través de la dirección MAC

Aquí se haya el principal motivo del post: la geolocalización por MAC.

Espera, espera, ¿cómo es posible que puedan localizar mi ordenador a través de su MAC? Bueno, técnicamente son imposibles de localizar sin más, aunque realmente no hablamos de las MAC de las tarjetas wireless que tienen los ordenadores, sino de la de los routers (aunque claro, si estás conectado a Internet a través de uno de ellos, tu ordenador necesariamente va a estar cerca de tu router, así que se podría decir que te localiza igualmente).

Me interesé acerca de la geolocalización a través de MAC a partir del post acerca de Prey, software capaz de, entre otras cosas, darnos una localización más o menos exacta de dónde se encuentra nuestro punto de acceso.

4.-Investigando cómo funciona la Geolocalización a través de las MAC

Retomando un poco el post acerca de Prey, vamos a analizar un par de paquetes interesantes mediante Wireshark que capturamos en el momento en que el ordenador robado subía sus datos al servidor de Prey para que desde otro ordenador se viesen a través del panel de control:

Nos fijamos que este paquete usa JSON para transmitir información interesante, en concreto (acerca del router): nuestra MAC, nuestro ESSID, el canal, el ruido, y la señal. En el host al que se dirige pone que va hacia el panel de control de prey (cosa obvia) pero.. ¿cuál es esa IP de destino que aparece? ¿A donde está enviando esos datos?

Vamos a ver, vayamos al navegador y escribamos 209.85.229.147. Sorpresa! nos lleva a Google. En este momento me vienen a la cabeza numerosas noticias sobre Google y el tema de la privacidad que abordaremos más adelante, de momento sigamos con nuestro análisis:

Siguiente paquete, justo el segundo debajo del que hemos analizado primero:

Si en el anterior paquete veiamos que la IP de origen era 192.168.2.102 (mi IP local) y el destino era la IP esa de Google, ahora vemos que es al revés. Recordamos que estamos tratando con aplicaciones JSON, que se basan en el envío, procesamiento y recibo de información, por eso que una vez enviada y procesada la información, la recibimos.

Lo que recibimos exáctamente son: coordenadas de latitud y longitud, pais, código del pais, región, condado, ciudad e incluso la calle, aunque simplemente con las coordenadas ya tenemos todo el resto, puesto que podemos usar Google Maps para ver dónde se encuentra.

Conclusión de todo esto
Mediante Google, somos capaces de, a partir de la MAC de nuestro punto de acceso, obtener las coordenadas geográficas de dónde se encuentra de manera muchísimo más exacta que lo que la localización IP nos permitía.

Como dije antes, me venían a la cabeza unas cuantas noticias acerca de la supuesta violación de la privacidad de Google recopilando información gráfica. Me refiero a Google StreetView (eso que nada más enterarnos de que existe, lo primero que todos hacemos es buscar nuestra casa para ver cómo se ve). Pero había una cosa más que los coches de Google recogían, y era información acerca de nuestros puntos de acceso, básicamente la MAC y la localización de donde se encuentran. Por esto se montó un poco de revuelo en Alemania, como podemos leer en esta noticia de meses atrás.

Lo que nos queda claro, es que si tenemos un punto de acceso bastante reciente, no tienen porqué tenerlo localizado, aunque personalmente puse Internet hace unos seis meses y me localiza exáctamente la dirección de casa.

5.-Usando la Geolocalización MAC en nuestro favor

Cuando a Google lo acusaron de atentar contra la privacidad por el tema de obtener datos de las MACs alegó que son datos públicos a los que tiene acceso todo el mundo y claro, si Google tiene acceso, e incluso si Prey tiene acceso, ¿por qué no nosotros mismos?

Como dije anteriormente y pudimos ver en los paquetes capturados por Wireshark, se usa JSON para el envío, procesamiento y recibo de la información que queremos.

En esta página explican bastante bien cómo funciona, incluso ponen a disposición una herramienta (en realidad es un conjunto de herramientas) para descargar y a partir de la dirección MAC, obtener la dirección geográfica.

Descargar el software: link
Requiere Windows y .NET Framework 3.5 SP1

Nada más tener instalado el programa en nuestro ordenador, nos vamos a la ruta de instalación y buscamos la siguiente ruta, que por defecto es C:\O2\O2Scripts_Database\_Scripts\APIs\Google. Justo ahí, deberiamos tener un script, cuyo nombre es Tool – Find Physical Location via MAC Address (using Google’s APIs), que podemos ejecutar gracias a la herramienta instalada, en la que simplemente tenemos que poner la dirección MAC que queremos escanear (separada por guiones) y no solo tendremos las coordenadas, sino que aparece directamente en el mapa, acorde a la imagen:

También hablan de una herramienta online para ello: http://www.samy.pl/mapxss/

Samy Kamkar, autor de esa web, dió una conferencia el pasado 2010 en el Blackhat, en cuyo final de la conferencia apuntaba a la Geolocalización a través de la MAC (video recomendado, si quereis ver solo la parte de la geolocalización, es a partir de 41:37). Explica bastante bien cómo lo usa para “conocer a una chica” (el video se titula How I met your Girlfriend).

Saludos, lipman