
O famoso cracker WPA pré-calculado, migrado do Google.
O Pyrit é antigo, está desatualizado e ainda é Python2. Atualmente estou tentando reescrevê-lo do zero, então obrigado por todas as estrelas, mas lembre-se de ficar de olho na versão Python3.

O Pyrit permite criar enormes bases de dados de pré-computação da fase de autenticação WPA/WPA2-PSK em um trade-off espaço-tempo. Ao usar o poder computacional de CPUs multi-core e outras plataformas através de ATI-Stream, Nvidia CUDA e OpenCL, é atualmente de longe o ataque mais poderoso contra um dos protocolos de segurança mais usados no mundo.
WPA/WPA2-PSK é um subconjunto de IEEE 802.11 WPA/WPA2 que ignora a complexa tarefa de distribuição de chaves e autenticação de cliente, atribuindo a cada parte participante a mesma chave pré-compartilhada. Esta chave mestre é derivada de uma senha que o usuário administrador deve pré-configurar, por exemplo, em seu laptop e no Ponto de Acesso. Quando o laptop cria uma conexão com o Ponto de Acesso, uma nova chave de sessão é derivada da chave mestre para criptografar e autenticar o tráfego subsequente. O "atalho" de usar uma única chave mestre em vez de chaves por usuário facilita a implantação de redes protegidas por WPA/WPA2 para uso doméstico e em pequenos escritórios, ao custo de tornar o protocolo vulnerável a ataques de força bruta contra sua fase de negociação de chave; permite, em última análise, revelar a senha que protege a rede. Esta vulnerabilidade deve ser considerada excepcionalmente desastrosa, pois o protocolo permite que grande parte da derivação de chave seja pré-computada, tornando ataques simples de força bruta ainda mais atraentes para o atacante. Para mais contexto, veja este artigo no blog do projeto (Desatualizado).
O autor não incentiva nem apoia o uso do Pyrit para violação da privacidade de comunicação das pessoas. A exploração e realização da tecnologia discutida aqui motivam como um propósito em si mesmas; isso é documentado pelo desenvolvimento aberto, distribuição estritamente baseada em código-fonte e licenciamento 'copyleft'.
Pyrit é software livre - livre como em liberdade. Todos podem inspecionar, copiar ou modificar e compartilhar trabalhos derivados sob a GNU General Public License v3+. Ele compila e executa em uma ampla variedade de plataformas, incluindo FreeBSD, MacOS X e Linux como sistemas operacionais e processadores x86-, alpha-, arm-, hppa-, mips-, powerpc-, s390 e sparc-.
Atacar WPA/WPA2 por força bruta se resume a computar Chaves Mestres Par a Par o mais rápido possível. Cada Chave Mestre Par a Par 'vale' exatamente um megabyte de dados sendo processados por PBKDF2-HMAC-SHA1. Por sua vez, computar 10.000 PMKs por segundo equivale a fazer hash de 9,8 gigabytes de dados com SHA1 em um segundo.
Estes são exemplos de como múltiplos nós computacionais podem acessar um único servidor de armazenamento através de várias formas fornecidas pelo Pyrit:
Veja o arquivo CHANGELOG para uma descrição melhor.
Pyrit compila e funciona bem no Linux, MacOS X e BSD. Não me importo com Windows; me avise (leia: patch) se você fizer o Pyrit funcionar sem copiar metade do GNU... Um guia para instalar o Pyrit no seu sistema pode ser encontrado na wiki. Há também um Tutorial e um manual de referência para o cliente de linha de comando.
Você pode querer ler esta entrada da wiki se estiver interessado em portar o Pyrit para novas plataformas de hardware. Contribuições ou relatórios de bugs devem ser submetidos como uma Issue.