Comme tout le monde le sait, les serveurs d'IRCube cryptent les noms d'hôtes. La partie cachée est celle avant le premier '.', et est remplacée par un hash MD2 ou MD5 de 32 bits sous forme hexadécimale.
Qui n'a jamais rêvé, à la place de 341B0FB4.w86-194.abo.wanadoo.fr, d'avoir un nom d'hôte cryptée tel que CACA.mondomaine.com, 1337.mondomaine.com, 69.mondomaine.com ou encore B00B.mondomaine.com ?
Ceci est maintenant possible, grâce à BForCoderz !
En effet, ce petit programme permet de mettre en oeuvre la technique du bruteforce, qui consiste à tester le maximum de possibilités afin de trouver laquelle correspond à l'hostname cryptée donnée.
Cette méthode peut paraître à première vue longue, mais justement BForCoderz met en oeuvre un système permettant de partager les opérations. Il utilise en effet une architecture client/serveur permettant de répartir les calculs sur différentes machines.
Il est donc pour cela nécessaire de lancer un serveur et divers clients reliés à lui, en attente d'opérations. Inutile de préciser qu'il ne sert à rien de lancer plus d'un client par processeur, ce qui ne ferait ralentir plus qu'autre chose.
Une fois le réseau mis en place, il vous suffit de vous connecter en telnet au serveur et de lancer une recherche, le serveur s'occupe du reste et vous remontera les divers résultats.
Il est à noter que j'ai également implémenté un système de masques qui permet de spécifier la forme des hosts à tester (par exemple %$-$-$-$ pour un hôte tele2 style b13-145-44-142.cust.tele2.fr). Vous trouverez plus d'informations sur le site de BForCoderz
Voici l'exemple d'une IRCubienne qui a choisie de renoncer à son hostname proxad.net, pour prendre à la place un hostname crypté bien plus sexy :
17:52:35 . Utadah_Bay (~Syphaiwon@CACA.vaginus.org) has joined #IRCube
Notez qu'il faut pour cela posséder une IP fixe et avoir un fournisseur d'accès qui autorise la mise d'un reverse DNS autre que *.fai.com.
Enfin, ce projet a été étudié pour être le plus rapide possibles, grâce à diverses micro-optimisations, et ce même avec l'utilisation des masques. Ceux qui sont intéressés peuvent lire le code source disponible, et éventuellement contribuer. Je rajouterai qu'il n'y a absolument aucune vérification au niveau de la sécurité (bufferoverflow par exemple, même si il est très peu probable d'arriver à l'exploiter). En effet ce n'est actuellement pas primordial et pour une utilisation normale ça ne devrait pas poser de problèmes.
Pour plus d'informations et pour télécharger BForCoderz, visitez la page consacrée au projet : http://bforcoderz.vaginus.org
Romain.
P.S.: Les plus perspicaces (et cons) d'entre vous se seront posé la question de l'éventualité de décrypter les hostnames d'IRCube. Je peux affirmer que cela risque d'être très dur. En effet, il faut savoir que le hash MD2 ou MD5 tient sur 128 bits, mais qu'on le tronque sur 32 bits, et que donc il y a un grand nombre de collisions (voir sur la page du projet). Vous obtiendrez cependant certes une liste restreintes (ou non) d'hostnames, mais il vous faudra tous les tester afin de déterminer laquelle est la bonne, ce qui réduit un peu l'intérêt.