はじめに
ワイヤレスネットワークセキュリティにおいて、ネットワークのパスワードを解読するためには、WPA/WPA2 の 4-way ハンドシェイクをキャプチャすることが不可欠です。しかし、解読を試みる前に多くの計算リソースを費やす前に、キャプチャファイルに完全で有効なハンドシェイクが含まれていることをまず確認することが重要です。不完全または欠落したハンドシェイクでは、どのような解読の試みも無駄になります。
この実験では、Aircrack-ng スイートの強力なツールである aircrack-ng を使用して、キャプチャファイル (.cap) を検査し、有効なハンドシェイクの存在を確認するプロセスを説明します。
キャプチャされた .cap ファイルを Fluxion ディレクトリ内で特定する
このステップでは、キャプチャされたハンドシェイクファイルが通常保存されるディレクトリに移動し、その内容を一覧表示します。この実験のために、fluxion ツールの出力に似せたサンプルディレクトリ構造を用意しました。
まず、現在のディレクトリを ~/project/fluxion/attacks/handshakes にある handshakes フォルダに変更します。cd (change directory) コマンドを使用します。
cd ~/project/fluxion/attacks/handshakes
これで正しいディレクトリにいるので、ls -l コマンドを使用してファイルとその詳細を一覧表示します。これにより、これから作業するキャプチャファイルの存在を確認できます。
ls -l
以下の出力が表示されるはずです。これには、wpa.cap(有効なハンドシェイクファイル)と invalid_handshake.cap(比較用の空のファイル)が含まれています。
total 4
-rw-r--r-- 1 labex labex 0 Jan 01 12:00 invalid_handshake.cap
-rw-r--r-- 1 labex labex 3385 Jan 01 12:00 wpa.cap
新しいターミナルウィンドウを開く
実際のシナリオでは、トラフィックをキャプチャするために airodump-ng を実行しているターミナルウィンドウと、他のタスクを実行するための別のターミナルウィンドウを持つ場合があります。この実験では、物事をシンプルにするために、同じターミナルを使用し続けます。このステップの目的は、続く検証コマンドの準備ができていることを確認することです。
このステップではコマンドは必要ありません。ターミナルプロンプトが ~/project/fluxion/attacks/handshakes ディレクトリで準備ができていることを確認してください。これで aircrack-ng を使用する準備が整いました。
.cap ファイルに対して 'aircrack-ng' コマンドを実行する
このステップでは、wpa.cap ファイルに対して aircrack-ng コマンドを実行します。このコマンドはファイルを分析し、有効なハンドシェイクが存在するかどうかを含む内容を報告します。
ターミナルで以下のコマンドを実行します。これにより、aircrack-ng に wpa.cap ファイルを処理するように指示します。
aircrack-ng wpa.cap
コマンドを実行すると、aircrack-ng はキャプチャファイルに関する情報を表示します。出力は以下のようになります。
Opening wpa.cap
Read 43 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa.cap
Reading packets, please wait...
ここで重要な情報は WPA (1 handshake) です。これは次のステップで分析します。コマンドは「Reading packets」の後で停止したように見えますが、これはクラッキング用の単語リストの入力を待っているためであり、正常な動作です。安全に Ctrl+C を押してコマンドを終了し、ターミナルプロンプトに戻ることができます。
「1 handshake」の確認のための出力を分析する
このステップでは、前のコマンドからの出力を解釈することに焦点を当てます。ご覧のとおり、aircrack-ng はキャプチャファイルで見つかったアクセスポイントの概要を提供しました。
重要な行をもう一度見てみましょう。
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
(1 handshake) というテキストが、探している確認情報です。これは、aircrack-ng が BSSID 00:14:6C:7E:40:80 および ESSID teddy に関連付けられた 1 つの完全な WPA 4-way ハンドシェイクを正常に識別したことを明確に示しています。
この確認は、wpa.cap ファイルが有効であり、パスワードクラッキングの試みに使用できることを意味します。このメッセージが存在しない場合、または (0 handshake) と表示された場合、クラッキングの試みは失敗します。
有効なハンドシェイクと無効なハンドシェイクの違いを理解する
検証の重要性を完全に理解するために、ハンドシェイクが含まれていないファイルに対して aircrack-ng を実行した場合に何が起こるかを見てみましょう。この目的のために、invalid_handshake.cap という名前の空のファイルを用意しました。
このファイルに対して aircrack-ng を実行します。
aircrack-ng invalid_handshake.cap
出力は大きく異なります。ファイルは空でネットワークトラフィックが含まれていないため、aircrack-ng はデータが見つからなかったと報告します。
Opening invalid_handshake.cap
Read 0 packets.
No networks found, exiting.
ファイルにパケットが含まれていても、特定のネットワークに対する完全なハンドシェイクが含まれていない場合、出力には (0 handshake) と表示されたネットワークがリストされます。重要な点は、(1 handshake) という確認なしでは、キャプチャはクラッキングに使用できないということです。この簡単なチェックにより、使用できないファイルに時間とリソースを無駄にすることを避けることができます。
まとめ
この実験では、キャプチャファイル内の WPA/WPA2 ハンドシェイクを検証するという重要なプロセスを学びました。aircrack-ng コマンドを使用して .cap ファイルを検査し、有効なキャプチャを確認する (1 handshake) メッセージを特定し、無効なファイルを分析した場合の出力の違いを観察しました。この基本的なスキルは、無線ネットワークセキュリティにおけるあらゆる作業に不可欠であり、クラッキングの取り組みが実行可能なデータに基づいていることを保証します。
