Buenas:
Los amigos de seguridadwireless (dudux y mambostar) ya nos habían hablado de los ya.com (http://foro.seguridadwireless.net/desarrollo-112/wlan4xx-algoritmo-routers-yacom/)
Pero podemos observar que los de vodafone son primos-hermanos
Vuelve a ocurrir una vez más, las operadoras y fabricantes dejan al descubierto a sus usuarios y clientes. Esta vez es el turno de Vodafone y sus routers Arcadyan. Así que no tardéis en cambiar vuestra contraseña si aún no lo habéis hecho y por supuesto, recordad que birlar fluido eléctrico es delito.
Stefan Viehböck de la compañía SEC Consult Vulnerability Lab, ha encontrado el algoritmo de generación de claves (WPA2) de los conocidos EasyBox distribuidos en Europa por Vodafone.
Para llevar a cabo esta investigación Stefan revisó las patentes de Arcadyan hasta dar con una de ellas (en perfecto alemán) donde explicaban detalladamente el método de generación:
Daraus ergibt sich, dass K1 das letzte Byte des erzeugten Wertes ist, nachdem die Logikoperation auf S7, S8, M11 und M12 durch den OR Operator ausgeführt wurde und K2 ist das letzte Byte des Wertes, der erzeugt wurde, nachdem die Logikoperation auf M9, M10, S9 und S10 durch den OR Operator durchgeführt wurde. Nachdem die Schlüsselsätze K1 und K2 erlangt wurden, kann der Erkennungscode berechnet werden. Hierbei kann der Erkennungscode dargestellt werden als „X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3" und weist die folgenden Zusammenhänge auf: X1 = K1 XOR S10; X2 = K1 XOR S9; X3 = K1 XOR S8; Y1 = K2 XOR M10; Y2 = K2 XOR M11; Y3 = K2 XOR M12; Z1 = M11 XOR S10; Z2 = M12 XOR S9; und Z3 = K1 XOR K2.
Blah... Blah.. Básicamente, dada la dirección MAC (BSSID), que es un dato público en una red wireless, se deriva al nombre del punto de acceso y su clave. Por ejemplo, partiendo de la MAC 00:12:BF:91:0B:EC:
1.- Se substraen los 2 últimos carácteres hexadecimales (0B:EC) y se pasan a decimal: 3052.
2.- Se rellena con 0 a la izquierda, hasta llegar a las 5 cifras si el número es inferior de este tamaño: 03052
3.- Se descompone el número y se asigna a variables: S6=0, S7=3, S8=0, S9=5, S10=2.
4.- Lo mismo con los 6 últimos cuartetos de la MAC: M7=9, M8=1, M9=0, M10=B, M11=E, M12=C
5.- Se calcula K1, mediante el último nibble (medio byte) de esta suma: (S7 + S8 + M11 + M12), como el resultado es 1D, se obtiene D
6.- Lo mismo para K2: (M9 + M10 + S9 + S10) = 12 = 2
7.- Se calculan XOR de las variables de la siguiente forma:
X1 = K1 XOR S10 = F
X2 = K1 XOR S9 = 8
X3 = K1 XOR S8 = D
Y1 = K2 XOR M10 = 9
Y2 = K2 XOR M11 = C
Y3 = K2 XOR M12 = E
Z1 = M11 XOR S10 = C
Z2 = M12 XOR S9 = 9
Z3 = K1 XOR K2 = F
8.- Se monta el resultado con la clave final: X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 = F9C8C9DEF
Ya hay páginas (y seguro que pronto dominios exclusivos) que implementan este cálculo. El investigador también ha publicado código en distintos lenguajes.
Los routers afectados son los siguientes modelos:
EasyBox A 300
EasyBox A 400
EasyBox A 401
EasyBox A 600
EasyBox A 601
EasyBox A 800
EasyBox A 801
EasyBox 402
EasyBox 602
EasyBox 802
EasyBox 803 (no todos las versiones)
Que corresponden a las siguientes direcciones MAC:
74:31:70
84:9C:A6
88:03:55
1C:C6:3C
50:7E:5D
Lo más curioso, es que este no es su único descubrimiento, ya que el pasado Agosto también publicó como se generan los pines WPS de dos de estos routers, en concreto, para los modelos 802 y 803.
Seguro que muy pronto nuestro amigo Luis Delgado, actualizará Wifi Auditor, para dar soporte a esta herramienta.
Actualización;
Gracias a un comentario nos enteramos que en SeguridadWireless.es, ya había detectado este mismo fallo para otros routers del mismo fabricante pero esta vez usados por Ya.com.
Referencias:
https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20130805-0_Vodafone_EasyBox_Default_WPS_PIN_Vulnerability_v10.txt
http://www.wotan.cc/?p=6
http://foro.seguridadwireless.net/desarrollo-112/wlan4xx-algoritmo-routers-yacom/
http://www.securitybydefault.com/2014/01/ahora-tambien-puedes-robarle-la-wifi-de.html
Un saludo
ChimoC