web-dev-qa-db-ja.com

WPA-EAPおよびMSCHAP-v2を使用してwpa_supplicant.confでパスワードを非表示にする

俺の wpa_supplicant.confは次のようになります。

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

WPA-EAPとMSCHAP-v2のこの特定の組み合わせで、この構成ファイルにパスワードを明確に含めない方法はありますか?

ChangeLogは これは実現可能であると主張します (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

いくつかのメモ:

  • このネットワークを制御できないため、別のパスワードを使用することはできません(これは企業ネットワークであり、単一のユーザー名/パスワードを使用して、Wifiへの接続を含むすべてのサービスにアクセスします)。

  • 重複についての言葉:

1 そのanserは、ハッシュされたパスワードを使用すると、ハッシュがパスワードになることを意味すると主張しています。これは技術的には真実ですが、少なくともハッシュはwifi-onlyパスワードです。これは、multipleサービス。

24
Clément

次のようにして、NtPasswordHash(別名NTLMパスワードハッシュ)を自分で生成できます。

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

Wpa_supplicant.confファイルの「hash:」を前に付けます。

password=hash:6602f435f01b9173889a8d3b9bdcfd0b

MacOSでは、iconvコードはUTF-16LE

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

セキュリティがあまり得られないことに注意してください。攻撃者がハッシュ付きのファイルを見つけた場合、(コンピューターと同じように)ネットワークに簡単に参加できるため、パスワードをハッシュしてもまったく役に立ちません。パスワードが他の場所で使用されている場合、攻撃者はブルートフォースを使用して元のパスワードを見つける必要があります(つまり、最も可能性の高いパスワードを試して、一致するものが見つかるまでハッシュを計算します)。通常のPCでは1秒あたり約10億のハッシュを計算できるため、これは大きなハードルではなく、ハッシュは無塩であるため、攻撃者は事前計算済みのテーブルを簡単に使用できます。 NTはパスワードハッシュアルゴリズムとしては本当に恐ろしいものです。

20
Guido

ターミナルを開いて入力:

wpa_passphrase YOUR_SSID YOUR_PASSWORD

出力例:

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

wpa_supplicant.confファイルに次の行を追加します。

psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702
18
GAD3R