aircrack-ngでWiFiのハンドシェイクパケットをキャプチャ(原文)
1. 影響のあるプロセスを停止する
airmon-ng check killリスニングモードに入る前に、無線カードが接続しているAPから切断します。
2. 無線カードの名前を確認する
ifconfig例: wlan0
3. リスニングモードに入る
起動に成功すると、ifconfig で mon0 が追加されていることが確認できます。
4. 近くのWiFiをスキャンする
スキャン後、ターミナルは上下2つのセクションに分かれます。スペースキーで動的な更新の開始/停止、'a' キーで表示ビューの調整、上下方向キーで1行を選択して確認することができます。
デフォルトビューでは:
- 上半分:検出されたAPとその属性(信号強度、チャンネル、BSSID、ESSIDなど)
- 下半分:どのデバイス(STATE欄のMACアドレス)がそのAP(ESSID)に接続しているかを表示
5. 特定のAPを監視する
次のコマンドを実行する前に、スキャンを停止する必要があります(ステップ4のコマンドを停止)。スキャンはチャンネルを絶えず切り替えますが、特定のAPを監視する際、そのAPのチャンネルは固定されています。
パラメータの説明:
--bssid:監視対象のAPを指定(AP's macで指定)-c:APのチャンネルを指定-w:キャプチャしたパケットをファイル capfile に保存
APの選択に注意:
ステップ4の下半分で、BSSIDとSTATEの両方に同じMACアドレスが存在している必要があります。これは、あるWiFiのBSSIDが検出され、かつそのWiFiに1つ以上のデバイスが接続されていることを意味します(STATE欄でそのMACが示されています)。
6. 再接続を強制してハンドシェイクパケットを取得する
| パラメータ | 説明 |
|---|---|
-0 | 攻撃回数 |
-a | WiFiのBSSID |
-c | WiFiに接続しているスマートフォンのMAC |
mon0 | リスニングインターフェース |
攻撃により、スマートフォンとWiFiの接続が切断されます。
なぜハンドシェイクパケットをキャプチャするのか?
ハンドシェイクパケットにはパスワード情報が含まれています。
ハンドシェイクのプロセス
スマートフォンがWiFiに接続する場合、初回は必ずパスワードの入力を求められます:
- スマートフォン:WiFiに接続したい
- WiFi:パスワードを教えて
- スマートフォン:これが私のパスワードです
- WiFi:パスワードを確認、正しければ接続確立;間違いなら拒否
パスワード認証済みのスマートフォンとWiFiが接続を確立した後、交換されるデータは単なるインターネット通信データであり、それをキャプチャしても意味がありません。パスワードを含むハンドシェイクパケットをキャプチャする必要があります。認証済みの接続で再度ハンドシェイクパケットを取得するには?最も速い方法は、スマートフォンを接続解除してから、スマートフォンが自動的に再接続するか、ユーザーが接続切断に気づいて手動で再接続するのを待つことです。その際にハンドシェイクパケットが取得できます。これが、接続中のデバイスがあるWiFiを監視する必要がある理由です。
ほどなくして、ステップ5のターミナルの1行目の末尾に「ハンドシェイクパケットをキャプチャしました」と表示されます。表示されない場合は、数分後に攻撃を繰り返してください。