web-dev-qa-db-fra.com

Masquage des mots de passe dans wpa_supplicant.conf avec WPA-EAP et MSCHAP-v2

Ma wpa_supplicant.conf ressemble à ça:

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"
}

Avec cette combinaison spécifique de WPA-EAP et MSCHAP-v2, existe-t-il un moyen de ne pas inclure mon mot de passe en clair dans ce fichier de configuration?

Le ChangeLog semble prétendre que cela est faisable (depuis 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

Quelques notes:

  • L'utilisation d'un mot de passe différent n'est pas une option, car je n'ai aucun contrôle sur ce réseau (il s'agit d'un réseau d'entreprise et un seul nom d'utilisateur/mot de passe est utilisé pour accéder à tous les services, y compris la connexion au Wifi).

  • Un mot sur les doublons:

1 Cet anser prétend que l'utilisation d'un mot de passe haché signifie que le hachage devient le mot de passe. C'est techniquement vrai, mais au moins le hachage est un mot de passe uniquement en wifi , ce qui représente une avancée significative par rapport à la fuite d'un mot de passe partagé donnant accès à plusieurs services .

24
Clément

Vous pouvez générer le NtPasswordHash (alias hachage du mot de passe NTLM) vous-même comme suit:

echo -n plaintext_password_here | iconv -t utf16le | openssl md4

Préfixez-le avec "hachage:" dans le fichier wpa_supplicant.conf, c'est-à-dire.

password=hash:6602f435f01b9173889a8d3b9bdcfd0b

Sur macOS, le code iconv est UTF-16LE

echo -n plaintext_password_here | iconv -t UTF-16LE | openssl md4

Notez que vous ne gagnez pas beaucoup de sécurité. Si un attaquant trouve le fichier avec le hachage, il peut rejoindre le réseau de manière triviale (de la même manière que votre ordinateur), donc avoir haché le mot de passe n'aide pas du tout. Si le mot de passe est utilisé ailleurs, l'attaquant devrait utiliser la force brute pour trouver le mot de passe d'origine (c'est-à-dire essayer les mots de passe les plus probables et calculer leur hachage jusqu'à ce qu'ils trouvent une correspondance). Comme vous pouvez calculer environ 1 milliard de hachages par seconde sur un PC ordinaire, ce n'est pas un gros obstacle, et les attaquants peuvent facilement utiliser des tables précalculées car le hachage n'est pas salé. NT est vraiment horrible comme algorithme de hachage de mot de passe.

20
Guido

Terminal ouvert et tapez:

wpa_passphrase YOUR_SSID YOUR_PASSWORD

Exemple de sortie:

network={
    ssid="YOUR_SSID"
    #psk="YOUR_PASSWORD"
    psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702
}

Ouvrez le wpa_supplicant.conf fichier et ajoutez la ligne suivante:

psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702
18
GAD3R