Wi-Fi: Default key algorithms Auteur : Gorn Zine: Rafale #12 1) Introduction Après quelques jours d'attentes, vous venez de recevoir votre MachinTrucBOX. Soucieux de sécurité, vous regardez le type de cryptage employé car vous savez que le WEP est facilement "crackable", résistant à peine à quelques minutes voir quelques secondes. Mais, heureusement, votre FAI préférée n'utilise pas (voir plus) ce cryptage. Vous récupérez, donc, en toute confiance la clé par défaut pour vous connecter à distance en Wi-Fi. Seulement, voilà. Savez vous que certains FAI et constructeurs utilisent, par négligence, des algorithmes pour la génération des clés de cryptages ? Des algorithmes facilement exploitables par une personne malveillante, rendant la sécurité de votre réseau totalement inutile. Voici un petit tour d'horizon de ces FAI et constructeurs, et des fameux algorithmes de génération de clé par défaut ... 2) Club Internet, "le club le plus ouvert de la planète" En septembre 1998, Club Internet utilise dans ces publicités, le slogan : "Club Internet, Le club le plus ouvert de la planète" (#1). Mais c'est des années plus tard que les utilisateurs des clubinternet.box v1, v2 ou des Comtrend CT635, comprennent la véritable signification du mot ouvert. En effet, au cours de l'année 2007, Club Internet met à disposition sur son site web un outil nommé WepTool, qui permet d'obtenir la clé wep par défaut en fonction de l'ESSID du routeur (#2). Image n°1 - WepTool de Club Internet L'article n'étant pas basé sur l'utilisation de ce logiciel, je n'expliquerais pas son fonctionnement en détail. Cet outil étant simple d' utilisation, il existe une multitude de documentation (#3). L'existence de ce logiciel est intéressant puisque nous comprenons grâce à lui qu'il existe un algorithme permettant d'obtenir la clé WEP. En analysant ce logiciel et le fichier FSHash.dll (pour File String Hash et dont le code de source est sous licence LGPL (#4)), on découvre que la clé par défaut correspond aux 26 premiers caractères du cryptage SHA-1 de l'ESSID. Utilisons, en exemple, l'ESSID suivant : TECOM-AH4222-527A92 Avec cette information, nous savons qu'il s'agit d'une clubinternet.box v2. - clubinternet.box v1 => Hitachi (TECOM) AH-4021 - clubinternet.box v2 => Hitachi (TECOM) AH-4222 Nous cryptons, donc, l'ESSID avec la fonction de hachage SHA-1 On obtient : e724947bf889dd651a1698dd3f61f0c452f0a203 La clé WEP correspond au 26 premiers caractères (en noir). Pour récupérer l'ESSID à partir de l'adresse MAC (et inversement), sur des Hitachi AH-4222 (ne fonctionne pas sur les AH-4021), il suffit de soustraire 0x00000B aux 3 derniers octets de l'adresse MAC et de mettre le résultat à la place des xxxxxx de "TECOM-AH4222-xxxxxx". Prenons un cas de figure, l'ESSID de notre clubinternet.box v2 est masqué et en lançant un airodump-ng sur un poste linux distant, nous avons : Image n°2 - Airodump-ng, outil qui collecte les « paquets » sur votre réseau Wi-Fi Comme, l'adresse MAC des Hitachi AH-4222 commence, généralement, par soit 00:16:38:xx:xx:xx ou soit 00:19:15:xx:xx:xx. Avec cette information, nous savons que l'adresse MAC correspond à ce type de routeur. Seulement, les Hitachi AH-4222 n'ont pas été, uniquement, employés pour la clubinternet.box v2 mais aussi pour des AliceBox. Pour savoir si notre routeur est une clubinternet.box, il suffit de lire la taille de l'ESSID masqué. En effet, comme l'ESSID d'une clubinternetbox (TECOM-AH4222-xxxxxx), la taille de notre exemple est de 19 caractères (<length: 19>). Si le routeur était une AliceBox, on aurait eu 12 caractères, soit ALICE-xxxxxx. Nous récupérons, donc, les 3 derniers octets de cette adresse, soit : 527A9D On applique la soustraction : 0x527A9D - 0x00000B = 0x527A92 Ainsi, on obtient l'ESSID suivant TECOM-AH4222-527A92 et donc par conséquent la clé WEP suivante e724947bf889dd651a1698dd3f A noter également, que si notre adresse MAC en 00:16:38:52:7A:9D provenait d'une AliceBox, la méthode pour passer de l'adresse MAC à l'ESSID ne changerait pas et l'ESSID serait ALICE-527A92. Voici un schéma résumant les algorithmes utilisaient : Image n°3 - Schéma récapitulatif En conclusion, en plus de pouvoir récupérer la clé WEP avec l'ESSID des clubinternet.box, nous pouvons également obtenir la clé par défaut d'un Hitachi AH-4222, uniquement, avec son adresse MAC. 3) Alcatel/Thomson SpeedTouch et British Telecom Le 14 avril 2008, Kevin Devine révèle sur le site GNUCitizen une faiblesse dans la sécurité WEP/WPA des Alcatel/Thomson SpeedTouch (et par la même occasion des BTHome Hub Router basé sur le SpeedTouch 7G) (#6). En effet, ces routeurs sont livrés avec une clé WEP/WPA et un ESSID, dépendant du numéro de série du boîtier. Image n°4 - BTHome Hub Router (basé sur l'Alcatel/Thomson SpeedTouch 7G) Utilisons, en exemple, le numéro de série suivant : CP0615JT109 (53) Le numéro de ces routeurs est sous la forme CPAAAABBCCC (DD) Supprimons les valeurs "BB" et "DD", on obtient : CP0615109 Convertissons les caractères ASCII "CCC" par leurs valeurs hexadécimales (1=>0x31, 0=>0x30, 9=>0x39). Ce qui donne : CP0615313039 Nous cryptons avec SHA-1: 742da831d2b657fa53d347301ec610e1ebf8a3d0 Pour les SpeedTouch, les trois derniers octets (f8a3d0) sont ajoutés à la chaîne "SpeedTouch" pour devenir l'ESSID par défaut : SpeedTouchF8A3D0 Tandis que pour les BTHome Hub Routeur, l'ESSID par défaut est formé à partir de la chaîne "BTHomeHub-" et des deux derniers octets (a3d0) pour devenir : BTHomeHub-A3D0 Enfin, la clé de cryptage WEP/WPA par défaut correspond aux 5 premiers octets du hash SHA-1, soit : 742da831d2 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. Ces fonctionnalités sont réalisées dans "STKeys" de Kevin Devine. En utilisant ce logiciel et notre exemple, nous pouvons savoir, en moins de 30 secondes, que deux clés seulement correspondent à l'ESSID SpeedTouchF8A3D0 Image n°5 - Exemple d'utilisation de STKeys Pour les BTHome Hub Routeur, nous avons beaucoup plus de possibilités car nous avons uniquement les deux derniers octets en critère de recherche. Ainsi pour le BTHomeHub-A3D0, nous avons 79 possibilités de clés. Mais Adrian (pagvac) Pastor apporte la solution avec ces programmes nommés, BTHHkeygen et BTHHkeybf, qui intègrent une fonction de "brute forcing". 4) Conclusion À travers les exemples de Club Internet, de Hitachi, de Alcatel/Thomson ou British Telecom, nous ne saurions trop vous recommander de modifier les mots de passe et l'ESSID de vos routeurs. Toutefois, il est évident que le matériel dans ces exemples est de plus en plus rare. Mais l'avenir, nous réserve sûrement de nouvelles découvertes d'algorithmes sur d'autres FAI ou d'autres routeurs, qui pourront faire l'objet, sûrement, d'un prochain article ... 5) Références 1. Club Internet sur Wikipédia 2. WepTool sur le site d'assitance de Club Internet 3. WepTool pour les utilisateurs de Windows VISTA 4. FSHash : MD5 Hash Plug-in SHA-1 5. Reverse Engineering de WepTool par l'ESEC 6. GNUCitizen : Default key algorithm in Thomson and BT Home Hub routers