WPA-EAPおよびMSCHAP-v2を使用したwpa_supplicant.confのパスワードの非表示


23

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は、ハッシュされたパスワードを使用すると、ハッシュがパスワードになることを意味すると主張しています。これは技術的には事実ですが、少なくともハッシュはWi-Fi専用のパスワードであり、複数のサービスへのアクセスを許可する共有パスワードの漏洩に比べて大幅に進歩しています。

回答:


20

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は、パスワードハッシュアルゴリズムとして非常に恐ろしいです。


ありがとう!これは有望に見えますが、私にとってはうまくいきません。見て-dwpa_supplicantの痕跡、私は別の取得EAP-PEAP: Derived Session-IdEAP-PEAP: Decrypted Phase 2 EAPMSCHAPV2: auth_challenge - hexdump(len=16):、およびMSCHAPV2: password hash - hexdump(len=...)出力、そして最終的に2件のメッセージが言ってEAP-TLV: TLV Result - FailureEAPOL authentication completed - result=FAILURE
クレマン

ただ、明確にする:私は入手できますかMSCHAPV2: password hash - hexdump(非暗号化された1を持って奨励して失敗し、デバッグトレース内の行、MSCHAPV2: password - hexdump_ascii代わりにライン)が、接続が失敗した
クレマン

1
@Clément正しいハッシュが生成されていることを確認するために、システムで実行された上記のコマンドは、このオンライン計算機と同じハッシュを計算しますよね?
グイド

1
パスワードが14文字より長い場合、これは機能しません。
ジョンソン

1
@Alden非常に安い。ハッシュから入力に直接戻る方法はありませんが、一致するものが見つかるまで、考えられる多くのパスワードを試して、ハッシュを計算できます。MD4は非常に高速で、6年前のGPUで2秒で10億です。
ジル 'SO-悪であるのをやめる'

16

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

wpa_passphrase YOUR_SSID YOUR_PASSWORD

サンプル出力:

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

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

psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702

2
WPA PSK(SSIDとパスワードのハッシュされた組み合わせ)は、NTLMハッシュ/ NtPasswordHash(パスワードのみの16ビットMD4ハッシュ)とは異なります。
グイド

5
OPはWPA-PSKではなく、WPA-EAPについて質問しました。
グイド

2
投稿でそれが明確になっていない場合は申し訳ありません。これは、私がリストした最初の重複していないものの解決策です。私が尋ねている構成には事前共有キーはありません。
クレメント

1
これは特定の質問ではないかもしれませんが、問題の解決に役立ちました。ありがとうございました。
typelogic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.