mcpField
O
offensive-krack-fragattacks

offensive-krack-fragattacks

github.com/snailsploitセキュリティ9.7k174 回インストール2 週間前に更新
リポジトリ

offensive-krack-fragattacks について

無線セキュリティテスト担当者向けに、WPA2クライアントのKRACKとFragAttacksを評価するスキルガイドです。テスト手順、実際の影響、報告方法を扱い、脆弱性が残る可能性のある組み込み機器やIoT機器にも焦点を当てています。

主な機能

  1. 01KRACKとFragAttacksの対象特定
  2. 02クライアント脆弱性テストの実行
  3. 03復号とフレーム注入の影響評価
  4. 04CVEごとの結果整理

活用シーン

  1. 01組み込みWi-Fi機器のパッチ状況確認
  2. 02許可されたテストでのクライアント脆弱性検証
  3. 03無線セキュリティ報告への影響と対策の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/snailsploit/claude-red --skill offensive-krack-fragattacks

インストール後、Claude Code で/offensive-krack-fragattacksを入力して読み込まれたか確認します。

詳細

KRACK と FragAttacks

WPA2 クライアント実装を標的とする 2 つの攻撃ファミリーです。どちらも広く公表されており(KRACK は 2017 年、FragAttacks は 2021 年)、最新の OS ではおおむねパッチが適用されていますが、組み込み機器や IoT の未対応機器が残っているため、多くのエンゲージメントで依然として対象となります。

適用されるケース

ファミリー標的パッチの状況
KRACK4 ウェイハンドシェイク/GTK/FT/TDLS における WPA2 サプリカント主要な OS には 2017~2018 年にパッチ適用済み
FragAttacksWPA2/3 全体のフレームのフラグメンテーション/アグリゲーションほとんどのスタックに 2021~2022 年にパッチ適用済み

現在、成功の可能性が高いのは次の対象に限られます。

  • 組み込み OEM 機器(カメラ、センサー、POS 端末)
  • 古い Android スマートフォン(8 未満で未パッチ)
  • 産業用/SCADA の Wi-Fi クライアント
  • Wi-Fi 対応のおもちゃ、スマート電球、無名メーカーの IoT 機器

最新の Win11/iOS 16 以降/Android 13 以降/hostapd-2.10 では対策済みです。

KRACK — 鍵の再インストール

4 ウェイハンドシェイクの M3 再送により、サプリカントがリセットされたノンス/リプレイカウンターとともに同じ PTK を再インストールします。再利用されたキーストリームで暗号化されたフレームは復号可能になります。

# Vanhoef's official test scripts
git clone https://github.com/vanhoefm/krackattacks-scripts
cd krackattacks-scripts/krackattack
sudo ./krack-test-client.py --interface wlan0
# Tests the supplicant on a connected client

出力から、クライアントがどの CVE の亜種に対して脆弱かを特定できます。

実際の影響

成功した場合:

  • クライアントと AP 間の WPA2 暗号化フレームを復号できます
  • TKIP へのダウングレードにより、パケットを注入できます
  • 影響を受ける鍵サイクルの期間中、セッション鍵を復元できます

PSK の復元ではありません。KRACK から Wi-Fi のパスワードを取得することはできません。

FragAttacks — フレームのスプライシング

FragAttacks は、802.11 のフラグメンテーションとアグリゲーションを悪用し、暗号化フラグメントと平文フラグメントを混在させたフレームを注入したり、攻撃者が制御するフラグメントを正規のフレームに組み込んだりします。

git clone https://github.com/vanhoefm/fragattacks
cd fragattacks
sudo ./test-fragattacks.py wlan0 --interface wlan0
# Suite of ~12 tests covering each variant
CVE仕組み
CVE-2020-24588A-MSDU のなりすまし — 細工した A-MSDU サブフレームを注入
CVE-2020-24587異なる鍵のフラグメントキャッシュポイズニング
CVE-2020-24586分離されたフラグメントキャッシュ → 再利用
CVE-2020-26139認証前に平文フレームを転送
CVE-2020-26140保護されたネットワークで平文フレームを受け入れる
実際の影響
  • クライアントが正規のものとして扱う悪意のあるフレームを注入できます(HTTP リダイレクト、DNS ポイズニング)
  • キャッシュされた状態から復号済みフラグメントを読み取れます
  • 細工した A-MSDU により、保護を回避してデータを持ち出せます

標的選定のワークフロー

  1. 対象範囲内のクライアントを特定します(MAC、OS、ベンダー)
  2. パッチ適用の可能性を見積もります。最新の OS ならパッチ適用済みの可能性が高く、組み込み機器なら脆弱な可能性が高いです
  3. 管理下の AP 環境からテストスイートを実行します
  4. 脆弱な亜種をそれぞれ、該当する CVE とともに報告します
# Rogue AP that drives the test
sudo hostapd-mana /tmp/krack_test_ap.conf

# Force client to associate (deauth from real AP, or social-engineer)
sudo aireplay-ng --deauth 5 -a <real-BSSID> -c <client-MAC> wlan0mon

# Run test once associated
sudo ./krack-test-client.py --interface wlan0

検知

  • WIPS は、攻撃者の AP へのデオーセンティケーション起因のローミングを検知する場合があります
  • テストスクリプトは特徴的なフレームパターンを生成します。最新の WIPS は Vanhoef のツールを認識します
  • プロトコルレベルでは、攻撃の成功は実質的に検知できません

報告

脆弱な CVE ごとに、次の内容を記載します。

  • クライアントのモデルとファームウェアのバージョン(具体的に記載)
  • テストした亜種と結果(脆弱/パッチ適用済み/一部対策済み)
  • エンゲージメントの状況における実際の影響(復号のみか、注入も可能か)
  • 修正方法:ベンダーのパッチ URL、緩和策(WPA3 と PMF により大部分を防止できます)

主な参考資料

コメント