Reaver を使用した WPS Pixie-Dust 攻撃の実行

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

はじめに

Wi-Fi Protected Setup (WPS) は、デバイスを安全なワイヤレスネットワークに簡単に接続できるように設計された機能です。しかし、WPS の一部の実装には、悪用可能な重大な脆弱性が含まれています。Pixie-Dust 攻撃は、一部のワイヤレスアクセスポイントが WPS ハンドシェイク中に乱数(nonce)を生成する方法の欠陥を標的としています。数時間かかる可能性のある標準的な総当たり攻撃とは異なり、Pixie-Dust 攻撃が成功すると、数秒で WPS PIN および WPA/WPA2 パスワードを復旧できます。

この実験では、ペネトレーションテスターの役割を担い、この攻撃がどのように機能するかを学びます。aircrack-ng スイートと Reaver のツールを使用して、脆弱なターゲットを特定し、シミュレートされた環境で Pixie-Dust 攻撃を実行します。これにより、この強力な Wi-Fi ハッキング技術についての実践的な理解が得られます。

wash スキャンから Pixie-Dust 攻撃の脆弱性があるターゲットを特定する

このステップでは、まず WPS が有効になっている近くの Wi-Fi ネットワークをスキャンすることから始めます。これを行うには、まずワイヤレスインターフェイスを「モニターモード」にする必要があります。これにより、デバイス宛てのトラフィックだけでなく、空中のすべての Wi-Fi トラフィックをキャプチャできるようになります。この目的には airmon-ng ツールが使用されます。

まず、wlan0 インターフェイスでモニターモードを有効にすることから始めましょう。実際のシナリオでは、これにより通常 wlan0mon という名前の新しい仮想インターフェイスが作成されます。

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]wlan0 on [phy0]wlan0mon)
        (mac80211 station mode vif disabled for [phy0]wlan0)

これでモニターモードのインターフェイスが準備できたので、wash ツールを使用して WPS が有効になっているアクセスポイント (AP) をスキャンできます。wash は検出したすべての WPS ネットワークと、それらに関する重要な情報を一覧表示します。

モニターインターフェイスでスキャンを開始するには、次のコマンドを実行します。

sudo wash -i wlan0mon

しばらくすると、wash はネットワークのリストを表示します。

Wash v1.6.5 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

BSSID               Ch  WPS Version  WPS Locked  ESSID
----------------------------------------------------------------
00:11:22:33:44:55   6   1.0          No          VulnerableAP
AA:BB:CC:DD:EE:FF   1   1.0          Yes         SecuredAP

この出力から、ターゲットを探します。Pixie-Dust 攻撃の理想的なターゲットは、WPS LockedNo になっているネットワークです。この場合、ESSID が VulnerableAP で BSSID が 00:11:22:33:44:55 のネットワークがターゲットとなります。次のステップで必要になるため、その BSSID をメモしておいてください。

-K または --pixie-dust パラメータを使用して Reaver を開始する

このステップでは、Reaver を使用して攻撃を開始する準備をします。Reaver は、WPS レジストラ PIN に対して総当たり攻撃を実行し、WPA/WPA2 パスフレーズを復旧するために特別に設計されたツールです。

しかし、Reaver には、はるかに高速な Pixie-Dust 攻撃のための特別なモードもあります。このモードを有効にするには、-K または --pixie-dust コマンドライン引数を使用する必要があります。この引数が使用されると、Reaver は最初に Pixie-Dust 攻撃を試みます。ターゲット AP が脆弱でない場合、Reaver は従来の、より遅い総当たり攻撃方法にフォールバックできます。

Pixie-Dust 攻撃のための Reaver コマンドの基本的な構造は次のようになります。

sudo reaver -i <monitor_interface> -b <target_bssid> -K

  • sudo reaver: root 権限で Reaver ツールを実行します。
  • -i <monitor_interface>: モニターモードになっているネットワークインターフェイスを指定します (例:wlan0mon)。
  • -b <target_bssid>: ターゲットアクセスポイントの BSSID (MAC アドレス) を指定します。
  • -K: Reaver に Pixie-Dust 攻撃を実行するように指示する重要なスイッチです。

このステップは、コマンドの構造を理解することです。次のステップでは、この知識を wash スキャンから収集した情報と組み合わせて、完全なコマンドを実行します。

ターゲット BSSID とモニターインターフェイスを指定する

いよいよ、これまでの情報をまとめて攻撃を開始します。ターゲットの BSSID を特定し、Reaver を使用した Pixie-Dust 攻撃のコマンド構造を把握しました。

ステップ 1 からの情報を思い出してください。

  • モニターインターフェイス: wlan0mon
  • ターゲット BSSID: 00:11:22:33:44:55

これで、完全な Reaver コマンドを構築します。また、-vv (非常に詳細な) オプションを追加します。これは、Pixie-Dust 攻撃の鍵となるノンス (nonces) やハッシュ (hashes) を含む、WPS 交換に関する詳細情報を表示するため、強く推奨されます。この出力は、攻撃がどのように機能するかを理解するために不可欠です。

攻撃を開始するには、ターミナルで次のコマンドを実行します。

sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -K -vv

Reaver はターゲットアクセスポイントとの通信を開始します。WPS ハンドシェイクの進行状況を示す一連のメッセージが表示されます。シミュレートされた環境ではターゲットが脆弱であるため、攻撃は非常に迅速に進みます。

Pixie-Dust が弱いノンス生成を悪用する方法を理解する

このステップでは、Reaver コマンドの出力を分析して、Pixie-Dust 攻撃の仕組みを理解します。これは概念的なステップであり、実行する新しいコマンドはありません。

前のステップで Reaver によって生成された詳細な出力を確認してください。[P] で始まる行が表示され、WPS 交換中にキャプチャされた値が表示されます。

...
[+] Sending M1 message
[+] Received M2 message
[P] E-S1: d3b25a26a713c1b2
[P] E-S2: 1a84a5e22236aebd
[P] PKE: c1...e2
[P] PKR: 3a...b1
[P] E-Hash1: 7d...c3
[P] E-Hash2: 9f...a5
[P] AuthKey: 8c...99
...

以下に何が起こっているかを説明します。

  1. WPS ハンドシェイク: クライアント (Reaver) と AP は、認証するために一連のメッセージ (M1、M2 など) を交換します。
  2. ノンス交換: このハンドシェイク中に、それらは「ノンス」(E-S1 および E-S2) を交換します。これらは、一度だけ使用される、大きくてランダムな数値であるはずです。
  3. 脆弱性: Pixie-Dust の脆弱性は、これらのノンスを弱いまたは予測可能なアルゴリズムを使用して生成する AP に存在します。真にランダムである代わりに、ノンスは PIN をクラックするために使用できる秘密から派生しているか、それに密接に関連しています。
  4. オフラインクラッキング: Reaver は、AP から 2 つのノンス (E-S1E-S2) と 2 つのハッシュ (E-Hash1E-Hash2) をキャプチャします。これらの 4 つの値があれば、オフラインで計算を実行するのに十分な情報があります。AP へのリクエストをこれ以上送信することなく、ローカルマシンで PIN を総当たりします。

クラッキングプロセスはオフラインで行われ、ノンス生成における数学的な弱点を悪用するため、AP のレート制限防御をバイパスし、ほぼ瞬時に正しい PIN を見つけます。

PIN とキーのほぼ瞬時の復旧を観察する

この最終ステップでは、攻撃の成功した結果を観察します。Reaver がオフライン計算を実行した後、復旧した認証情報が表示されます。

ステップ 3 からの Reaver 出力の最終部分は次のようになります。

...
[+] Pixie-Dust attack...
[+] 100.00% complete @ 2023-10-27 10:30:00 (0 seconds remaining)
[+] WPS PIN: '12345670'
[+] WPA PSK: 'SuperSecretPassword'
[+] AP SSID: 'VulnerableAP'

復旧した情報を分解してみましょう。

  • WPS PIN: '12345670': これはルーターの WPS 機能の 8 桁の PIN です。この PIN を使用して、他の WPS 対応デバイスをネットワークに接続できます。
  • WPA PSK: 'SuperSecretPassword': これは WPA/WPA2 事前共有キーであり、ネットワークの実際の Wi-Fi パスワードです。これが攻撃の最終目標です。
  • AP SSID: 'VulnerableAP': これは、正常に侵害したネットワークの名前を確認します。

最も注目すべき点は速度です。出力の「0 seconds remaining」に注意してください。ハンドシェイクの開始からキーの復旧まで、プロセス全体でわずか数秒しかかかりませんでした。これは、従来の WPS 総当たり攻撃とは対照的です。従来の WPS 総当たり攻撃は、数回の試行失敗後に AP が WPS をロックした場合、数時間かかるか、不可能になることさえあります。これで、WPS Pixie-Dust 攻撃の効果を正常に実証しました。

まとめ

この実験では、シミュレーション環境で WPS Pixie-Dust 攻撃を正常に実行しました。基本的な Wi-Fi セキュリティ評価ツールと概念について実践的な経験を積みました。

以下のことを学びました。

  • airmon-ng を使用して、ワイヤレスインターフェイスでモニターモードを有効にする方法。
  • wash を使用して、WPS 対応アクセスポイントをスキャンして特定する方法。
  • Reaver で -K (--pixie-dust) フラグの目的を理解する。
  • ターゲットの BSSID を指定して、reaver を使用してターゲットの Pixie-Dust 攻撃を実行する。
  • 出力を解釈して、攻撃が弱いノンス生成をどのように悪用するかを理解する。
  • WPS PIN と WPA PSK の両方のほぼ瞬時の復旧を観察する。

この実験は、現実世界における重大な脆弱性を浮き彫りにしています。この攻撃やその他の WPS 関連の攻撃に対する最も効果的な防御策は、ルーターの管理設定で WPS 機能を完全に無効にすることです。