Sto cercando di avvolgere la mia testa intorno al WPA / WPA2 Handshake a 4 vie nel tentativo di determinare se è possibile che un access point wireless inaffidabile recuperi una versione in chiaro (o hash) della password di un router fornita tramite un modulo di autenticazione legittimo richiesto da un client sistema operativo nativo. Ho un sacco di esperienza nell'acquisire strette di mano e craccarle in diversi scenari di pentesting, ma sono interessato ad esplorare il seguente scenario:
-
Un router honeypot canaglia risponde a una richiesta di sonda STA (con la risposta di probe o beacon). Questo honeypot avvia il processo di autenticazione WPA / WPA2.
-
Il client, credendo che l'AP sia una rete conosciuta, tenta di connettersi, ma viene inizialmente respinto perché la password WPA / WPA2 non corrisponde alla password per il router vero. Per tutti i client sa, la rete è la stessa, tuttavia l'amministratore ha cambiato la password. Un modulo di autenticazione OS nativo viene presentato al client dal gestore del sistema operativo / rete (probabilmente con una password pre-compilata). Il client invia la password alla rete honeypot che utilizza il SSID temporaneo della rete attendibile.
-
???. È possibile per l'honeypot, che presenta lo STA con richieste di autenticazione legittime (utilizzando qualsiasi password WPA arbitraria sul router) per visualizzare la versione in chiaro della password inviata dallo STA nel tentativo di autenticare? In caso contrario, in quale formato questa password viene presentata all'AP per l'autenticazione?
Sono interessato ad apprendere le opzioni correnti (cli / tools) per questo tipo di attacco di phishing (di nuovo, basandomi interamente su un modulo di autenticazione WPA OS naive, non su una pagina di phishing HTML di tipo captive portal). Se non ce ne sono, sono curioso di sapere se WPA / WPA2 consentirebbe addirittura che lo scenario descritto nei passaggi precedenti si verifichi. Sono un programmatore molto comodo e sono disposto a correggere Hostapd o utilizzare libpcap per implementare questo tipo di funzionalità, se necessario. Sto solo avendo difficoltà a determinare se questo tipo di attacco è persino possibile.