はじめに
「偽サイトじゃもう騙せない」
そんな時代に現れたのが evilginx2。
ユーザーは本物サイトでログインしたつもり。でも裏ではセッションが盗まれている……。
この“逆プロキシ型フィッシング”の仕組みを理解していないと、防御側はかなり危険。
本記事では evilginx2 の正体、攻撃メカニズム、なぜ MFA を突破できるのか、どう防げるか を総まとめする。
1. evilginx2 とは何か?
evilginx2 は リバースプロキシ型のフィッシングフレームワーク。
従来の「偽ログインフォームを作る」タイプではなく、
本物のログイン画面を まるごと中継 する
というのが最大の特徴。
よくある誤解:
「偽サイト作るツールでしょ?」 → それは違う。
偽フォームではない
本物の JS / CSS / HTML / API を通す “透明な中継点”
だから見た目も動作も 100% 本物。
2. どうやって攻撃が成立する?(仕組み図つき)
攻撃フロー
┌──────────────┐
│ ユーザー │
└───────┬────────┘
↓(HTTPS)
┌──────────────┐
│ evilginx2 (Reverse Proxy) │
│ ・ログイン画面を中継 │
│ ・Cookie を盗む │
└───────┬────────┘
↓
┌──────────────┐
│ 本物のログインサービス │
└────────────────┘
ユーザーは本物サイトでログインしている気分。
実際ログインも成功する。
でも裏では…
- リクエスト
- レスポンス
- Set-Cookie
すべて evilginx2 を経由するため、
セッション Cookie がそのまま抜かれる。
3. なぜ MFA(TOTP/SMS)を突破できるのか?
ポイントは1つだけ。
攻撃者が盗むのはパスワードではなく、
ログイン後の “セッションクッキー”
だから MFA を突破する必要すらない。
MFA があっても攻撃が成功する理由:
- 被害者が MFA コードを入力
- 本物サイトがログインを許可
- Set-Cookie が evilginx2 を経由
- 攻撃者がその Cookie を取得
- 攻撃者は Cookie をそのまま使ってログイン成功
めちゃくちゃシンプル。
強度の高いパスワードでも MFA でも止められない。
4. evilginx2 は何を盗むのか?
代表的なクッキー
sessionidauth_token__Secure-xxxid_token-
refresh_token(サイトによる) -
XSRF-TOKEN(攻撃によっては CSRF に利用)
盗んだクッキーをどう使う?
ブラウザの DevTools → cookie を手動で書き換え
or
curl -H "Cookie: ..."
or
攻撃用クライアントで再利用
これで本人になりすませる。
MFA の出番なし。
5. 防御側が知るべき重要ポイント
evilginx2 を本気で止めるには
“パスワード” や “MFA” の強化だけでは足りない。
以下が現実的に効く対策。
FIDO2 / Passkey の導入(最強の対策)
Passkey の秘密鍵は
ドメインにバインドされている。
つまり:
- real-login.com → OK
- fake-login.com → NG
- evilginx2 の中継ドメイン → 絶対 NG
攻撃者はどう足掻いても Passkey を中継できない。
Passkey を導入した瞬間に evilginx2 は敗北する。
Cookie を “再利用できない” 仕組みにする
推奨:
SameSite=StrictSecure + HttpOnly-
__Host-prefix - TLS Token Binding(→ DPoP / MTLS に発展)
要は:
Cookie を盗まれても使えないようにする
デバイス指紋 × リスクベース認証
- IP
- User-Agent
- TLS フィンガープリント
- デバイスID
これらを使って
前回ログインと違う → セッション拒否
という仕組みを作る。
evilginx2 で盗んだ Cookie は 100% 異常値 になる。
フィッシングドメイン監視
- crt.sh
- DNSTwist
- 新規証明書監視
- Cloudflare brand protection
攻撃者は似たドメインで攻めてくるので
早期発見が命。
HTML/JS に Anti-proxy チェックを組み込む
- TLS フィンガープリント検出
- CSP の細かい制御
- iframe/embed の拒否
- 謎の参照元を遮断
企業でよく使われるワザ。
まとめ
evilginx2 が怖いのは:
-
偽サイトではなく本物を中継する
-
ユーザーがログインした後の Cookie を奪う
-
MFA さえ無力化する
という “次世代型フィッシング” だから。
でも知っていれば対策はできる。
セキュリティの世界って、
「知らない人だけが負けるゲーム」なんだよね。
でも逆にいうと、
evilginx2 のような攻撃を 理解しさえすれば、
- 認証設計のレベルは一気に上がるし
- 組織全体の防御力も爆上がりする
- Passkey の価値も本当に実感できる
防御者にとっては 学ぶ価値の塊みたいな存在。