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