
Um utilitário offline de força bruta para Wi-Fi Protected Setup
Pixiewps é uma ferramenta escrita em C usada para forçar brute-force offline do PIN WPS explorando a baixa ou inexistente entropia de algumas implementações de software, o chamado "ataque pixie-dust" descoberto por Dominique Bongard no verão de 2014. É destinado apenas para fins educacionais.
Ao contrário do ataque tradicional de brute-force online, implementado em ferramentas como Reaver ou Bully que visam recuperar o PIN em algumas horas, este método pode obter o PIN em apenas segundos ou minutos, dependendo do alvo, se vulnerável.

Desde a versão 1.4, também pode recuperar o WPA-PSK a partir de uma captura passiva completa (M1 a M7) para alguns dispositivos (atualmente apenas alguns dispositivos que funcionam com --mode 3).

Tudo começou como um projeto da comunidade, mais detalhes podem ser encontrados aqui:
Você também pode visitar a wiki.
apt-get -y install build-essential
OpenSSL também foi reintroduzido como opcional para alcançar melhores velocidades. Veja a seção Build.
Download
git clone https://github.com/wiire/pixiewps
ou
wget https://github.com/wiire/pixiewps/archive/master.zip && unzip master.zip
Build
cd pixiewps*/
make
Opcionalmente, você pode executar make OPENSSL=1 para usar funções SHA-256 mais rápidas do OpenSSL.
Instalação
sudo make install
Usage: pixiewps <arguments>
Required arguments:
-e, --pke : Enrollee public key
-r, --pkr : Registrar public key
-s, --e-hash1 : Enrollee hash 1
-z, --e-hash2 : Enrollee hash 2
-a, --authkey : Authentication session key
-n, --e-nonce : Enrollee nonce
Optional arguments:
-m, --r-nonce : Registrar nonce
-b, --e-bssid : Enrollee BSSID
-v, --verbosity : Verbosity level 1-3, 1 is quietest [3]
-o, --output : Write output to file
-j, --jobs : Number of parallel threads to use [Auto]
-h : Display this usage screen
--help : Verbose help and more usage examples
-V, --version : Display version
--mode N[,... N] : Mode selection, comma separated [Auto]
--start [mm/]yyyy : Starting date (only mode 3) [+1 day]
--end [mm/]yyyy : Ending date (only mode 3) [-1 day]
-f, --force : Bruteforce full range (only mode 3)
Miscellaneous arguments:
-7, --m7-enc : Recover encrypted settings from M7 (only mode 3)
-5, --m5-enc : Recover secret nonce from M5 (only mode 3)
O exemplo de uso mais comum é:
pixiewps --pke ... --pkr ... --e-hash1 ... --e-hash2 ... --authkey ... --e-nonce ...
o que requer uma versão modificada do Reaver ou Bully que imprime a Chave de Sessão de Autenticação (--authkey, -a). A versão recomendada é reaver-wps-fork-t6x.
O programa também possui uma página de manual e uma tela de ajuda detalhada (--help) com mais exemplos.
Esta funcionalidade foi introduzida no Reaver 1.3. Funciona escolhendo a chave privada = 1, resultando na chave pública --pkr = 2. Isso acelera o processo de cracking já que o AP precisa fazer menos cálculos para calcular o segredo compartilhado Diffie-Hellman, que posteriormente é usado para derivar as chaves de sessão que criptografam a transação atual. Pixiewps pode explorar essa funcionalidade para que o usuário não precise inserir --pkr (é sempre 2) e opcionalmente computar as chaves de sessão, como --authkey, se argumentos adicionais, --r-nonce e --bssid, forem especificados.
Acontece que alguns roteadores são problemáticos e não funcionam corretamente com esta funcionalidade. Alguns nem sequer conseguem validar o PIN correto e a transação falhará após M4. Por esta razão, esta funcionalidade está obsoleta e nunca deve ser usada no Reaver.
Esta opção requer o atributo configurações criptografadas encontrado em M7 quando o Registrador provou conhecimento do PIN, e o Ponto de Acesso, o Enrollee, envia sua configuração de rede atual.
Esta funcionalidade pode ser usada para quebrar o WPA-PSK (e o PIN WPS) a partir de uma captura passiva de pacotes (ex.: farejando uma sessão PBC).
Esta opção é usada apenas para o modo 3. Quando usada, o pixiewps começará a força bruta a partir do tempo atual e voltará até 0. É conceitualmente idêntico a usar apenas --end 01/1970 (ou --start 01/1970, já que são intercambiáveis).
O PIN vazio, denotado por <empty> pode ser testado com -p "" no Reaver 1.6.1 e posteriores. Vem de uma configuração incorreta do método PIN em alguns Pontos de Acesso que têm a variável PIN definida como NULL (ou string vazia).

Pixiewps pode ser compilado para uma grande variedade de plataformas. No Windows pode ser compilado com MinGW. Certifique-se de ter o suporte a phtread instalado.
Desde a versão 1.4.1, foi incluído nos repositórios oficiais do OpenWrt e LEDE.
A numeração de versão está no formato 1.x.y, onde x geralmente indica um lançamento principal, e y um lançamento menor, tipicamente correção de bugs ou outras pequenas alterações. Cada lançamento principal começa com y = 0 e deve ser considerado instável nas primeiras horas de publicação, mesmo que não seja marcado como tal.
Para uma lista de mudanças entre um lançamento e o anterior, consulte CHANGELOG.
:', '-', ' ', ou semWPS pin e WPA-PSK são denotadas com [+] ou [-] em caso de falha0 em uma tentativa bem-sucedidaDesde o primeiro lançamento, o pixiewps melhorou muito, mas é difícil acompanhar todos os dispositivos no mercado. Decidimos adicionar uma mensagem automática sugerindo que estamos interessados nos parâmetros do dispositivo testado pelo usuário.
kcdtv, rofl0r e binarymaster por ajudar e testarsoxrok2212, datahead, t6_x, aanarchyy e à comunidade Kali LinuxPixiewps é baseado no trabalho de Dominique Bongard (@Reversity):