WLAN crittografata LEAP Pentesting
Lightweight Extensible Authentication Protocol (LEAP) è un protocollo di autenticazione legacy basato su Cisco che utilizza un server RADIUS esterno per autenticare gli utenti. Esegue l'autenticazione pseudo-reciproca sia del client wireless che del server di autenticazione, con l'uso di funzioni di hashing - MS-CHAP e MS-CHAPv2.
La vulnerabilità di LEAP risiede nel fatto che:
Il nome utente dell'utente viene inviato in chiaro, quindi l'hacker deve solo ottenere la password dell'utente, utilizzando, ad esempio, l'ingegneria sociale.
La password dell'utente viene violata con MS-CHAPv2: l'algoritmo è vulnerabile agli attacchi del dizionario offline.
Come nei casi precedenti, iniziamo con airodump-ng per scoprire quali WLAN vengono trasmesse nell'ambiente.
Come puoi vedere, il "LAB-test" WLAN è visibile come rete WPA2. Questo tipo di modalità di autenticazione viene modificata in "MGT": ciò significa che non esiste una chiave pre-condivisa statica (PSK), ma i servizi di autenticazione vengono spostati su un server di autenticazione esterno (es. RADIUS). A quel punto, non è possibile dire se la particolare rete WLAN è basata su LEAP, PEAP, EAP-TLS, EAP-TTLS o su quale altro tipo di tecnologia EAP.
Il prossimo passo è abilitare Wireshark, per vedere i dettagli del pacchetto - fornisce al penetration tester molte informazioni preziose.
Come puoi vedere, il server di autenticazione ha provato prima a negoziare EAP-TTLS, ma il client ha rifiutato. Nei prossimi 2 messaggi hanno accettato di utilizzare LEAP.
Nei primi 2 messaggi, il server di autenticazione richiede un nome utente (Identità) e il client risponde: come puoi vedere, la risposta del client viene trasmessa in chiaro.
A quel punto, sappiamo già che un nome utente valido del client wireless è "LAB_user". Per scoprire la password, daremo un'occhiata aRequest/Response scambio.
Nella parte inferiore dell'intestazione di autenticazione 802.1x, è possibile osservare che il server di autenticazione ha sfidato il client wireless con un testo di verifica "197ad3e4c81227a4". Quindi, in background, il client wireless ha utilizzato un algoritmo MS-CHAPv2 combinato con la password di LAB_user e ha ottenuto un hash di valore - "ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89", che è stato rimandato al server di autenticazione. Come saprai dai capitoli precedenti, fortunatamente per noi, MS-CHAPv2 è vulnerabile agli attacchi dei dizionari offline. Per questo, useremo uno strumento molto comune per violare la password LEAP, chiamatoasleap.
Come puoi vedere, in base all'acquisizione di pacchetti, asleapè stato in grado di ricavare tutte le informazioni dallo scambio di pacchetti 802.1X e di crackare l'hashing MS-CHAPv2. La password per l'utente: "LAB_user" è "f8be4a2c".
Ancora una volta, c'è una grande possibilità che non vedrai mai l'autenticazione LEAP nell'ambiente di produzione - almeno ora hai un'ottima prova del perché.