
- サイバー犯罪者は、リバースプロキシを使った中間者攻撃(AiTM)によって多要素認証(MFA)をバイパスし、ログイン情報や認証 Cookie を傍受しています。
- Tycoon 2FA や Evilproxy などの Phishing-as-a-Service(PhaaS)キットの開発者は、使い勝手を良くする機能や検出されにくくする機能を追加してきました。
- 公開キー暗号を使用したパスワードレス MFA ソリューションである WebAuthn は、パスワードの送信を防ぎ、サーバー側の認証データベースを狙う意味を失わせることで、MFA バイパス攻撃に対する堅牢な防御を提供します。
- セキュリティ面で強力なメリットを得られるにもかかわらず、WebAuthn の導入は遅れています。Cisco Talos は組織に対し、進化を続けるフィッシングの脅威を踏まえ、現在の MFA 戦略を見直すことを推奨しています。
過去 30 年間、フィッシングはサイバー犯罪者にとっての常套手段でした。信頼のあるサイトを装い、ソーシャルエンジニアリングで被害者を騙してアカウントのユーザー名やパスワードなどの個人情報を流出させようとするフィッシング攻撃については、すべてのサイバーセキュリティ専門家が精通しています。フィッシング攻撃が行われるようになった初期の頃は、サイバー犯罪者にとっては多くの場合、公式サイトに似せた偽のランディングページを作成して認証用ログイン情報を収集し、それを使って被害者のアカウントにアクセスするだけで十分でした。
以来、ネットワークの防御側はさまざまな対策を講じて、この手の攻撃を阻止しようと取り組んできました。多くの組織では、ユーザーの受信ボックスからフィッシングメールを排除するための強力なスパム対策システムを導入するほか、社内ユーザーに対してフィッシング攻撃のシミュレーションを実施し、詐欺メールを見抜けるようにトレーニングする対策も取っています。これらの対策は一時的には機能しましたが、フィッシング攻撃が高度化し、より明確に標的が設定されるようになるにしたがって、スパムフィルタやユーザートレーニングの効果は低下しています。
この問題の根底にあるのは、ユーザー名が推測しやすい(あるいは発見しやすい)ことが多いうえに、一般的に強力なパスワードが使用されていないという事実です。また、同一の弱いパスワードが複数のサイトで使いまわされる傾向も関係しています。被害者のユーザー名とパスワードを手に入れたサイバー犯罪者は、クレデンシャル スタッフィング攻撃をしかけることが多く、同じユーザー名/パスワードの組み合わせでさまざまなサイトへのログインを試行します。
一般的な認証システムでは、ユーザーが正当であることを証明するために以下の 3 つの認証方法または認証要素のうち少なくとも 1 つに依存しています。
- ユーザーが知っているもの(例:ユーザー名とパスワード)
- ユーザーが持っているもの(例:スマートフォンや USB キー)
- ユーザーの身体的特徴(例:指紋認証や顔認証)
フィッシングメッセージの巧妙化が進む中で、ユーザー名/パスワードなど 1 つの認証要素のみを使用するのは問題です。多くのネットワーク防御者は、ログイン時にユーザーのアイデンティティを確認する追加の手順として SMS メッセージやプッシュ通知などの追加の要素が求められる MFA を導入し、対応を取っています。認証プロセスに追加の要素を加えることで、サイバー犯罪者にとって、漏洩したユーザー名とパスワードの価値は下がりますが、クリエイティブ集団であるサイバー犯罪者は MFA への対抗手段を編み出しました。MFA をバイパスするようになったのです。
MFA をバイパスする方法
攻撃者は、MFA をバイパスするために、中間者攻撃(AiTM)によって認証プロセスに介入します。
一般的に、これにはリバースプロキシが使用されます。リバースプロキシは中継サーバーとして機能し、クライアントからリクエストを受け付け、クライアントが接続しようとしている実際の Web サーバーに転送します。
攻撃者は、MFA をバイパスするためにリバースプロキシを設定し、フィッシングメッセージを通常どおり送信します。被害者が攻撃者のリバースプロキシに接続すると、そのトラフィックは本物のサイトに転送されます。被害者の視点では、接続しているサイトは本物に見え、実際のところ、接続先は正規の Web サイトです。被害者が認識できる唯一の違いは、Web ブラウザのアドレスバーに表示されているサイトの場所です。
攻撃者は、クライアントとサーバー間の通信に介入することで、被害者が正規のサイトに送信したユーザー名とパスワードを傍受できます。これで攻撃の第 1 段階が完了し、正規のサイトから被害者に MFA リクエストが送信されます。被害者が MFA リクエストを受信して承認すると、攻撃者のプロキシサーバー経由で認証 Cookie が返され、攻撃者によって傍受されます。これで、攻撃者はユーザー名/パスワードのほか、正規サイトからの認証 Cookie も手にしたことになります。
図 1. リバースプロキシを使用した MFA バイパスを表したフロー図
Phishing-as-a-Service(PhaaS)キット
すぐに使える Phishing-as-a-Service(PhaaS)ツールキットが存在するため、仕組みがよくわからなくてもこの手のフィッシング攻撃はほぼ誰でも実行できます。この分野では Tycoon 2FA、Rockstar 2FA、Evilproxy、Greatness、Mamba 2FA などのツールキットが登場しています。ツールキットの開発者は、使い勝手を良くする機能や検出されにくくする機能を徐々に追加してきました。
- Phaas MFA バイパスキットには通常、サイバー犯罪者がフィッシング攻撃を展開しやすくするために、標的にされやすい人気サイトのテンプレートが含まれています。
- MFA バイパスキットでは、正しいフィッシング URL を手にしているユーザーのみにフィッシングリンクへのアクセスを制限しており、その他の訪問者は無害な Web ページにリダイレクトされます。
- MFA バイパスキットは、訪問者の IP アドレスや User-Agent ヘッダーをチェックすることがよくあります。これは、アクセス元の IP アドレスが既知のセキュリティ企業やクローラに該当する場合や、User-Agent によってボットがアクセスしていることがわかった場合にアクセスを阻止するためです。また、フィッシング攻撃の対象を特定のハードウェア/ソフトウェアを動作させているユーザーに絞り込むために User-Agent フィルタが使用されることもあります。
- リバースプロキシ MFA バイパスキットでは通常、被害者に表示するページに独自の JavaScript コードが仕込まれており、訪問者に関する追加情報を収集し、認証 Cookie 窃取後のリダイレクトを処理するようになっています。ほとんどの場合、これらのスクリプトは動的に難読化されます。理由は、セキュリティベンダーが MFA バイパス攻撃で使用されているサイトの特定に用いる静的フィンガープリントの採取を阻止するためです。
- フィッシング対策として、メールを受信した際、メールに記載されている URL に自動的に訪問するようにしていることがあります。これを無効化するために、詐欺メールの送信時刻からわずかに時間を空けてフィッシング URL が有効になるようにプログラムされている場合があります。
図 2. Tycoon 2FA フィッシングツールキットのフィッシングメッセージの例
リバースプロキシを使用した MFA バイパス攻撃は、Evilginx などの一般に公開されているオープンソースツールの普及によって勢いを増しています。Evilginx は、広く使用されていたオープンソースの Web サーバーである nginx の改変バージョンとして 2017 年に登場しました。時間とともに、このアプリケーションは再設計され、Go で記述し直され、独自の HTTP と DNS サーバーを実装するようになりました。レッドチームによるペネトレーションテストのツールとして考えられていましたが、オープンソースであるがゆえに、誰でもダウンロードして変更することができます。
防御側にとっては幸いなことに、Evilginx や他の AiTM MFA バイパスツールキットには共通する特徴があるため、そこから手がかりを得て MFA バイパス攻撃が進行している可能性を把握できます。
- MFA バイパス用のリバースプロキシサーバーの多くは、比較的新しい時期に登録されたドメイン/証明書でホストされています。
- 認証 Cookie を取得した攻撃者が被害者のアカウントにアクセスできるのは、その 1 回のセッションのみです。多くの攻撃者は、被害者のアカウントへのアクセスを確保すると、持続的にアクセスできるように他の MFA デバイスをアカウントに追加します。防御側は、MFA ログでアクティビティの種類を調べることで、MFA バイパス攻撃の被害にあったアカウントを特定できます。
- デフォルトの Evilginx のフィッシング用 URL のパスの一部は、大文字と小文字を組み合わせた 8 文字で構成されています。
- Evilginx では、LetsEncrypt から取得した HTTP 証明書がデフォルトで使用されます。加えて、デフォルトで作成される証明書では、Organization が「Evilginx Signature Trust Co.」に、CommonName が「Evilginx Super-Evil Root CA」に設定されます。
- 攻撃者がセッションの認証 Cookie を傍受すると、通常はこの Cookie を攻撃者自身のブラウザに読み込んで被害者になりすまします。攻撃者が注意深くないと、異なる User-Agent と IP アドレスを持つ 2 人のユーザーが、同じセッション Cookie を使用する一定の時間が発生します。これは、Web ログを分析するか、「あり得ない移動」のような異常を検出するセキュリティ製品
を使用することで発見できる場合があります。
- 被害者がフィッシングサイトにあるリンクをクリックすることで別の場所に移動してしまわないよう、Evilginx のリバースプロキシによって正規サイトの HTML に含まれている URL が書き換えられます。フィッシングの標的になりやすい人気サイトでは、非常に特殊な URL パスが使用されていることがあるため、ネットワーク防御側は、そうした URL パスが正規のサイト以外のサーバーから提供されていないかを監視することで、攻撃を検出できます。
- MFA バイパスに使用されるリバースプロキシ実装の多くは、そのプログラミング言語にネイティブに備わっている Transport Layer Security(TLS)実装を用いて記述されているため、リバースプロキシと正規の Web サイトの TLS フィンガープリントは異なります。
WebAuthn の有効性
公開キー暗号に基づいて MFA を有効にする仕様である WebAuthn(Web Authentication API)は、FIDO(Fast IDentity Online)アライアンスと W3C
によって開発されました。WebAuthn は実質的にパスワードレスです。ユーザーが WebAuthn を使用して MFA に登録すると、暗号化キーペアが生成されます。この秘密キーはユーザーのデバイスに保存され、対応する公開キーはサーバー上に保存されます。
クライアントがログインを試みると、サーバーはチャレンジを返して応答します。クライアントはこのチャレンジデータに署名し、サーバーに返します。サーバーは、チャレンジがユーザーの秘密キーを使用して署名されたことを検証します。パスワードは Web フォームに入力されず、インターネット経由で送信されることもありません。これには副次的な効果もあり、サーバー側の認証データベースを攻撃者にとって意味のないものにします。公開キーを窃取するメリットがなくなるわけです。
図 3. WebAuthn の認証プロセス
WebAuthn では、追加のセキュリティ層として、使用されるログイン情報が対象の Web サイトのオリジンに紐づけられています。たとえば、ユーザーがフィッシングメッセージ内のリンクをクリックし、攻撃者の管理下にある、ユーザーが利用している銀行を装ったリバースプロキシ(mfabypass.com)に移動したとします。Web ブラウザのアドレスバーが示す場所は、ログイン情報が紐づけられている銀行の場所と一致しないため、WebAuthn MFA 認証プロセスは失敗します。特定のオリジンにログイン情報を紐づけることで、攻撃者が複数のサイトで同じログイン情報を使いまわすクレデンシャル スタッフィングなど、関連するアイデンティティベースの攻撃を排除することもできます。
WebAuthn の仕様は 2019 年に初めて公開されましたが、導入のペースは比較的遅いのが実情です。Cisco Duo の過去 6 か月間の認証テレメトリデータによると、WebAuthn MFA 認証がすべての MFA 認証に占める割合は依然としてごくわずかです。
これには、納得のいく面もあります。多くの組織では、すでに他のタイプの MFA を導入しており、それで十分だと感じているのかもしれません。しかし、MFA バイパス戦略を用いるフィッシング攻撃が増えている今、アプローチの見直しが求められています。
カバレッジ
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。
Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のある活動を検出できます。
Cisco Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)は、ネットワークトラフィックを自動的に分析し、接続されているすべてのデバイスで、望ましくない可能性があるアクティビティをユーザーに警告します。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Cisco Secure Access は、ゼロトラストの原則に基づいて構築された、最新のクラウド提供型セキュリティサービスエッジ(SSE)です。Cisco Secure Access はユーザーがどこで作業していても、インターネット、クラウドサービス、プライベート アプリケーションへのシームレスかつ透過的でセキュアなアクセスを提供します。Cisco Secure Access の無料トライアルにご興味をお持ちの場合は、シスコのアカウント担当者または認定パートナーまでお問い合わせください。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
本稿は 2025 年 5 月 1 日にTalos Group
のブログに投稿された「State-of-the-art phishing: MFA bypass
」の抄訳です。