Vulnerabilidad claves WPA2 Linksys / D-Link: (Pure Networks)

Publicado por D3M0N, 31 de Marzo de 2013, 11:49:09 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

D3M0N


Al igual que hice con los You are not allowed to view links. Register or Login, aquí tenéis el programa final para generar los diccionarios para estos routers (Linksys y D-Link). Ejecutad Pure-GenKeysFinal y seguid las instrucciones. Introducid la BSSID del router o la fecha de lanzamiento al mercado del router si la sabéis como argumento para obtener un diccionario reducido específico para el modelo del router que estáis atacando, eso puede reducir el tiempo de crackeo a unos pocos minutos. Si no sabéis ninguno de estos datos, no metáis argumentos y listo.

You are not allowed to view links. Register or Login (2.7 MB)
You are not allowed to view links. Register or Login

En lo que recopilamos la lista de modelos, BSSID y fecha de fabricacion de los routers TP-Link, he estado desensamblando asistentes de otros routers solo por curiosidad. Y traigo muy buenas noticias: Algunos routers de Linksys y D-Link usan un sistema casi idéntico para generar las claves. Realmente podría copiar y pegar el 90% de lo que escribí acerca del fallo en los routers TP-Link, así que pondré sólo lo más relevante y si queréis más información podeis leer el hilo original. El Linksys EasyLink Advisor y el D-Link Quick Setup Wizard sufren el mismo fallo al estar basados en Network Magic, un software creado por Pure Networks (que pertenece a Cisco/Linksys). Bueno, no sé, me ha parecido un dato curioso, porque si vendieron ese software a D-Link, pudieron también haberlo vendido a otros fabricantes y podría haber otros routers afectados... Pero bueno, vamos a lo que nos importa:

La función que genera las seeds es idéntica a la de los routers TP-Link.
La función que genera las claves a partir de las seeds es muy parecida (comparar con la de TP-Link, si queréis):

windows = "1I2Z0O5SUV"
macosx  = "B8DO0I1S5UVZ2"  #Solo para los Linksys instalados en Mac OS X
def genKey(seed):
    key = ""
    for i in range(10):
        while True:
            seed = ((seed)*0x343FD + 0x269EC3) % (2**32)
            edx = ((seed >> 0x10) & 0x7FFF) % 0x24
            if edx >= 0xa:
                edx += 0x37
            else:
                edx += 0x30
            if chr(edx) not in windows:
                key += chr(edx)
                break
    return key


Como veis, esta vez no se usa una lista de caracteres válidos, sino que se generan caracteres 0-9; A-Z y se descartan los aquellos contenidos en la lista de caracteres prohibidos (que podrían llevar a confusión como '0' y 'O') hasta lograr tener 10 caracteres. Como vimos en el hilo de TP-Link, podemos aprovechar esto para romper la clave en minutos con GPU o unas pocas horas con CPU. Fin de la historia.



Routers afectados de Linksys:

WAP610N (Caracteres prohibidos en Windows: "1I2Z0O5SUVB8")
WRT110
WRT120N
WRT160N (V1, V2, V3)
WRT160N-HP (V1*)
WRT160NL
WRT310N (V1, V2)
WRT320N
WRT400N
WRT54G2
WRT610N (V1*, V2)
                   



Vienen a ser principalmente todos los routers con la forma plana, rectangular y redondeada de la foto. En todos estos routers me he encontrado con una curiosidad / problemilla: Como veis en el código de arriba, los caracteres prohibidos varían entre el asistente de instalación de Windows y el de Mac OS X, pero creo que el algoritmo no. Además, otro dato interesante, el router WAP610N usa una lista de caracteres prohibidos algo distinta bajo Windows (nada que no tenga solución).



Routers afectados de D-Link:

DGL-4100
DGL-4300
DIR-615 (not all revisions)
DIR-625
DIR-635
WBR-1310
WBR-1310 rev.B
WBR-2310
                   


Al no existir un asistente para Mac OS X, no tenemos el problemilla de los Linksys. Algo curioso, es que el modelo EBR-2310, aún sin tener WiFi, tenía en su asistente de configuración llamadas a la función esa. A decir verdad, me surgieron algunos problemas al analizar al asistente de D-Link. Solo puedo confirmar que en su interior "existe" una función que genera nuestras queridas claves WPA2 inseguras. Pero no se nada más, así que mejor ir confirmarlo primero. Como dije, todos los modelos afectados son los que tienen el famoso D-Link Quick Setup Wizard de Pure Networks. Por ejemplo, los asistentes de las imágenes (fijaos en el logo abajo a la izquierda que pone "Network Magic").

Aquí tenéis los programas para trastear con el fallo este... Funcionan igual que los de TP-Link, para más info mirad el mensaje original.

Linksys-CheckKeys: Comprobar si una clave es vulnerable.
You are not allowed to view links. Register or Login

Linksys-GenSeeds: Generar seeds de un intervalo de tiempo.
You are not allowed to view links. Register or Login

Linksys-GenKeys: Generar un diccionario de keys a partir de las seeds.
You are not allowed to view links. Register or Login
*Se llaman Linksys-..., pero también valen para los D-Link.

Lo más importante ahora, creo que es asegurarse de que el ataque es posible en la práctica (a diferencia del otro post, yo no tengo ninguno de estos routers). El ataque contra un Linksys WRT160N pude verificarlo con este video (minuto 4:20). Pero como he dicho en los D-Link y en el resto de los Linksys esto es pura teoría. Para confirmar la vulnerabilidad, pasarme la contraseña por email; o usad directamente el Linksys-CheckKeys. Por lo demás, necesito lo de siempre: Una listas de BSSID, asociados al modelo y la fecha de fabricación y feedback sobre los programas.

Fuente: You are not allowed to view links. Register or Login

mjaneholland

You are not allowed to view links. Register or Login
Hola D3MON  ;D de casualidad no bajaste esos programas? podrias resubirlos? tengo cerca un linksys WRT54G2 para probar,solo que su clave es wpa,el SSID es linksys y no responde bien a los ataques por wps(porque lo tiene activado)
gracias de antemano  ;)

Me pasa exactamente lo mismo. Prueba unos 40 pines y luego se estanca.