Mi wpa_supplicant.confaspecto es este:
network={
ssid="Some name"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
identity="my-user-id"
password="(clear text password here)"
ca_cert="/usr/share/ca-certificates/mozilla/GeoTrust_Global_CA.crt"
phase2="auth=MSCHAPV2"
}
Con esta combinación específica de WPA-EAP y MSCHAP-v2, ¿hay alguna manera de no incluir mi contraseña en claro en este archivo de configuración?
ChangeLog parece afirmar que esto es factible (¡desde 2005!):
* added support for storing EAP user password as NtPasswordHash instead
of plaintext password when using MSCHAP or MSCHAPv2 for
authentication (hash:<16-octet hex value>); added nt_password_hash
tool for hashing password to generate NtPasswordHash
Algunas notas:
Usar una contraseña diferente no es una opción, ya que no tengo control sobre esta red (esta es una red corporativa, y se usa un solo nombre de usuario / contraseña para acceder a todos los servicios, incluida la conexión a Wifi).
Una palabra sobre duplicados:
- 40: use-wpa-supplicant-without-plain-text-passwords se trata de claves precompartidas
- 74500: wpa-supplicant-store-password-as-hash-wpa-eap-with-phase2-auth-pap usa PAP como autenticación de fase 2 (no MSCHAP-v2).
- 85757: store-password-as-hash-in-wpa-supplicant-conf es muy similar a esta pregunta, pero se cerró (incorrectamente) como un duplicado de 74500 ; desafortunadamente, las respuestas dadas al supuesto duplicado son específicas de PAP y no se aplican al caso MSCHAP-v2. 85757 en sí tiene una respuesta que dice que es esencialmente imposible independientemente del protocolo, pero la justificación es inválida 1
1 Esa respuesta afirma que el uso de una contraseña hash significa que el hash se convierte en la contraseña. Esto es técnicamente cierto, pero al menos el hash es una contraseña solo para wifi , que es un progreso significativo sobre la filtración de una contraseña compartida que otorga acceso a múltiples servicios.
fuente

-dhuella de wpa_supplicant, consigo diferentesEAP-PEAP: Derived Session-Id,EAP-PEAP: Decrypted Phase 2 EAP,MSCHAPV2: auth_challenge - hexdump(len=16):, yMSCHAPV2: password hash - hexdump(len=...)salidas, y finalmente dos mensajes diciendoEAP-TLV: TLV Result - FailureyEAPOL authentication completed - result=FAILUREMSCHAPV2: password hash - hexdumplínea en la traza de depuración fallida, lo cual es alentador (el no cifrado tiene unaMSCHAPV2: password - hexdump_asciilínea en su lugar), pero la conexión fallaAbra la terminal y escriba:
Salida de muestra:
Abra el
wpa_supplicant.confarchivo y agregue la siguiente línea:fuente