
Le célèbre cracker WPA précalculé, migré de Google.
Pyrit est vieux, obsolète et toujours en Python2. J'essaie actuellement de le réécrire depuis zéro, donc merci pour toutes les étoiles mais n'oubliez pas de garder un œil sur la version Python3.

Pyrit vous permet de créer d'immenses bases de données de la phase d'authentification WPA/WPA2-PSK pré-calculée dans un compromis espace-temps. En utilisant la puissance de calcul des processeurs multi-cœurs et d'autres plateformes via ATI-Stream, Nvidia CUDA et OpenCL, c'est actuellement de loin l'attaque la plus puissante contre l'un des protocoles de sécurité les plus utilisés au monde.
WPA/WPA2-PSK est un sous-ensemble de IEEE 802.11 WPA/WPA2 qui évite la tâche complexe de distribution de clés et d'authentification des clients en attribuant à chaque partie participante la même clé pré-partagée. Cette clé maîtresse est dérivée d'un mot de passe que l'utilisateur administrateur doit pré-configurer, par exemple sur son ordinateur portable et le point d'accès. Lorsque l'ordinateur portable établit une connexion avec le point d'accès, une nouvelle clé de session est dérivée de la clé maîtresse pour chiffrer et authentifier le trafic suivant. Le « raccourci » consistant à utiliser une seule clé maîtresse au lieu de clés par utilisateur facilite le déploiement des réseaux protégés par WPA/WPA2 pour un usage domestique et en petit bureau, au prix de rendre le protocole vulnérable aux attaques par force brute contre sa phase de négociation de clé ; cela permet de révéler finalement le mot de passe qui protège le réseau. Cette vulnérabilité est considérée comme exceptionnellement désastreuse car le protocole permet une grande partie de la dérivation de clé d'être pré-calculée, rendant les simples attaques par force brute encore plus attrayantes pour l'attaquant. Pour plus de contexte, voir cet article sur le blog du projet (Obsolète).
L'auteur n'encourage ni ne soutient l'utilisation de Pyrit pour la violation de la vie privée des communications des personnes. L'exploration et la réalisation de la technologie discutée ici se motivent par elles-mêmes ; cela est documenté par le développement ouvert, la distribution strictement basée sur le code source et la licence « copyleft ».
Pyrit est un logiciel libre – libre comme dans liberté. Chacun peut l'inspecter, le copier ou le modifier et partager les travaux dérivés sous la licence publique générale GNU v3+. Il compile et s'exécute sur une large variété de plateformes incluant FreeBSD, MacOS X et Linux comme systèmes d'exploitation et les processeurs x86, alpha, arm, hppa, mips, powerpc, s390 et sparc.
L'attaque de WPA/WPA2 par force brute se résume à calculer les Pairwise Master Keys aussi vite que possible. Chaque Pairwise Master Key « vaut » exactement un mégaoctet de données passées par PBKDF2-HMAC-SHA1. À son tour, calculer 10 000 PMK par seconde équivaut à hacher 9,8 gigaoctets de données avec SHA1 en une seconde.
Voici des exemples de la façon dont plusieurs nœuds de calcul peuvent accéder à un seul serveur de stockage via différentes méthodes fournies par Pyrit :
Voir le fichier CHANGELOG pour une meilleure description.
Pyrit compile et fonctionne correctement sous Linux, MacOS X et BSD. Windows ne m'intéresse pas ; envoyez-moi un message (lisez : un patch) si vous faites fonctionner Pyrit sans copier la moitié de GNU… Un guide pour installer Pyrit sur votre système se trouve dans le wiki. Il y a aussi un Tutoriel et un manuel de référence pour le client en ligne de commande.
Vous voudrez peut-être lire cette entrée du wiki si vous êtes intéressé par le portage de Pyrit vers une nouvelle plateforme matérielle. Pour les contributions ou les rapports de bogues, vous devez soumettre un problème.