Reaver を使用した WPS 総当たり攻撃の実行

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

はじめに

Wi-Fi Protected Setup (WPS) は、ルーターとワイヤレスデバイス間の接続をより迅速かつ容易にするために設計されたネットワークセキュリティ標準です。しかし、その PIN 機能には重大な設計上の欠陥があり、ブルートフォース攻撃に対して脆弱になっています。

この実験(Lab)では、この脆弱性を悪用する方法を学びます。そのために特別に設計されたツールである Reaver を使用します。ワイヤレスインターフェイスの設定、ターゲットのスキャンから攻撃の実行、そして WPA/WPA2 パスフレーズの回復まで、プロセス全体を段階的に進めていきます。この実践的な経験により、一般的な Wi-Fi 攻撃ベクトルとネットワークセキュリティ衛生の重要性について、実践的な理解を得ることができます。

この実験(Lab)では、シミュレートされた Wi-Fi 環境を使用するため、安全かつ合法的にこれらの操作を実行できます。

wash スキャンからターゲットの BSSID を選択する

このステップでは、ワイヤレスインターフェイスを監視用に準備し、脆弱な WPS 対応ネットワークをスキャンします。最初のタスクは、ワイヤレスカードを「モニターモード」にすることです。これにより、デバイス宛てのトラフィックだけでなく、空中のすべての Wi-Fi トラフィックをキャプチャできるようになります。これにはairmon-ngを使用します。次に、ターゲットを特定するためにwashを使用します。

まず、仮想ワイヤレスインターフェイスwlan0をモニターモードで起動します。これにより、通常wlan0monという名前の新しいインターフェイスが作成されます。

sudo airmon-ng start wlan0

モニターモードが有効になったことを確認する出力が表示されるはずです。次に、インターフェイスがモニターモードになった状態で、washを使用して近くの WPS 対応アクセスポイントをスキャンできます。

sudo wash -i wlan0mon

しばらくすると、washはネットワークのリストを表示します。私たちのシミュレートされたネットワークはTestAPという名前です。

BSSID               Ch  WPS Version  WPS Locked  ESSID
--------------------------------------------------------------------------------
XX:XX:XX:XX:XX:XX   6   1.0          No          TestAP

この出力から、TestAPネットワークのBSSIDを特定してコピーします。BSSID はアクセスポイントの一意のハードウェアアドレスであり、次のステップで攻撃を開始するために必要になります。

-i および -b フラグを使用して Reaver 攻撃を開始する

このステップでは、特定したターゲットアクセスポイントに対して Reaver 攻撃を開始します。Reaver は、正しい WPS PIN の組み合わせを見つけるために、すべての可能な PIN の組み合わせを試すプロセスを自動化します。

攻撃を開始するには、Reaver に 2 つの重要な情報を提供する必要があります。モニターモードインターフェイスとターゲットの BSSID です。

  • -i <interface>: モニターモードインターフェイスを指定します(例:wlan0mon)。
  • -b <bssid>: ターゲットアクセスポイントの BSSID を指定します。

次に、reaverコマンドを実行します。<BSSID_FROM_WASH>を、前のステップでコピーした実際の BSSID に置き換えてください。

sudo reaver -i wlan0mon -b <BSSID_FROM_WASH>

コマンドを実行すると、Reaver が開始されます。ターゲットアクセスポイントと関連付けられる際の初期ステータスメッセージが表示されます。

[+] Reaver v1.6.5 WiFi Protected Setup Attack Tool
[+] Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

[+] Waiting for beacon from XX:XX:XX:XX:XX:XX
[+] Associated with TestAP (ESSID: TestAP)

これは攻撃が開始されたことを示しています。次のステップでは、より詳細な進捗を表示するためのパラメータを追加します。現時点では、Ctrl+Cを押して現在のコマンドを停止できます。

詳細な出力を得るために-vv パラメータを追加して進捗を監視する

このステップでは、詳細なフィードバックを得るために詳細フラグを付けて Reaver 攻撃を再開します。デフォルトでは、Reaver の出力は非常に最小限です。学習やトラブルシューティングのために、ツールが何をしているかを正確に把握することは役立ちます。

Reaver には、詳細度フラグ-vと、さらに詳細な情報を提供する二重詳細度フラグ-vvがあります。PIN の試行やその他のトランザクション情報を表示するために-vvを使用します。

前の Reaver コマンドがまだ実行中の場合は、Ctrl+Cを押して停止してください。次に、コマンドを再実行し、末尾に-vvフラグを追加します。以前と同じ BSSID を使用することを忘れないでください。

sudo reaver -i wlan0mon -b < BSSID_FROM_WASH > -vv

詳細な出力が有効になると、攻撃の詳細なログがさらに多く表示されるようになります。これには、WPS 認証交換の一部である M1-M7 メッセージや、テストされている特定の PIN が含まれます。

[+] Associated with TestAP (ESSID: TestAP)
[+] Trying pin "12345670"
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
...

この詳細な表示により、Reaver がターゲットに対して積極的に PIN をテストしていることが確認できます。

PIN クラッキングの試行とパーセンテージを観察する

このステップでは、Reaver 攻撃が実行されるのを観察します。詳細な出力が有効になっているため、リアルタイムで進捗を監視できます。

Reaver が実行される際、ターミナル出力の 2 つの重要な情報に注意してください。

  1. PIN の試行: [+] Trying pin "XXXXXXXX"のような行が表示されます。これは、Reaver が現在テストしている正確な PIN を示しています。
  2. 進捗パーセンテージ: 定期的に、Reaver は[+] XX.XX% completeのような行で進捗を更新します。

WPS PIN は 8 桁の数字ですが、Reaver はそれを 2 つの部分に分けてクラックします。まず最初の 4 桁を総当たりで攻撃し、次に次の 3 桁を攻撃し、最後の桁は計算可能なチェックサムです。この設計により、可能性の数が 100,000,000 からわずか 11,000 に大幅に削減され、攻撃が非常に実用的になります。

シミュレートされた環境では、Reaver が早期に試行する既知の PIN でアクセスポイントを設定したため、攻撃は非常に迅速に完了します。実際のシナリオでは、このプロセスには数時間かかる場合があります。

コマンドが完了するまで実行させてください。このステップでは新しいコマンドを入力する必要はありません。出力を見るだけで十分です。

成功時に検出された WPS PIN と WPA パスフレーズを記録する

このステップでは、Reaver 攻撃の成功結果を確認し、復旧した認証情報を記録します。

Reaver が正しい WPS PIN を見つけると、それを使用してアクセスポイントから WPA/WPA2 パスフレーズを取得します。その後、攻撃は停止し、Reaver は復旧した認証情報を画面に出力します。

成功時の出力は以下のようになります。

[+] WPS PIN: '12345670'
[+] WPA PSK: 'labex_password'
[+] AP SSID: 'TestAP'

おめでとうございます!WPS 総当たり攻撃を成功させ、ネットワークの認証情報を復旧しました。

記録のために、この情報をプロジェクトディレクトリ内のresult.txtという名前のファイルに保存しましょう。以下のコマンドを実行してファイルを作成し、認証情報を保存します。

echo -e "WPS PIN: 12345670\nWPA Passphrase: labex_password" > ~/project/result.txt

catコマンドを使用してファイルの内容を確認できます。

cat ~/project/result.txt

まとめ

この実験では、一般的な Wi-Fi 攻撃について実践的な経験を積みました。WPS プロトコルの脆弱性について学び、安全なシミュレーション環境で Reaver ツールを使用してそれをどのように悪用するかを理解しました。

以下の主要なタスクを成功裏に完了しました。

  • airmon-ngを使用してワイヤレスインターフェイスをモニターモードにしました。
  • washを使用して、脆弱性のある WPS 対応ネットワークをスキャンし特定しました。
  • reaverを使用して、ターゲットとインターフェイスを指定して総当たり攻撃を開始しました。
  • 詳細な攻撃の進捗を監視するために、詳細フラグを使用しました。
  • WPS PIN と WPA パスフレーズを正常に復旧しました。

この演習は、強力なネットワークセキュリティプラクティスの重要性を浮き彫りにします。この種の攻撃から保護するために、ワイヤレスルーターで WPS 機能を無効にすることを強くお勧めします。