Pulire un file .pcap contenente un WPA handshake

Spesso un file .pcap contenente l’handshake WPA catturato con tool automatici come Wifite risulta sporcato da altri dati, pacchetti catturati che non riguardano il four way handshake tra router e client Wi-Fi. Ecco perché è necessario ripulire la cattura, lasciando soltanto i pacchetti EAPOL che ci interessano.

Su Question Defense ho trovato un metodo che fa uso di tshark, lo riporto come memo personale, ma credo possa tornare utile a chi si diverte con il wireless hacking:

Leggi tutto

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.