はじめに
WPA キャプチャファイルの復号化に関するこの実験へようこそ。airdecap-ng は、ワイヤレス通信を復号化するために設計された Aircrack-ng スイート内の強力なツールです。ワイヤレスパケットをキャプチャし、WPA/WPA2 パスフレーズを正常にクラックした後、次に論理的なステップは、キャプチャされたデータを復号化してその内容を分析することです。ここで airdecap-ng が役立ちます。
この実験では、既知のネットワーク SSID とパスフレーズを使用して、既存のキャプチャファイル (.cap) を復号化するために airdecap-ng を使用するプロセスを順を追って説明します。これにより、暗号化された読み取り不可能なネットワークデータを、明確で分析可能な形式に変換するワークフローを理解できるようになります。
クラックされた WPA パスフレーズの取得
このステップでは、復号化に必要な最も重要な情報である WPA パスフレーズから始めます。実際のシナリオでは、aircrack-ngのようなツールを使用して、キャプチャされた WPA 4 ウェイハンドシェイクに対して辞書攻撃またはブルートフォース攻撃を実行することで、これを取得します。
この実験の目的のために、このプロセスはすでに正常に完了したと仮定します。クラックされたパスワードは、現在のディレクトリ ~/project に cracked_password.txt という名前のファイルに保存されています。
このファイルの内容を表示して、パスフレーズを取得しましょう。cat コマンドを使用して、ターミナルにファイルの内容を表示します。
cat cracked_password.txt
復号化に使用するパスフレーズである以下の出力が表示されるはずです。
password123
このパスフレーズは、後のステップで airdecap-ng コマンドを実行する際に必要となるため、覚えておいてください。
WPA ハンドシェイクを含む.cap ファイルの特定
このステップでは、暗号化されたワイヤレス通信を含むキャプチャファイルを特定する必要があります。これらのファイルは通常 .cap または .pcap の拡張子を持ち、airodump-ng や Wireshark のようなパケットスニッフィングツールによって生成されます。
この実験のために、wpa_handshake.cap という名前のサンプルキャプチャファイルが ~/project ディレクトリに配置されています。ファイルが存在することを確認するには、ls -l コマンドを使用して現在のディレクトリの内容を一覧表示できます。このコマンドは、ファイルとディレクトリの詳細なリストを提供します。
ターミナルで次のコマンドを実行してください。
ls -l
出力は以下のようになり、wpa_handshake.cap の存在が確認できるはずです。
total 12
-rw-r--r-- 1 labex labex 12 Mar 18 10:00 cracked_password.txt
-rw-r--r-- 1 labex labex 9 Mar 18 10:00 ssid.txt
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake.cap
これで、パスフレーズとキャプチャファイルの場所を確認できたので、復号化コマンドの準備が整いました。
airdecap-ng を -e SSID および -p Passphrase と共に使用する
このステップでは、airdecap-ng コマンドを構築します。WPA/WPA2 キャプチャを復号化するために、airdecap-ng は 2 つの必須情報、つまりネットワーク名(SSID)とそのパスフレーズを必要とします。
コマンドは、この情報を受け入れるために特定のフラグ(オプション)を使用します。
-e <essid>: このフラグは、ターゲットネットワークの ESSID(Extended Service Set Identifier)を指定するために使用されます。-p <passphrase>: このフラグは、WPA/WPA2 パスフレーズを提供するために使用されます。
この実験では、SSID は ssid.txt ファイルに保存されています。まず、それを見てみましょう。
cat ssid.txt
出力は次のようになります。
MyTestAP
これをステップ 1 のパスフレーズ "password123" と組み合わせると、コマンドの最初の部分は次のようになります:airdecap-ng -e MyTestAP -p password123。
このコマンド構造は、airdecap-ng にどのネットワークのトラフィックを探し、復号化にどのキーを使用するかを指示します。次のステップで、入力キャプチャファイルを追加してコマンドを完成させます。
復号化する入力キャプチャファイルの指定
このステップでは、airdecap-ng コマンドを最終化して実行します。SSID(MyTestAP)、パスフレーズ(password123)、および入力ファイル(wpa_handshake.cap)が揃いました。あとは、これらすべてを単一のコマンドにまとめます。
airdecap-ng コマンドの最後の引数は、復号化したいキャプチャファイルへのパスです。
以下の完全なコマンドをターミナルで実行してください。これにより、airdecap-ng は wpa_handshake.cap を読み込み、「MyTestAP」SSID に一致するパケットを見つけ、「password123」を使用してそれらを復号化しようとします。
airdecap-ng -e MyTestAP -p password123 wpa_handshake.cap
コマンドを実行すると、以下のような出力が表示されます。サンプル .cap ファイルは空であるため、パケット数はゼロになります。最も重要な行は最後の行で、新しい復号化されたファイルの作成が確認されます。
Total number of packets read 1
Total number of WPA packets 0
Total number of WPA handshakes 0
Number of plaintext data packets 0
Number of decrypted WPA packets 0
Number of decrypted WEP packets 0
File wpa_handshake-dec.cap created.
「File wpa_handshake-dec.cap created.」というメッセージは、操作が成功したことを示しています。airdecap-ng は、トラフィックの復号化されたバージョンを含む新しいファイルを生成しました。
新しく作成された復号化済みキャプチャファイルの確認
この最終ステップでは、復号化されたファイルが作成されたことを確認し、それを検査する方法を学びます。airdecap-ng は元のキャプチャファイルを変更しません。代わりに、復号化されたパケットを含む新しいファイルを作成します。通常、元のファイル名に -dec.cap が追加されます。
まず、ls -l コマンドを再度使用して、ディレクトリ内の新しいファイルを確認します。
ls -l
これで、元のファイルと共に、復号化されたファイル wpa_handshake-dec.cap がリストされているのがわかります。
total 16
-rw-r--r-- 1 labex labex 12 Mar 18 10:00 cracked_password.txt
-rw-r--r-- 1 labex labex 9 Mar 18 10:00 ssid.txt
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake-dec.cap
-rw-r--r-- 1 labex labex 0 Mar 18 10:00 wpa_handshake.cap
この新しいファイル wpa_handshake-dec.cap には、キャプチャされたデータのプレーンテキストバージョンが含まれています。これで、Wireshark や tcpdump のようなネットワーク解析ツールで分析できます。例として、-r フラグを使用して新しいファイルから読み込むために tcpdump を使用してみましょう。
tcpdump -r wpa_handshake-dec.cap
ソースファイルが空だったため、tcpdump はパケットを表示しません。しかし、ファイルを読み込めることを確認します。これがこのステップの目標です。
reading from file wpa_handshake-dec.cap, link-type EN10MB (Ethernet)
実際の状況でデータが格納されたキャプチャファイルを使用する場合、このコマンドは HTTP リクエスト、DNS クエリ、その他のプレーンテキストトラフィックなどの復号化されたパケットの内容を表示します。
まとめ
この実験では、airdecap-ng を使用して WPA で暗号化されたキャプチャファイルを復号化する方法を習得しました。
以下の完全なワークフローを実践しました。
- 必要なパスフレーズと SSID の特定。
- 対象の
.capファイルの特定。 -e(SSID) および-p(パスフレーズ) フラグを使用したairdecap-ngコマンドの構築。- 新しい復号化されたキャプチャファイル (
-dec.cap) を生成するためのコマンドの実行。 - 復号化されたファイルの作成を確認し、
tcpdumpのようなツールでどのように分析できるかを学習しました。
このスキルは、ネットワークセキュリティ分析において基本的です。ネットワークのパスワードをクラックすることと、その中で流れるトラフィックを実際に理解することとの間のギャップを埋めるからです。
