web-dev-qa-db-ja.com

FaceNiffはどのように機能しますか?

FaceNiffは、Android FacebookセッションIDをスニッフィングするアプリです。被害者と同じWiFiに接続する必要があります。WPA2が存在する場合でも機能していると言われています。どうすれば可能ですか?I WPA2で他の接続ユーザーの通信を解読できますか?

15
fhucho

TL; DR:FaceNiffはおそらくWPAの「Hole 192」を悪用し、ARPポイズニングを使用して中間者攻撃をセットアップします。要するに、ステップは次のとおりです。

  • EveはGroup Temporal Key(GTK)を使用して、ARPパケットをネットワークに挿入します。ネットワークのゲートウェイIPはMACアドレスとペアになっています。
  • クライアントは、EveのMACアドレスを新しいゲートウェイとして登録します。
  • クライアントは、秘密鍵(PTK)で暗号化されたパケットをAPに送信しますが、イブ宛てに送信されます。 (「ハブ」であるため、パケットは引き続きAPに送信される必要があります。)
  • APはパケットを復号化し、EveのPTKを使用して再暗号化し(自分宛てであるため)、それらを再ブロードキャストします。パケットは今やイブへのクリアテキストです。
  • 続いてセッションハイジャックが発生します。

The Registerの記事によると、ARP中毒が実際に関与しているようです。

http://www.theregister.co.uk/2011/06/03/Android_cookie_stealing_app/print.html

アプリは、WPAおよびWPA2暗号化スキームで保護されたネットワーク上でも機能し、ARPスプーフィングと呼ばれる手法を使用して、ローカルトラフィックを攻撃者のデバイス経由でリダイレクトします。ただし、攻撃者はセキュリティパスワードを知っている必要があります。 。

したがって、WPA2ネットワークの場合、FaceNiffは「Hole 196」を悪用している可能性が高いです。 AirTightには、ホール196が何であるかを正確に説明する記事、および(以下に貼り付けて)EveがWPA2トラフィックを平文のように盗聴できるようにそれを悪用する方法についての記事があります。

http://www.airtightnetworks.com/WPA2-Hole196

WPA2ネットワークでは、悪意のあるインサイダーが、共有グループキー(GTK)を使用して暗号化された偽のパケット(トランスミッタのアドレスとしてAPのMACアドレスを使用)をネットワーク内の他の承認されたWi-Fiクライアントに直接ブロードキャストします。 GTKを使用して起動できるエクスプロイトの1つの例は、古典的なARPポイズニング(中間者攻撃)攻撃です(Black Hat Arsenal 2010およびDefcon18で実証)。

ARPポイズニングエクスプロイトでは、インサイダーは、たとえば、GTK暗号化パケット内にARP要求メッセージを含めることができます。 ARP要求には、実際のゲートウェイのIPアドレスが含まれていますが、攻撃者のマシンのMACアドレスが含まれています。このメッセージを受信するすべてのクライアントは、ARPテーブルを更新し、攻撃者のMACアドレスをゲートウェイのIPアドレスにマッピングします。

「汚染された」すべてのWi-Fiクライアントは、それぞれの秘密鍵(PTK)で暗号化されたすべてのトラフィックをAPに送信しますが、宛先は攻撃者のMACアドレスです。 APはトラフィックを復号化して攻撃者に転送し、攻撃者のPTKを使用して暗号化します。 (APから)攻撃者に到達するすべてのトラフィックは攻撃者のPTKで暗号化されるため、攻撃者はトラフィック(ログイン資格情報、電子メール、その他の機密データを含む)を復号化できます。

その後、攻撃者はトラフィックをネットワークの実際のゲートウェイに転送することを選択できます。これにより、被害者のWi-Fiクライアントが異常な動作を見ることなく、通信を継続できます。

12
Iszi

WPA2 WiFiはARPポイズニングとスニッフィングから保護されていますか? を参照してください。 arpスプーフィングを使用することについてのメモから、196番ホールが関係していることがわかります。

4
Jeff Ferland

内部ではARPスプーフィングを使用しているようです(FaceSniffの変更ログでARPについて言及していることに気付きました)。

3
fhucho