Microsoft WebView2 の悪用:MFA をバイパスする狡猾なフィッシング手法が証明された

Clever phishing method bypasses MFA using Microsoft WebView2 apps

2022/06/26 BleepingComputer — Microsoft Edge WebView2 アプリケーションを悪用する、巧妙で新たなフィッシング手法により、被害者の認証クッキーが盗み出され、攻撃者によるアカウントへのログイン時に、多要素認証がバイパスされることが可能になるという。数多くのデータ漏洩や、リモートアクセス型トロイの木馬 (RAT)、フィッシング・キャンペーンなどにより、盗み出されたログイン認証情報は膨大な量になっている。その一方で、多要素認証 (MFA) の採用が進んでいるため、標的の MFA ワンタイム・パスコードやセキュリティ・キーに対しても、攻撃者がアクセスできない限り、これらの盗み出した認証情報の悪用は難しくなっている。

そのため、脅威アクターは、ゼロデイ Web サイトの脆弱性/リバースプロキシ/ブラウザ-in-ブラウザ/リモート・ブラウザをローカルに表示する VNC の悪用といった、MFA を回避する新しい方法を考え出すようにななった。今週に、サイバー・セキュリティ研究者の mr.d0x は、Microsoft Edge WebView2 アプリケーションを悪用し、ユーザーの認証クッキーを簡単に盗み出し、MFAで保護されているアカウントであっても、ログインを成功させる新しいフィッシング手法を編み出した。

Introduction to Microsoft Edge WebView2

Microsoft Edge WebView2 の悪用

この新しいソーシャル・エンジニアリング攻撃は、WebView2-Cookie-Stealer と呼ばれ、起動するとアプリケーション内に正規 Web サイトのログイン・フォームを開く、WebView2 実行ファイルにより構成されている。

Microsoft Edge WebView2 を使用すると、Microsoft Edge (Chromium) をレンダリング・エンジンとして悪用し、HTML/CSS/JavaScript を完全にサポートする Web ブラウザを、ネイティブ・アプリにダイレクトに組み込むことが可能となる。つまり、この技術を使用すると、任意の Web サイトをネイティブ・アプリケーションにロードし、Microsoft Edge で開いたときと同じように表示させることが可能になる。

その一方で WebView2 は、開発者によるダイレクトな Cookie アクセスや、アプリケーションで読み込んだ Web ページへの JavaScript インジェクションも可能であるため、キー入力ログや認証 Cookie を盗み出し。リモートサーバへ送信するための優れたツールとなる。

mr.d0x が新たに証明した攻撃方法では、PoC エクスプロイトの実行ファイルにより、エンベッドされた WebView2 コントロールが使用され、正規の Microsoft ログイン・フォームを開くことになる。以下に示すように、ログイン・フォームは通常のブラウザを使用した場合と全く同じようにレンダリングされ、タイプミスや奇妙なドメイン名などの、不審な要素は一切含まれていない。

WebView2 phishing attack opening the Microsoft login form
Source: BleepingComputer

WebView2 アプリケーションは、ページへの JavaScript インジェクションが可能なため、ユーザーが入力した全ての内容は、攻撃者の Web サーバーへと自動的に送り返される。

しかし、このタイプのアプリケーションの真の力は、ユーザーがログインした後にリモート・サーバから送信される、認証などに用いられるあらゆるクッキーを盗み出す点にある。mr.d0x が BleepingComputer に語ったところによると、このアプリケーションは、初回の実行時に Chromium User Data フォルダを作成し、その後のインストール時には、そのフォルダを使用するとのことだ。

続いて、この悪意のアプリケーションは、ビルトインされた WebView2 の ICoreWebView2CookieManager インターフェースを使用して、認証に成功したサイトのクッキーをエクスポートし、攻撃者が管理するサーバーへ向けて、以下のように送り返す。

The malicious WebView2 app sending back the stolen cookies
The malicious WebView2 app sending back the stolen cookies
Source: BleepingComputer

base64 エンコードされたクッキーをデコードした攻撃者は、サイトの認証クッキーに対する完全なアクセスを達成し、ユーザーのアカウントにログインするために、それを使用することが可能になる。

Decoded cookies stolen by the WebView2 application
Decoded cookies stolen by the WebView2 application
Source: BleepingComputer

また、この研究者は、WebView2 アプリを使用して、既存の Chromium ユーザー・プロファイルをコピーすることで、そのプロファイル内のクッキーを盗むことが可能であることも発見している。

彼は mr.d0x によるレポートを引用して、「WebView2 は、カレント・ユーザーが使用できる、すべてのクッキーを盗むために悪用できる。それは、Chrome 上で現実にテストされている。WebView2 は、新しいものを作成するのではなく、既存のユーザー・データ・フォルダ (UDF) を使って起動できる。この UDF には、すべてのパスワード/セッション/ブックマークなどが含まれています。Chrome の UDF は、C:\Users\AppData\Local\Google\Chrome\User Data にある。このプロファイルを用いてインスタンスを起動し、すべてのクッキーを抽出し、攻撃者のサーバーに転送するよう WebView2 に指示するだけでよい」と説明している。

これらのクッキーの悪用方法について尋ねられたとき、「驚異アクターは、盗み出したアカウントのログイン・フォームへ行き、EditThisCookie などの Chrome エクステンションを使用して、クッキーをインポートできる。クッキーをインポートしたら、ページをリフレッシュするだけで、自動的にサイト上で認証される」と、mr.d0x は BleepingComputer に答えている。

しかし、それよりも問題なのは、この攻撃は、ユーザーがログインして MFA 成功させた後のクッキーを盗み出すため、OTP やセキュリティ・キーで保護された MFA もバイパスされるという点だ。mr.d0x は、「つまり、攻撃者が WebView2 アプリに Github.com/login を設定し、ユーザーがログインすると、クッキーを抽出して攻撃者のサーバーに流出させることが可能になる。この Yubikeys は、フィッシング・サイトではなく、REAL のサイトで認証されているので救われない。さらに、これらのクッキーは、セッションが切れるか、異常な行動を検出するためのチェックが行われるまで有効である。もちろん、これを実装するのは、そう簡単ではない」と語っている。

攻撃にはソーシャル・エンジニアリングが必要

しかし、mr.d0x が認め、我々の質問に対する回答で Microsoft が指摘したように、この攻撃はソーシャル・エンジニアリング攻撃であり、ユーザーによる悪意の実行ファイルの起動が不可欠である。

この新しい手法に関する声明の中で、Microsoft は BleepingComputer に対して、「このソーシャル・エンジニアリングの手法では、ユーザーに悪意のアプリケーションをダウンロードし実行するよう、攻撃者が説得する必要がある。したがって、ユーザーが安全なコンピューティングの習慣を実践し、不明または信頼できないソースからのアプリケーションの実行/インストールを避け、Microsoft Defender などのマルウェア対策ソフトウェアを実行し、最新の状態に保つことが推奨される」述べている。

したがって、この種のアプリケーションを実行させるためには、さらなる作業が必要になるかもしれない。とはいえ、電子メールの添付ファイルや、インターネットからのランダムなダウンロード、ゲームのチートなどを、多くの人が影響について考えずに、不用意に実行することは、歴史が証明している。

これらの方法は、かなり少ない労力で動作することが証明されており、ランサムウェア/リモートアクセス型トロイの木馬 (RAT)/パスワード窃盗型トロイの木馬などの、インストールにつながるものでもある。

したがって、研究者たちによる WebView2 攻撃の証明は、特に最初にログインを要求する正規のアプリケーション・インストーラのように見せかけることができれば、実現される可能性が生じる。たとえば、Microsoft Office/Zoom/各種のゲームなどのインストーラーが、それに該当する。

この攻撃は、実際の攻撃で使用されたことはないが、研究者が公表したテクニックは、これまでにも攻撃に使用されているため、セキュリティ管理者や専門家は、この点に注意する必要がある。

これらの攻撃から身を守る方法については、通常のサイバー・セキュリティのアドバイスと変わらない。つまり、知らない添付ファイルは開かない。特に実行ファイルであれば開かない。インターネットからダウンロードしたファイルはスキャンする。それらのプログラムが正規のものであると100%確信できない限り、アプリケーションに自分の認証情報を入力しない。それらを実践することが重要である。

Microsoft Edge WebView2 ですが、その紹介ページには、「Microsoft Edge WebView2コントロールを使用すると、ネイティブ・アプリに Web テクノロジー (HTML/CSS/JavaScript) を埋め込むことができる。 WebView2 コントロールは、ネイティブ・アプリで Web コンテンツを表示するためのレンダリング・エンジンとして、Microsoft Edge を使用する」と記されています。そして、文中にあるように、「WebView2 アプリケーションは、ページへの JavaScript インジェクションが可能なため、ユーザーが入力した全ての内容は、攻撃者の Web サーバーへと自動的に送り返されてしまう」という流れになるようです。現時点では、この方式による攻撃は検知されていないようですが、MFA バイパスが確認されているようなので、注意が必要ですね。

%d bloggers like this: