24 octubre 2014

Saltar la seguridad de los portales cautivos wifi desde Android

Buenas a todos.

Esta vez les traigo una entrada en el modo convencional, estrictamente sobre seguridad, y sin videos.

Durante este finde estuve viendo los videos de las presentaciones Rooted 2014 que se publicaron en la página de Security By Default y econtré una herramienta muy interesante de un hack que venía haciendo a mano hace un tiempo.

Muchas veces nos encontramos en un espacio público (restaurant, hotel, estacion de servicio, almacen de doña Clota) donde al momento de conectarnos a la red con un SSID referente al lugar establecemos la conexión correctamente pero al momento de navegar nos encontramos con un portal cautivo como este:



No vas a pasar. Gil.

En ese momento, por proceso, debemos contactar al encargado de la administración del portal para poder acceder a la red que provee el acceso a internet.

Ahora, es posible acceder sin los datos de user y pass? Como sospechás, la respuesta es si.

Pero primero vamos a entender un poco como es que funciona un portal cautivo:


Así funcionamos ..
En ese diagrama, la configuración de los hots conectados via wifi o cable tienen como default gateway al portal cautivo, quien cuenta con las credenciales locales que habilitan el acceso a internet. De esta forma, este mismo autentica las credenciales y, en caso de ser válidas, matchea el host y  redirige los paquetes al router (quien es el default del portal server) y de allí a internet.
Las alternativas a esta solución son la gestion propia de los accesos con un server radius y una base de datos de usuarios validos dentro de la granja de la propia infraescructura del negocio/edificio. En ese caso el  Portal Server tiene las direcciones del radius (que en la mayoria de los casos es local, en otras en sitios centralizados) y de la base de datos de usuarios aleatorios y reutilizables en donde valida la autenticidad de las credenciales.
Entonces, donde comienza el hack? En donde la seguridad en la propagación de capa 2 falla.
¿Por que? por que al momento de establecer el handshake contra la red propagada por wifi (pese a no tener acceso a internet) podemos capturar los datos dentro de la red donde nos encontramos, ya que los host con conectividad se encuentran dentro del mismo segmento de red.
Acá entra en función la aplicación hotspot-wifi del Sr. Pau Oliva.
¿Que realiza a modo resumido?
1. Debemos establecer la conectividad a la red que tiene el portal cautivo.
2. Lanzamos la app (ojo con las dependencias! Need root)
2. La aplicación buscará via IP un dispositivo que forme parte de la red (y con posible conectividad a traves del portal).
3. Se realizará un spoofing via ARP de la mac address del dispositivo conectado.
4. Reemplazando nuestra mac address actual por la del dispositivo previamente conectado comenzaremos a enviar paquetes con la mac address spoofeada contra el server quien nos "conoce previemente" y nos dará salida a internet.
Y si señores, todo esto a un simple golpe de app. Sin tener que mapear, escuchar trafico, cambiar la mac addrees, spoofearla y probar que el keepalive este vivo.
Como prevenirlo?
1. Usar layer 2 isolation, por ejemplo la config de PSPF (switchport protected) en equipamiento Cisco.
2. Gestionar una Vlan por puerto o usar switchport protected en switchs cisco.
3. Activar el switchport pot-security en equipos Cisco.
Estas medidas protejen en mayor o menor medida el acceso, así que implementarlos si los tienen disponibles.
Testeado y funcionando en un Nexus 4 y trablet Nexus 7.
Post dedicado a quienes alguna vez realizamos este hack manualmente desde una laptop.
Abrazo.

Tomado de: http://yendodelalanalliving.blogspot.com.ar/2014/06/saltar-la-seguridad-de-los-portales.html

No hay comentarios:

Publicar un comentario