Wi-Fi: Default key algorithms
(acte II)
Auteur : Gorn
Zine: Rafale #16
1) Introduction
Quelques années se sont écoulées après la publication de la première partie dans
l'e-zine Rafale #12 en décembre 2008 (#1) et de nouveaux algorithmes ont été
découverts concernant nos MachinTrucBox.
Cette deuxième édition va vous permettre de refaire un petit tour d'horizon de
ces FAI et constructeurs, et des fameux algorithmes de génération de clé par
défaut. Et vous allez voir que certaines choses n'ont vraiment pas changées.
2) Tecom AH4021/AH4222, AliceBox Hitachi et Club Internet Box
2.1) Introduction
Ces modems et la technique pour trouver la clé WEP sur des Club Internet Box ont
déjà été traités dans le premier article. Cependant, pour le plaisir, nous allons
voir quelques autres techniques sur les ESSID personnalisés mais masqués, et nous
allons nous pencher sur la clé WEP des modems AliceBox Hitachi.
2.2) ESSID personnalisé mais masqué
Nous avons déjà vu la technique pour trouver un ESSID par défaut mais masqué (#1).
Pour rappel, en prenant l'adresse mac 00:16:38:12:34:61, nous récupérons
les 3 derniers octets, soit 123461, puis on applique la soustraction suivante
0x123461 - 0x00000B = 0x123456. Ainsi, en fonction de la taille de l'ESSID masqué,
on obtient l'ESSID ALICE-123456 (12) ou l'ESSID TECOM-AH4222-123456 (19).
Voici une liste décrivant le périmètre de cette technique, dans cette liste
yyyyyy est le résultat de la soustraction xxxxxx - 0x00000B.
MAC (BSSID) | ESSID par défaut
-------------------|--------------------------------------
00:03:C9:0x:xx:xx | ALICE-0yyyyy
00:03:C9:1x:xx:xx | ALICE-1yyyyy
00:16:38:xx:xx:xx | ALICE-yyyyyy ou TECOM-AH4222-yyyyyy
00:19:15:xx:xx:xx | TECOM-AH4222-yyyyyy
Si vous possédez ce modem et vous souhaitez personnaliser votre ESSID en "BOB"
par exemple, alors vous allez être confronté à un problème contraignant dans
l'interface d'administration.
Image n°1 - Administration pour une AliceBox Hitachi
En effet, la fin de l'ESSID ne peut pas être modifiable et donc il peut être
devinable facilement avec la technique décrite ci-dessus.
Si nous avons un ESSID personnalisé, masqué de taille 9 et une adresse mac
correspondant à 00:16:38:12:34:61, nous sommes capable de prédire que la fin
de l'ESSID masqué correspond à -123456. Ainsi, il nous reste plus qu'à
utiliser une technique de brute force (avec le logiciel mdk3 par exemple) pour
tester toutes les combinaisons possibles ???-123456.
AAA-123456
AAB-123456
AAC-123456
[...]
BOA-123456
BOB-123456 => Trouvé
Après avoir trouvé l'ESSID BOB-123456, vous pouvez tenter votre chance
pour trouver la clé WEP par défaut avec la méthode décrite dans la première
partie (#1) qui utilise les 26 premiers caractères du hash SHA-1 de l'ESSID
TECOM-AH4222-123456. Si cela ne fonctionne pas, soit la clé WEP a été
modifiée ou soit le modem est une AliceBox et non une Club Internet Box.
2.3) AliceBox Hitachi, génération de la clé WEP
En cherchant des informations, nous avons souvent de fausses explications qui
affirment un lien sur la génération de clé WEP entre AliceBox et CI Box.
Cependant, l'algorithme par défaut n'est pas similaire. Cette découverte a été
faite par guifort sur le forum crack-wifi.com. (#2)
En effet, en démarrant le routeur avec un câble série, il a pu constater dans
la séquence de démarrage du modem quelques informations intéressantes.
Image n°2 - Séquence de boot de l'AliceBox Hitachi
Nous pouvons y visualiser deux valeurs intéressantes l'Unique ID et le Key Ouput
qui semblerait être liées. Nous trouvons ces valeurs également dans notre interface
d'administration où l'Unique ID correspond à l'identifiant et la clé WEP
correspond aux 26 premiers caractères du Key Output.
Image n°3 - Identifiant de l'AliceBox
Image n°4 - Clé WEP de l'AliceBox
Après quelques recherches, guifort a pu trouver l'algorithme qui générée la clé
WEP en fonction de l'Unique ID.
On prend l'Unique ID suivant 6A374C427632617671586B45456C796867583358
Puis, on le convertit en chaîne de caractère (voir correspondance ASCII), ce qui
nous donne la chaîne suivante j7LBv2avqXkEElyhgX3X
Enfin, nous hachons cette chaîne avec la fonction de hachage cryptographique SHA-1
On obtient : 6b81ee16942a0b1faa9f1c8ad9b46f2d64af5e51
La clé WEP correspond aux 26 premiers caractères (en noir).
Malgré la connaissance de cet algorithme, nous n'avons aucune information sur ce
fameux Unique ID. Après des modifications dans le modem sur le numéro de série
ou sur l'adresse mac, guifort a pu conclure que l'Unique ID restait identique et
n'était pas généré dans l'AliceBox Hitachi.
Est ce que cette valeur est aléatoire ? Est ce qu'elle est issue d'un algorithme ?
Est ce qu'elle correspond à un hash ?
Alice a encore beaucoup de chose à dévoiler ...
Image n°5 - Vanessa Hessler incarne 'Alice'
3) Bbox Thomson (Bouygues Telecom)
Le 14 avril 2008, Kevin Devine révélait l'algorithme des clés WEP/WPA des
Alcatel/Thomson SpeedTouch (#3). Hors les Bbox de Bouygues Telecom sont produit
également par Alcatel/Thomson.
C'est en partant de ce constat et de la similitude entre la taille du passphrase
que M1ck3y (administrateur du forum Crack-wifi.com) a découvert en septembre 2009
que la génération des clés WEP/WPA était la même (#4).
Image n°6 - Bouygues Telecom Bbox
Pour ceux qui ne se souviennent plus, voici la méthode pour calculer la clé ...
Utilisons, en exemple, le numéro de série suivant : CP0815JT109 (53)
Le numéro de ces routeurs est sous la forme CPAABBCCDDD (EE)
Supprimons les valeurs "CC" et "EE", on obtient : CP0815109
Convertissons les caractères ASCII "DDD" par leurs valeurs hexadécimales
(1=>0x31, 0=>0x30, 9=>0x39). Ce qui donne : CP0815313039
Nous cryptons avec SHA-1: 89bdbbaee346e19b9f99294e883698faa2c37f89
Pour les modems Bbox, les trois derniers octets (c37f89) sont ajoutés à
la chaîne "Bbox-" pour devenir l'ESSID par défaut : Bbox-C37F89
Enfin, la clé de cryptage WEP/WPA par défaut correspond aux 5 premiers
octets du hash SHA-1, soit : 89bdbbaee3
Même si un attaquant peut avoir difficilement le numéro de série du routeur,
il peut prédire, à partir d'une liste de numéros de séries possibles,
qu'elles sont les clés de cryptages en fonction de la fin de l'ESSID.
Pour les Bbox, M1ck3y a adapté le logiciel "STKeys" de Kevin Devine en le
rebaptisant "BBKeys", car ce dernier gérait uniquement les numéros de série
CP05... à CP06... (année 2005 à 2006). En effet, dans le numéro de série sous
forme de CPAABBCCDDD (EE), la valeur AA du numéro de série correspond à
l'année de fabrication tandis que la valeur BB correspond au numéro de semaine
de fabrication.
En utilisant notre exemple et le logiciel "BBKeys", nous pouvons savoir, en moins
de 10 secondes, que deux clés seulement correspondent à l'ESSID Bbox-C37F89.
Image n°7 - Exemple d'utilisation de BBKeys
Suite à cette découverte, Bouygues Telecom a informé ses abonnés des mesures à
prendre en mettant en ligne des procédures pour changer leur clé de cryptage WPA.
Pour conclure, cette méthode déjà présentée dans le précédent article s'applique
également à d'autres pays, voici une liste des ESSID impactés par cet algorithme.
ESSID | Pays
-------------------|----------------------------
Thomson?????? |
SpeedTouch?????? |
O2Wireless?????? | Angleterre
Orange-?????? |
INFINITUM?????? | Mexique (Telmex)
BigPond?????? | Australie
Otenet?????? | Grèce
Bbox-?????? | France (Bouygues Telecom)
DMAX?????? |
privat?????? |
BTHomeHub-???? | Angleterre
TN_private_?????? | Suède
CYTA?????? | Chypre
4) Italie: Fastweb et Alice sous la coupe de la White Hats Crew
4.1) Introduction
S'il n'y a pas eu de découverte en France en 2010, il faut se tourner chez nos
voisins les italiens de la White Hats Crew pour voir de nouvelles avancées.
En partageant leurs recherches/découvertes sur leur blog (#5), cette équipe a
permis de mettre à mal deux grands fournisseurs d'accès internet de ce pays,
Fastweb et Alice.
4.2) Fastweb Pirelli
Tout commence le 25 mars 2010, l'équipe White Hats Crew publie sur leur site
l'algorithme de génération de la clé WPA des modems Pirelli du fournisseur
Fastweb (#6).
Image n°8 - Fastweb Pirelli
Ces modems ont un ESSID de la forme FASTWEB-x-yyyyyyyyyyyy, dont x
peut prendre la valeur 1 ou 2 et y correspond au BSSID (adresse mac).
Par exemple, si nous avons le BSSID suivant 00:19:3E:A1:B2:C3
Alors l'ESSID sera : FASTWEB-1-00193EA1B2C3 ou FASTWEB-2-00193EA1B2C3
Par ce constat, il est facile de découvrir un ESSID masqué et non modifié.
Pour trouver la clé WPA, la technique est plus compliquée. Pour éviter des
explications trop longues (que vous pouvez trouver en italien sur le site),
nous allons prendre l'exemple FASTWEB-1-00193EA1B2C3 pour résumer la technique.
Donc, on récupère les 6 derniers octects soit, 00193EA1B2C3
Puis on ajoute la clé magique suivante : 223311340281FA22114168111201052271421066
de façon à avoir 00193EA1B2C3223311340281FA22114168111201052271421066
On converti en chaîne de caractère (voir correspondance ASCII) puis on calcule
le hash MD5, donnant a37d4267f1d177f44d352978d95558a9
On récupère les 4 premiers octects a37d4267 que l'on transforme en binaire
10100011 01111101 01000010 01100111
Ensuite, on découpe ce binaire en 5 séquence de 5 bits, ce qui donne :
10100 01101 11110 10100 00100 11001 11
Puis on transforme en hexadécimal, 0x14 0x0D 0x1E 0x14 0x04.
Enfin, on ajoute 0x57 à toutes les valeurs supérieurs ou égales à 0x0A, ce
qui nous donne 0x6B 0x64 0x75 0x6B 0x04.
La clé WPA est la suivante 6b64756b04
4.3) Alice Pirelli AGPF
Après s'être attaqué au modem de Fastweb, l'équipe White Hats Crew a publié (#7)
le 2 juin 2010, la méthode de génération de la clé WPA sur le Pirelli Alice Gate
VoIP 2 Plus Wi-Fi (firmware AGPF).
Image n°9 - Alice Pirelli AGPF
Cette divulgation a été plutôt sensible car Alice fournit 70% des accès ADSL en
italie et il n'était pas possible de modifier la clé WPA par défaut sur ces
routeurs. Pour corriger ce problème, les ingérieurs Telecom ont dû développer un
nouveau firmware, l'AGPF 4.5.0sx, juste avant la publication de la méthode.
Afin de vous expliquer cette méthode, nous allons utiliser en exemple
l'adresse mac 00:23:8E:01:02:03 et l'ESSID Alice-96154825
Tout d'abord, la première étape consiste à récupérer le numéro de série (SN)
grâce à une suite de numéros (nommée Numéros Magiques) et l'ESSID qui est sous
la forme Alice-xxxxxxxx.
Pour cela, le numéro de série se compose de cette manière aaaaaXbbbbbbb,
dont aaaaa correspond à 5 chiffres définissant la gamme du routeur (6790 à 6910),
X est un symbole constant et yyyyyyy correspond à 7 chiffres variables.
En regardant, le tableau contenant les numéros magiques (k et Q), ci-dessous,
Alice-96xxxxxx Serie: 69102X******* k= 13 Q= 96017051
Alice-93xxxxxx Serie: 69101X******* k= 13 Q= 92398366
Alice-56xxxxxx Serie: 67902X******* k= 13 Q= 54808800
Alice-55xxxxxx Serie: 67904X******* k= 8 Q= 55164449
Alice-54xxxxxx Serie: 67903X******* k= 8 Q= 52420689
Alice-48xxxxxx Serie: 67903X******* k= 8 Q= 47896103
Alice-46xxxxxx Serie: 67902X******* k= 13 Q= 390151
Nous savons que le numéro de série de notre ESSID Alice-96154825 correspond à
un routeur dont le numéro de série commence par 69102Xyyyyyy
Pour trouver les valeurs yyyyyyy, nous prenons la valeur du ESSID 96154825
On applique l'opération (SSID - Q) / k, soit (96154825 - 96017051) / 13
Ce qui nous donne 10598 et donc le numéro de série 69102X0010598
Grâce à ce numéro de série, nous allons pouvoir appliquer la deuxième étape qui
consiste à générer la clé WPA à partir de l'adresse mac, du numéro de série et de
la chaine suivante 64C6DDE3E579B6D986968D3445D23B15CAAF128402AC560005CE2075913FDCE8
Pour cela, on calcule le hash SHA256 de la convertion hexa en string de la chaine
64C6DDE3E579B6D986968D3445D23B15CAAF128402AC560005CE2075913FDCE8, du numero
de série et de la convertion hexa en string de l'adresse mac. De façon à avoir,
la formule SHA256(hex2str(MagicN) + SN + hex2str(MAC)) qui donnera, dans notre
exemple, le hash df7447786311ca81a0f83ddcd508f19668543b1a00145c18b74a79baabb4fbec
Ensuite, on initialise le tableau suivant
unsigned char charset[] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b',
'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3'
};
On utilise chaque octet de notre hash obtenu à partir de l'algorithme et on le
converti en décimal. Ce nombre est ensuite utilisé comme un index dans le
tableau pour obtenir enfin toutes les lettres ou chiffres qui composent la clé.
Dans notre exemple, nous obtenons le résultat suivant
0xDF => 223 => charset [223] => '7'
0x74 => 116 => charset [116] => '8'
0x47 => 71 => charset [71] => 'z'
0x78 => 120 => charset [120] => 'c'
0x63 => 99 => charset [99] => 'r'
...
Finalement, la clé WPA correspond à 78zcrhmlgwp4x8p6wcnq0kko
4.4) Conclusion
Après ces deux publications, la White Hat Crews a également publié, le 9 septembre
2010, les mécanismes du Tesley Fastweb. L'algorithme se base sur une fonction de
hachage nommée hashword mis en oeuvre par le Dr Bob Jenkins. (#8)
Pour ceux qui veulent expérimenter ces techniques, vous pouvez trouver tous ces
algorithmes dans plusieurs applications, mobiles ou non. Notamment, vous pouvez
utiliser le logiciel AGPF Tool Calculator de la Team Shark wifi (#9) ou le
logiciel WPA Tester de Fr3nsis (#10) qui regroupe toutes ces méthodes.
Image n°10 - WPA Tester by Fr3nsis
5) Conclusion
En analysant les bornes Wi-Fi dans une ville française en décembre 2010, nous
avons pu déceler sur 1000 bornes non masqué : 42 Bbox, 3 SpeedTouch, 2 Tecom
AH4222 (CI Box) et aucune AliceBox Hitachi. Cependant, nous pouvons nous demander
combien de ces routeurs ont leur clé par défaut ?
Devant ce constat et les démonstrations sur les faiblesses des algorithmes, nous
pouvons conclure par la même recommandation que l'article précédent, à savoir,
même si votre routeur n'est pas lister dans cet article, modifier le mot de
passe et l'ESSID de votre routeur ! Et n'oubliez pas, un reset a pour effet de
revenir à la configuration par défaut.
Enfin, en septembre 2010, Peugeot annonçait un accord avec Tesley et Fastweb pour
transformé la 3008 italienne en hot-spot wifi mobile avec l'option "WEBtoGO
Compact". (#9)
Devant cette annonce et la publication du White Hat Crew sur le Tesley Fastweb
(parues le même mois), nous pouvons voir que la sécurité du wifi va beaucoup
plus loin que l'accès à un simple espace virtuel et qu'elle pourrait jouer à
l'avenir sur une sécurité bien réel, comme le contrôle d'une voiture ...
6) Références
1. Wi-Fi: Default key algorithms (Rafale #12)
2. Alicebox : Petites Recherche
3. GNUCitizen : Default key algorithm in Thomson and BT Home Hub routers
4. Faille Bbox WPA (Bouygues Telecom): générateur Bbkeys (exclu: 0day)
5. White Hats Crew
6. [White Hats Crew] Pirelli Fastweb – Free Access!
7. [White Hats Crew] Alice AGPF: l’algoritmo!
8. [White Hats Crew] Telsey FASTWEB: Full Disclosure
9. AGPF Tool Calculator
10. Blog de Francesco Pompili
11. La Peugeot 3008 italienne WiFisée grâce à Telsey et Fastweb