非常によく似た質問が尋ねられました ここ が返答を得られなかったので、もう少し洞察を持って新しい質問をします。
最も一般的なEvil Twin Attackの問題は、偽のAPが保護されておらず、実際のAPへの認証解除攻撃を行っても、802.1x構成が異なるためにクライアントが偽のAPに自動的に接続しないことに気付きました。唯一の方法は、クライアントが自分の意思で接続することです。
hostapdを使用して偽のAPを作成しています。したがって、クライアントのパスフレーズが偽のAPの構成ファイルで設定されたものと一致しない場合でも、どのようにして認証要求を受け入れることができますか(hostapd.conf)?
偽のAPから生成されたPSKは、クライアントによって生成されたものとは異なるためです。
ここでAPのクローンを作成する方法(ワイヤレスネットワークリストのオリジナルとマージする)については既に回答しました と思います。
悪魔の双子がオープンネットワークの場合(ユーザーがネットワークリストから誤って手動で選択するのを待っている場合)、再接続がタイムアウトするまで、認証解除フレームを送信し続ける必要があります。
クライアントからの認証要求(RADIUS-AAAサーバーに渡される)を自動的に受け入れる場合は、APでまったく同じ設定にする必要があります。
これはhostapd.confでこれに大まかに変換されます(これらはSOMEパラメータです)
auth_server_addr=192.168.0.1 // RADIUS SERVER (Enterprise / 802.1x)
auth_server_port=1234 // RADIUS SERVER (Enterprise / 802.1x)
auth_server_shared_secret=verySecret // RADIUS SERVER (Enterprise / 802.1x)
wpa_key_mgmt=WPA-EAP // RADIUS SERVER (Enterprise / 802.1x)
ieee8021x=1 // RADIUS SERVER (Enterprise / 802.1x)
wpa=2 // Encryption Algorithm (WPA2)
wpa_pairwise=CCMP // Cipher (CCMP)
ssid=evilTwin // ESSID
rsn_preauth=1
これが私がこの例を使ったリンクです (詳細についても)。
RADIUSサーバーが必要なので、これは明らかに失敗します。802.1xについて話しているので、eapol-config
ファイルも構成する必要があります( freeRADIUS )これは、 22がサポートするEAPメソッドの1つを選択するとすべてを変更します (EAP-PEAP、EAP-TTLS、EAP-TLS 、EAP-MD5、EAP-FASTなど)
偽のAPから生成されたPSKは、クライアントによって生成されたものとは異なるためです。
データの暗号化に使用されるキーはPMKと呼ばれ、EAP-TLSのTLS Massterシークレットから派生します。 ここに EAP-TLSの詳細情報があります。
あなたが達成したいこととRADIUSサーバーに関するすべてがまだ欠けているので、これがあなたの質問に答えることを願っています。
最も一般的なEvil Twin Attackの問題は、偽のAPが保護されておらず、実際のAPへの認証解除攻撃を行っても、802.1x構成が異なるためにクライアントが偽のAPに自動的に接続しないことに気付きました。唯一の方法は、クライアントが自分の意思で接続することです。
それで、クライアントのパスフレーズが偽のAPの構成ファイル(hostapd.conf)で設定されたものと一致しない場合でも、認証の要求をどのように受け入れることができますか?
Evil Twin攻撃では、攻撃されたネットワークの設定をできる限り一致させる必要があります。したがって、攻撃しているネットワークが802.1X認証を使用している場合は、偽のAPで802.1X認証を使用する必要があります。
そこから、偽のAPをNASクライアントがRADIUSコントロールのサーバーに認証要求を送信するためのクライアントとして設定します。あなたのRADIUSサーバーでは、認証の試行に対してRADIUS ACCEPTを返す構成を作成します(これを実行する機能と実際の実装はRADIUSサーバー。実際に認証を処理するつもりはないが、盲目的にそれを受け入れるため、ユーザーの実際の資格情報があっても問題ありません(つまり、誤った資格情報または誤った資格情報も受け入れます)。
トリックは、実際のネットワークの認証サーバーの名前と証明書を偽造することです。クライアントの構成によっては、これらの両方が一致しない場合、クライアントデバイスは認証されないか、認証前にユーザーに確認を求めます。