
Una utility offline di brute-force per Wi-Fi Protected Setup
Pixiewps è uno strumento scritto in C utilizzato per forzare bruteforce offline il PIN WPS sfruttando la bassa o nulla entropia di alcune implementazioni software, il cosiddetto "attacco pixie-dust" scoperto da Dominique Bongard nell'estate 2014. È inteso solo per scopi didattici.
A differenza del tradizionale attacco brute-force online, implementato in strumenti come Reaver o Bully che mirano a recuperare il PIN in poche ore, questo metodo può ottenere il PIN in soli secondi o minuti, a seconda del bersaglio, se vulnerabile.

Dalla versione 1.4, può anche recuperare il WPA-PSK da una cattura passiva completa (da M1 a M7) per alcuni dispositivi (attualmente solo alcuni dispositivi che funzionano con --mode 3).

Tutto è iniziato come un progetto della comunità, maggiori dettagli si possono trovare qui:
Puoi anche visitare la wiki.
apt-get -y install build-essential
OpenSSL è stato anche reintrodotto come opzionale per ottenere velocità migliori. Vedi la sezione Build.
Download
git clone https://github.com/wiire/pixiewps
oppure
wget https://github.com/wiire/pixiewps/archive/master.zip && unzip master.zip
Compilazione
cd pixiewps*/
make
Opzionalmente, puoi eseguire make OPENSSL=1 per utilizzare funzioni SHA-256 di OpenSSL più veloci.
Installa
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)
L'esempio di utilizzo più comune è:
pixiewps --pke ... --pkr ... --e-hash1 ... --e-hash2 ... --authkey ... --e-nonce ...
che richiede una versione modificata di Reaver o Bully che stampa la Authentication Session key (--authkey, -a). La versione consigliata è reaver-wps-fork-t6x.
Il programma ha anche una pagina man e una schermata di aiuto dettagliata (--help) con più esempi.
Questa funzione è stata introdotta in Reaver 1.3. Funziona scegliendo la chiave privata = 1, risultando quindi nell'avere la chiave pubblica --pkr = 2. Questo accelera il processo di cracking poiché l'AP deve eseguire meno calcoli per calcolare il segreto condiviso Diffie-Hellman, che viene poi utilizzato per derivare le chiavi di sessione che criptano la transazione corrente. Pixiewps può sfruttare questa funzione in modo che l'utente non debba inserire --pkr (è sempre 2) e opzionalmente calcolare le chiavi di sessione, come --authkey, se vengono specificati argomenti aggiuntivi, --r-nonce e --bssid.
Si scopre che alcuni router sono difettosi e non funzionano correttamente con questa funzione. Alcuni non saranno nemmeno in grado di convalidare il PIN corretto e la transazione fallirà dopo M4. Per questo motivo questa funzione è deprecata e non dovrebbe mai essere utilizzata in Reaver.
Questa opzione richiede l'attributo impostazioni cifrate presente in M7 quando il Registrar ha dimostrato la conoscenza del PIN, e l'Access Point, l'Enrollee, invia la sua configurazione di rete corrente.
Questa funzione può essere utilizzata per decifrare il WPA-PSK (e il PIN WPS) da una cattura passiva di pacchetti (ad esempio sniffando una sessione PBC).
Questa opzione viene utilizzata solo per la modalità 3. Quando utilizzata, pixiewps inizierà la forzatura brutale dal tempo corrente e tornerà indietro fino a 0. È concettualmente identico all'uso del solo --end 01/1970 (o --start 01/1970 poiché sono intercambiabili).
Il PIN vuoto, indicato con <empty> può essere testato con -p "" in Reaver 1.6.1 e successivi. Deriva da una configurazione errata del metodo PIN su alcuni Access Point che hanno la variabile PIN impostata a NULL (o stringa vuota).

Pixiewps può essere compilato per un'ampia varietà di piattaforme. Su Windows può essere compilato con MinGW. Assicurati di avere installato il supporto pthread.
Dalla versione 1.4.1 è stato incluso nei repository ufficiali di OpenWrt e LEDE.
La numerazione delle versioni è nella forma 1.x.y, dove x indica di solito una release major, e y una release minor, tipicamente correzioni di bug o altre piccole modifiche. Ogni major release inizia con y = 0 e dovrebbe essere considerata instabile nelle prime ore dalla pubblicazione, anche se non contrassegnata come tale.
Per un elenco delle modifiche tra una release e la precedente, fare riferimento a CHANGELOG.
:', '-', ' ', o senzaWPS pin e WPA-PSK sono indicati con [+] o [-] in caso di fallimento0 in caso di successoSin dalla prima release, pixiewps è migliorato molto, ma è difficile tenere traccia di ogni dispositivo sul mercato. Abbiamo deciso di aggiungere un messaggio automatico che suggerisce che siamo interessati ai parametri del dispositivo testato dall'utente.
kcdtv, rofl0r e binarymaster per l'aiuto e i testsoxrok2212, datahead, t6_x, aanarchyy e alla comunità di Kali LinuxPixiewps si basa sul lavoro di Dominique Bongard (@Reversity):