aircrack-ng で WiFi ハンドシェイクパケットを取得する完全ガイド
元出典:ブログ園 thammer ・ 編集・推敲:Hermes
1. 干渉プロセスの終了
airmon-ng check kill無線ネットワークカードが現在接続している AP から切断し、待機モードに入ります。
2. 無線ネットワークカードの名前確認
ifconfig通常は wlan0 や wlp2s0 という名前です。メモして次に備えてください。
3. モニターモードの有効化
airmon-ng start wlan0起動後、ifconfig を実行すると、mon0 というインターフェースが追加されているのがわかります。これがモニターモードでの仮想ネットワークカードです。
4. 周辺の WiFi スキャン
airodump-ng mon0端末には近くのすべての WiFi ホットスポットが一覧表示されます。以下の情報に注目してください:
- BSSID —— AP の MAC アドレス
- CH —— チャンネル番号
- PWR —— 信号強度(負値で、0 に近いほど強い)
- ESSID —— WiFi 名
対象が見つかったら、Ctrl+C でスキャンを停止します。
5. 対象を絞り込み、パケットキャプチャ開始
CodeBlock Loading...
パラメータ説明:
| パラメータ | 意味 |
|---|---|
| -c | チャンネルを指定 |
| --bssid | 対象 AP の MAC アドレス |
| -w | キャプチャファイル名のプレフィックス |
この端末ウィンドウを開いたままにして、そのチャンネル上の AP からのすべてのデータパケットを監視します。
6. 接続中のデバイスを再接続させる
新しい端末を開きます:
CodeBlock Loading...
これにより AP に対して 2 つの Deauth(認証解除)パケットを送信し、接続中のクライアントを強制的に切断します。クライアントは自動的に再接続を試み、その際の 4 ウェイハンドシェイクのプロセスがキャプチャされます。
なぜデバイスが WiFi に接続している状態でないとハンドシェイクパケットが取得できないのでしょうか? ハンドシェイクはデバイスが AP に接続した瞬間に行われるからです。誰も接続していなければ、ハンドシェイクは起こりません。
最初の端末で "WPA handshake" というメッセージが表示されれば、ハンドシェイクパケットの取得成功です。
7. ディクショナリ攻撃による解読
CodeBlock Loading...
- capfile-01.cap —— 直前に生成されたキャプチャファイル
- passwd.lst —— ディクショナリファイルのパス
解読に成功すると、KEY FOUND! およびパスワードの平文が表示されます。
ヒント
- 信号が強いほど、パケットキャプチャの成功率が高まります。できるだけ目標に近づいてください
- 高品質なディクショナリ(例:rockyou.txt)を使用すると効率が向上します
- GPU 加速ツール(例:hashcat)も使用可能で、速度が大幅に向上します
- 本記事の知識は法律の許す範囲内で使用してください