Bucare una rete Wi-Fi protetta con Ubuntu usando Reaver

Fino a qualche giorno fa l’arsenale di chi voleva bucare una rete WiFi protetta era limitato alla suite aircrack-ng (che da poco ho scoperto essere stata eliminata dai repository di Debian e Ubuntu 12.04). Lo scenario è cambiato con l’arrivo di Reaver, programma che sfrutta delle vulnerabilità nel protocollo WiFi Protected Setup (WPS) effettuando un brute force che consente di recuperare la password WPA/WPA2 in poche ore.

Reaver è disponibile in formato sorgente su Google Code e deve essere compilato per funzionare. Per compilare Reaver su Ubuntu è necessario scaricare i seguenti pacchetti:

sudo apt-get install build-essential
sudo apt-get install libpcap0.8-dev
sudo apt-get install libsqlite3-dev

Scaricata e scompattata l’ultima versione del tool, al momento in cui scrivo reaver-1.3, sarà sufficiente compilarlo con i soliti comandi:

./configure
make
sudo make install

A questo punto potremo iniziare a “guardarci intorno” per vedere se attorno a noi ci sono router o AP vulnerabili, nella versione 1.3 di reaver è stato incluso walsh un’utility che permette proprio di individuare dispositivi vulnerabili nelle vicinanze. Per usare walsh è necessario mettere la propria scheda wireless in monitor mode, lo si può fare usando airmon-ng (incluso in aircrack-ng) o iwconfig. Con airmon basterà dare:

sudo airmon-ng start wlan0

Nel caso network-manager o altri software interferiscano con la messa in monitor mode della scheda wireless sarà opportuno terminare tutti i processi che possono disturbare l’operazione con:

sudo airmon-ng check kill

Se si preferisce usare iwconfig (personalmente reputo più affidabile il metodo con airmon-ng), utility solitamente già inclusa in qualsiasi distribuzione, basterà invece dare i seguenti comandi per mettere in monitor mode la scheda wireless:

sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode monitor
sudo ifconfig wlan0 up

Fatto questo avremo attivato l’interfaccia mon0 necessaria al funzionamento di reaver. Come detto il primo step è usare walsh per individuare router vulnerabili:

sudo walsh -i mon0

L’output sarà una lista di router con relativo MAC address e nome. Se si dovesse ricevere l’errore “Found packet with bad FCS, skipping” allora si dovrà dare a walsh un’opzione per eliminare questo errore e procedere comunque:

sudo walsh -i mon0 --ignore-fcs

Presa nota del MAC address del router da attaccare potremo procedere finalmente al brute force con reaver nel seguente modo:

reaver -i mon0 -b 00:01:02:03:04:05 -vv

si può anche omettere la verbosità dell’output (opzione -vv) ma consiglio di lasciarla perché così si hanno molte più informazioni sull’attacco che si sta eseguendo.

Per rendere più veloce l’attacco è possibile anche diminuire il delay di 1 secondo nell’attacco forza bruta di reaver come spiegato nei reaver-wps hints and tricks:

reaver -i mon0 -b 00:01:02:03:04:05 -vv -d 0

Reaver salva le sue sessioni di attacco nella directory “/etc/reaver” con una estensione .wpc, se si interrompe una sessione e la si vuole riprendere reaver la caricherà in automatico in base al MAC address del router bersaglio, in alternativa si può caricare manualmente una sessione impartendo l’opzione “–session option”. Non aspettatevi comunque tempi troppo veloci, la riuscita del brute force dipende molto dal modello di router attaccato e da quanto tempo il router bersaglio rimane acceso. Una sola annotazione: il mio portatile, durante un test di attacco con reaver, consumava la carica della batteria in pochissimo tempo, segno che il brute force è esoso in termini di utilizzo delle risorse del sistema.

9 commenti su “Bucare una rete Wi-Fi protetta con Ubuntu usando Reaver”

  1. Configurato tutto correttamente,ma rimane fisso il terminale qui "sudo walsh -i mon0 –ignore-fcs

    Scanning for supported APs…
    "

    Non ci sono ap nelle vicinanze vulnerabili?O semplicemente non funziona?

  2. funziona con 1 router su 10 e su altri blocca l 99% oppure anche prima tentati vari switch ma il successo e stato solo con un router sitecom con pass di pochi caratteri

  3. Se wash (ex walsh) non fuziona – come accade anche a me sia su backtrack 5 R2 che in ubuntu – è molto più semplice usare una banale app su smartphone per scoprire reti WPS enabled 😉

I commenti sono chiusi.