This post is also available in: English (英語)
概要
皆さんはこれまで「スペルミスなどの間違いがないかを注意深く観察してフィッシング攻撃を見破ろう」というアドバイスを受けたことがあるかもしれません。ただし、このアドバイスが有効なのは従来のフィッシング手法だけで、脅威アクターがこうしたアドバイスや従来型防御をかいくぐる方法を編み出していることは、Meddler-in-the-Middle (MitM)型のフィッシング攻撃からも明らかです。
MitMフィッシング攻撃は最先端のフィッシング攻撃で、コンテンツベースのフィッシング検出エンジンの多くを回避し、二要素認証(2FA)も破ります。MitM攻撃では、標的となるログインページに似せたページを表示するかわりに、リバースプロキシサーバーを使って、元のログインページをユーザーのブラウザに直接中継します。
2022年11月現在、複数のフィッシング攻撃がこの手口で企業メールアカウントを侵害し、組織の機密情報窃取に成功しています。数回クリックするだけで簡単にMitMフィッシング攻撃を仕掛けられる人気MitMフィッシングツールキットがいくつか存在しています。
こうしたツールキットの機能拡張は続き、より直感的で使いやすいものになってきていますし、その多くのが高度なクローキング(隠ぺい)技術を採用していて、従来型フィッシング検知システムによる検出を回避できます。そのため近い将来、こうしたMitMフィッシング攻撃がさらに蔓延するものと予測されます。
パロアルトネットワークスのお客様は、MitMフィッシングページをリアルタイムでブロックする高度なURLフィルタリングの機能により本稿で取り上げた攻撃からの保護を受けています。
関連するUnit 42のトピック | Phishing, Credential Theft |
はじめに: 従来のフィッシング攻撃
フィッシング攻撃の目的は、偽のログインページを用意し、ユーザーを騙してログイン用の認証情報(クレデンシャル)を入力させることです。
従来のフィッシング攻撃では攻撃者が正規ログインページを模した独自フィッシングページを作るのがふつうでした。作ったフィッシングコンテンツは、新たに作成したドメインにホストするか、正規のドメインを侵害してそのドメインにホストするか、既存SaaSプラットフォームにホストするか、いずれかの方法をとっていました。
「フィッシングキット」は、そうしたフィッシング攻撃の作成・実行プロセスを簡素化してくれるものです。キットの提供するプログラムやスクリプトを使えば、未熟なサイバー犯罪者でもフィッシング攻撃を行えるようになります。フィッシングキットには標的企業の実際のログインページをまねたテンプレートWebページが用意されていることも多く、脅威アクターはCaffeine(図1)やRobin Banksなどの一歩進んだWebベースフィッシングサービス(PhaaS)プラットフォームが提供する使いやすいインターフェースを使ってフィッシング攻撃をしかけられます。
従来のフィッシング攻撃では、フィッシングページを悪意のあるサーバーや侵害したサーバーに直接ホストすることが多く、正規のログインページの完璧なコピーになっていないこともありました。たとえば攻撃者がGitHubのログインを模したフィッシングページを作る場合、中核となるログイン機能の周辺にあるさまざまな機能(たとえば「パスワードを忘れました」リンクなど)を完全に再現することにさほどこだわらないことがあります。
専門家や注意深い観察者なら、正規GitHubログインページと偽装フィッシングページの微妙な違いに気づき、フィッシングページが偽物であることを見抜けるかもしれません。図2はフィッシングページが本来の標的であるログインページとどのように異なっているかを示した例です。
同様に、コンテンツベースの自動フィッシング対策エンジンは、これらの不正ログインページに疑わしいコンテンツの兆候(リンク切れやスペルミスなど)があることに気付き、フィッシングサイトの可能性があるとフラグを立てるかもしれません。
こうした欠陥はあるにせよ、フィッシング攻撃キャンペーンは標的の受信者数が非常に多いので、一部は攻撃の犠牲となりかねません。二要素認証(2FA)や多要素認証(MFA)は、フィッシングの成功を防ぐセキュリティレイヤーを追加する方法として一般化してきています。
実際の2FAの動きを見てみると、たとえば正規ログインサイトの場合、ユーザー名とパスワードに加え、登録メールアドレスに送信されるワンタイムパスワード(OTP)などの追加認証を求めることがあります。たとえ攻撃者がフィッシング攻撃で被害者のユーザー名とパスワードを入手できたとしても、不正ログイン試行時に送信されるOTPが取得できないのでそのユーザーとしてログインすることができません。
MitMフィッシング攻撃
MitMフィッシング攻撃はコンテンツベースの防御と2FAの両方を回避する新型のフィッシング攻撃です。従来のフィッシング攻撃ではユーザーに正規ログインページとは別の偽装したページを表示しますが、MitM攻撃では正規ログインページと完全に同一の内容が表示されます。MitMサーバーは正規ログインページの複製をホストするのではなく正規サイトがレンダリングしたコンテンツをエンドユーザーに中継するだけです(図3)。
つまりMitMサーバーは標的と正規ログインページの間でプロキシとして機能します。標的がプロキシされたページに認証情報を入力すると、MitMサーバーはその認証情報を保存して正規ログインページに転送し、ログイン試行を成功させます。被害者からは正規ページにログインしたとき同様、何ら問題なく見えます。
さらに、MitMサーバーから正規サイトへの接続も被害者からMitMサーバーへの接続もHTTPSプロトコルで提供されるため、被害者にはWebブラウザのアドレスバーにある南京錠アイコンからその接続が「安全」なように見えます。
標的に表示されるコンテンツが正規ログインページで表示されるものと完全に同一なので、プロキシベースのアプローチでは被害者が見た目で怪しさに気づくのはかなり難しいでしょう。コンテンツベースのフィッシング検出エンジンによる発見も非常に難しくなっています。
これを絵画に喩えるなら、従来のフィッシング攻撃は「2千万ドルのゴッホの原画をまねて贋作者が描いた(上手いとはいえないものもある)贋作」と考えられます。一方のMitMフィッシング攻撃は「ゴッホの原画を巧妙に隠された鏡越しに見せている」ようなものです。
MitM攻撃には見た目の効果だけでなく他にもいくつかのメリットがあります。たとえばユーザーが2FAを設定していても、このプロキシベースのアプローチならMitMサーバーが自動的に2FAも迂回できるのです。
MitMサーバーがユーザー名とパスワードを正規サイトに転送すると、正規サイトはいつもどおりクライアントにOTPを送信することになります。騙された標的はワンタイムパスワードをMitMフィッシングページに入力します。この後、MitMサーバーがパスワードを正規のサイトに中継すればログイン試行が完了します。
この時点でMitMサーバーは正規サイトから本物のセッションクッキーを受け取ります。こうしてログイン状態が継続すれば、攻撃者のWebサーバー経由していても被害者からは普通に正規サイトを閲覧し続けているように見えるので、よりいっそう「それらしさ」を演出しやすくなります。
MitMフィッシングキットの現状
本稿執筆時点で、ハッカーがわずか数クリックで独自MitMフィッシング攻撃を簡単に展開できるツールが複数存在しています。従来のフィッシングキット同様、これらのMitMフィッシングキットは、攻撃者がMitMフィッシング攻撃を簡単に設定・実行できるよう、一連のスクリプトを用意していて、場合によってはGUI(グラフィカルユーザーインターフェイス)まで用意しています。
表1に本稿執筆時点で利用可能なMitMフィッシングキットのなかでも人気の高いものを若干数まとめてみました。これらのキットはいずれもオリジナルのログインページを被害者のブラウザに中継するという中核的手法をとっていて、実装の詳細や追加機能(クローキングやTLS証明書の生成など)で違いがあります。
たとえばEvilginx2は一意なトークンを含むURL(または「ルアー」)を生成し、このURLで直接訪問した場合にのみ、フィッシングコンテンツを表示します。それ以外のパスへのリクエストは良性サイトへリダイレクトされます。
名前 | 最初のリリース/報告時期 | 説明 |
Evilginx2 | 2018年7月(最初のバージョンは2017年5月にリリース) | 使いやすいコマンドラインインターフェイスを備えた高機能MitMフィッシングキット。クローキング機能内蔵。一意なトークン(ルアー)を生成する。フィッシング用コンテンツを表示するには、URL内にこのトークンが含まれている必要がある。このツールのコマンドラインインターフェイスは図4の通り。 |
Modlishka | 2019年1月 | 複数の設定手順と侵害後のアクションを自動化している(窃取したセッションクッキーを使ってインスツルメント化されたChromeインスタンスを起動するなど)。 |
Muraena | 2019年5月 | 必要最小限の機能だけを備えたMitMツールキット。TLS証明書を自動作成するほかのツールキットとは異なり攻撃者は自身で証明書を用意する必要がある。 |
EvilnoVNC | 2022年9月 | 実際のWebブラウザを使って攻撃用サーバー上でログインページをレンダリングし、レンダリングした内容をVNC経由で被害者のブラウザに提供する。 |
EvilProxy | 2022年9月 | MitMフィッシング攻撃用のPhishing-as-a-Service (PhaaS)プラットフォーム。使いやすいGUIが用意されており脅威アクターが自身のMitMフィッシング攻撃キャンペーンをセットアップ・管理しやすい。 |
表1 人気MitMフィッシングキットの内訳
今年以前に、MitM関連の手口はすでに大手ソフトウェア企業のなりすましや数億ユーザーの個人情報漏出や、新興スタートアップ企業からの数百万ドルの窃取を成功させています。ただしこれらの攻撃は、必ずしもフィッシングそのものを主な攻撃ベクターにしているわけではありません。現在、MitMベースのフィッシング攻撃は主役の座に登り始めています。
2022年半ばのMitMフィッシング攻撃キャンペーン
2022年7月、MicrosoftはEvilginx2を使って標的となる同社の認証情報を盗み出すフィッシング攻撃キャンペーンを報告しました。この攻撃キャンペーンでは、狙った被害者に重要な添付ファイルをダウンロードするよう促すメールが送信されました。添付ファイルを開いて一連のリダイレクトを経た被害者は、図5で示したようなMitMフィッシングページに到達します。認証クッキーの傍受に成功した攻撃者は侵害したOutlookアカウントにログオンし、送金詐欺に使えそうな金融関連メールや添付ファイルがないか探します。
この攻撃キャンペーンはさまざまなクローキング技術で検出を避けており、被害者が元となったHTML添付ファイル経由でページに移動してきた場合にのみフィッシングコンテンツがロードされるようにしていました。Microsoftの脅威インテリジェンス情報の記事が発表されるまでの数ヶ月の間に1万社以上の組織がこの攻撃キャンペーンの標的にされていました。
なお弊社の高度なURLフィルタリングのログを確認すると、2021年9月の時点で攻撃者のドメインにホストされていたトークン化済みフィッシングURL(例: login[.]mcrsfts-passwdupdate[.]com/HMxVQmxZ)へのWebトラフィックのブロックを開始していたことが確認されました。
2022年後半のMitMフィッシング攻撃キャンペーン
2022年9月には、MitMフィッシングの手口で標的のGitHubの認証情報を窃取しようとしていた別の攻撃キャンペーンの存在が明らかになりました。この攻撃キャンペーンは、CircleCIのログインページを模した複数のドメインを使い、被害者にGitHub認証情報でのログインを促していました(図6、図7)。
OTPベースの2FAを設定している標的に対してはMitMサーバーもOTPの入力を促すことで、入力された内容をGitHubに転送し、ログインを成功させていました。そこから攻撃者は個人用アクセストークン(PAT)をすかさず作成するか、被害者のアカウントに自分のSSHキーを追加するかしてアクセスを維持します。こうしておけば、被害者がユーザー名やパスワードを変えても、侵害したアカウントにアクセスし続けられます。
2022年11月、DropboxがMitMフィッシング攻撃の被害に遭い、攻撃者に130のプライベートリポジトリを侵害・コピーされていたことが明らかになりました。このインシデントはMitMフィッシング攻撃がすでに実世界で大きな影響を及ぼしていることを示すものです。この攻撃を受けてDropboxは、2FAプロトコルをOTPから、よりフィッシング耐性の高いWebAuthnに移行する予定であると表明しています。
フィッシング攻撃活動の現状
ここ何週間か弊社の高度なURLフィルタリングサービスはMitMフィッシングのURLを多数検出していますが、とりわけMicrosoft 365などの企業ログインが主な標的となっています(図8、図9)。
MitMフィッシングキットの人気は高まってきており、機能拡張も続いていることから、MitMフィッシング攻撃の蔓延も続いていくものと予測されます。脅威アクターたちもすでにその方向で動いています。実際、Evilginx 3.0がちかぢかリリースを予定しており、MitMフィッシング攻撃の成功に向けたオンラインコースも提供される予定です。
結論
MitMフィッシング攻撃はすでに実世界で深刻な侵害を引き起こしていますし、MitMフィッシングツールキットも拡充・進化が続いていますので、今度も同種の攻撃が蔓延すると予想されます。そのため、こうした新型のフィッシング攻撃から組織を守ることはますます重要になってきています。
今現在、エンドユーザーがMitMフィッシング攻撃から身を守るために取れる対策には以下のようなものがあります。
- 認証情報を入力する前にURLが有効なものかどうかを確認する
(例: URLは本当に「github[.]com」であって「github-impersonator[.]org」のようなものではないか確認する) - パスワードマネージャーを使って認証情報の保存と入力を行う(パスワードマネージャの把握していないWebサイトにホストされているMitMフィッシングページにアクセスした場合、パスワードマネージャは認証情報入力の前にユーザーに警告を発してくれる)
- ハードウェアセキュリティキーやWebAuthn 2FAなど最新のMFA方式を使う
このほか、パロアルトネットワークスの高度なURLフィルタリングサービスをご契約のお客様は、インラインフィッシングURL検出によるMitMフィッシング攻撃からの保護も受けられます。本稿で解説したMitMフィッシングURLもその対象です。高度なURLフィルタリングはWebトラフィックをリアルタイム解析して攻撃が標的に到達する前にブロックします。これにより、MitMフィッシング攻撃がクローキングURLを使っていた場合(Evilginx2の場合)でも、認証情報が盗まれる前に攻撃をブロックできます。
IoC
- mcrsfts-passwdupdate[.]com
- circle-ci[.]com
- infollnes-r-us[.]co[.]uk
- microsoftonlinesupport[.]cf
追加リソース
What Is a Proxy Server (プロキシサーバーとは何か) − パロアルトネットワークス
Multifactor Authentication − CISA
正規SaaSプラットフォームを悪用するフィッシング攻撃の手法 − Unit 42
Catching Transparent Phish
謝辞
本稿の執筆にあたり、ご指導いただいたWei Wang、Javier Wangの各氏に感謝いたします。
2022-12-22 10:45 JST 英語版更新日 2022-12-21 13:00 PST の内容を反映