はじめに
Wi-Fi セキュリティ評価を行う際、ネットワークトラフィックをファイルにキャプチャすることがよくあります。通常、拡張子は .cap または .pcap です。これらの生のキャプチャファイルには、ビーコンフレーム、プローブ要求、データパケットなど、ネットワークカードが見たすべてのワイヤレスパケットが含まれています。しかし、パスワードクラッキングのためには、WPA/WPA2 4 ウェイハンドシェイクを構成する特定のパケットのみが必要です。
不要なパケットをすべて保持しておくと、キャプチャファイルが大きくなり、Hashcat のようなツールによる処理が遅くなる可能性があります。wpaclean は、この問題を解決するために設計された aircrack-ng スイートのユーティリティです。ハンドシェイクの一部ではないすべてのパケットを削除することでキャプチャファイルを「クリーン」にし、より小さく効率的なファイルを作成します。
この実験では、wpaclean を使用してサンプルキャプチャファイルをクリーンにし、その後、クリーンなファイルを Hashcat 用の正しい形式に変換する方法を学びます。
キャプチャファイルのクリーニングの目的を理解する
このステップでは、キャプチャファイルを処理する前にクリーニングすることがなぜ重要なのかを学びます。
はじめに述べたように、生のキャプチャファイルには、WPA/WPA2 パスワードのクラッキングには無関係な多くのネットワークトラフィックが含まれています。必要な情報は、クライアントとアクセスポイントの間で交換される 4 ウェイハンドシェイクのみです。
キャプチャファイルをクリーニングする利点は以下の通りです。
- ファイルサイズの削減: 何千もの不要なパケットを削除することで、特に長時間のキャプチャの場合、ファイルサイズを劇的に削減できます。これにより、ディスク容量が節約され、ファイルの管理や転送が容易になります。
- 処理速度の向上: Hashcat のようなパスワードクラッキングツールは、ハンドシェイクを見つけるためにキャプチャファイルを解析する必要があります。クリーニングされたファイルを提供することで、無関係なデータの解析にかかるオーバーヘッドを排除し、起動時間の短縮につながります。
- 信頼性の向上: クリーニングされたファイルは、不可欠なハンドシェイクデータを分離し、解析エラーや、ハンドシェイクの一部ではない不正なパケットによる問題の可能性を減らします。
wpaclean ツールは、キャプチャファイルをインテリジェントにフィルタリングし、ハンドシェイク関連のパケットのみを新しいファイルに書き出すことで、このプロセスを自動化します。この実験環境には、wpaclean を含む aircrack-ng スイートが既にインストールされています。
生のハンドシェイク .cap ファイルを見つける
このステップでは、この実験全体で作業するサンプルキャプチャファイルを見つけます。
この実験のために、wpa.cap という名前のサンプルキャプチャファイルが、セットアッププロセス中に ~/project ディレクトリに自動的にダウンロードされています。実際のシナリオでは、airodump-ng のようなツールを使用して自分でこのファイルを生成します。
ファイルが存在することを確認しましょう。ls -l コマンドを使用して、現在のディレクトリの内容を一覧表示します。
ls -l
出力には、wpa.cap ファイルと、そのパーミッション、所有者、サイズ、および変更日時が表示されるはずです。
total 4
-rw-r--r-- 1 labex labex 634 Mar 20 10:30 wpa.cap
この小さなファイルにはサンプル WPA ハンドシェイクが含まれており、デモンストレーションに最適です。
出力ファイルと入力ファイルを指定して wpaclean を実行する
このステップでは、wpaclean コマンドを使用して生のキャプチャファイルをクリーニングします。
wpaclean の構文は簡単です。新しくクリーニングされた出力ファイルの名前を指定し、その後に元の入力ファイルの名前を指定します。
基本的な構文は次のとおりです。
wpaclean <出力ファイル.cap> <入力ファイル.cap>
それでは、このコマンドを wpa.cap ファイルで実行しましょう。クリーニングされた出力ファイルの名前を wpa_cleaned.cap とします。
ターミナルで次のコマンドを実行してください。
wpaclean wpa_cleaned.cap wpa.cap
ツールは入力ファイルを処理し、その作業の概要を表示します。
Reading wpa.cap ...
Writing wpa_cleaned.cap ...
Done.
Total packets read: 6
Total packets written: 4 (handshake)
出力からわかるように、wpaclean は元の wpa.cap ファイルから 6 パケットを読み込みましたが、新しい wpa_cleaned.cap ファイルには不可欠な 4 パケットのハンドシェイクのみを書き込みました。
元のファイルとクリーニングされたファイルのサイズを比較する
このステップでは、wpaclean の効果を確認するために、元のキャプチャファイルとクリーニングされたキャプチャファイルのファイルサイズを比較します。これにより、ファイルをクリーニングする主な利点が実証されます。
ls コマンドに -lh フラグを付けて使用すると、「長い」リストを「人間が読める」形式で取得でき、ファイルサイズを簡単に解釈できます。
wpa.cap と wpa_cleaned.cap の両方のサイズを表示するには、次のコマンドを実行します。
ls -lh wpa.cap wpa_cleaned.cap
以下のような出力が表示されます。
-rw-r--r-- 1 labex labex 424 Mar 20 10:35 wpa_cleaned.cap
-rw-r--r-- 1 labex labex 634 Mar 20 10:30 wpa.cap
サイズの違いに注目してください。元のファイルは 634 バイトでしたが、クリーニングされたファイルはわずか 424 バイトです。この小さなサンプルファイルでは削減量は少なく見えますが、削減率は大幅です。実際のキャプチャでは、数メガバイト、あるいはギガバイトになることもありますが、このクリーニングプロセスにより、大幅なスペースの節約とパフォーマンスの向上が実現されます。
クリーニングされた .cap ファイルを Hashcat 22000 フォーマットに変換する
このステップでは、クリーニングされた .cap ファイルを Hashcat でクラッキングに使用できる形式に変換します。
Hashcat は .cap ファイルを直接使用できません。ハンドシェイクデータを抽出して特定の形式にフォーマットする必要があります。WPA/WPA2 の場合、これは Hashcat モード 22000 です。この変換を実行するために、hcxtools スイートのツールである hcxpcapngtool を使用します。
コマンドの構文は次のとおりです。
hcxpcapngtool -o <出力ハッシュファイル> <入力クリーニング済み.cap>
wpa_cleaned.cap ファイルを Hashcat 互換ファイル wpa.hc22000 に変換しましょう。
hcxpcapngtool -o wpa.hc22000 wpa_cleaned.cap
ツールは変換の概要を出力します。
reading from wpa_cleaned.cap
summary:
file name....................: wpa_cleaned.cap
file type....................: pcap
file hardware information....: 802.11
file network type............: DLT_IEEE802_11 (105)
packets inside...............: 4
skipped packets..............: 0
packets with FCS.............: 0
beacons (with ESSID inside)..: 0
probe requests...............: 0
probe responses..............: 0
association requests.........: 0
association responses........: 0
reassociation requests.......: 0
reassociation responses......: 0
authentications (OPEN SYSTEM): 2
authentications (BROADCOM)...: 0
EAPOL packets................: 2
EAPOL PMKIDs.................: 0
EAPOL M1s....................: 1
EAPOL M2s....................: 1
EAPOL M3s....................: 0
EAPOL M4s....................: 0
best handshakes..............: 1 (ap-less: 0)
1 handshake(s) written to wpa.hc22000
新しいファイル wpa.hc22000 が作成されました。cat コマンドでその内容を表示してみましょう。
cat wpa.hc22000
出力は単一の長いテキスト行になります。これが Hashcat が理解できるハッシュです。
WPA*02*...long string of characters...
このファイルは、パスワードクラッキングの試みに Hashcat と共に使用する準備ができました。
まとめ
実験完了おめでとうございます!Hashcat で使用するために、生の Wi-Fi キャプチャファイルを正常に準備できました。
この実験では、以下の方法を学びました。
- キャプチャファイルをクリーニングすることの重要性を理解し、効率を向上させ、ファイルサイズを削減する。
wpacleanツールを使用して、生の.capファイルから不要なパケットを削除する。- 元のファイルとクリーニングされたファイルのサイズを比較して、クリーニングプロセスの有効性を確認する。
hcxpcapngtoolを使用して、クリーニングされたキャプチャファイルを Hashcat が必要とするhc22000フォーマットに変換する。
これで、Wi-Fi セキュリティ評価ワークフローの基本的なスキルが身につきました。次に取るべき論理的なステップは、生成された .hc22000 ファイルを使用して、Hashcat と単語リストで元のパスワードを回復しようとすることです。
