Hackers abuse OAuth 2.0 workflows to hijack Microsoft 365 accounts

ロシアの脅威行為者が、正規のOAuth 2.0認証ワークフローを悪用して、ウクライナや人権に関連する組織の従業員のMicrosoft 365アカウントを乗っ取っている。

敵対者はヨーロッパ諸国の関係者になりすまし、WhatsAppやSignalのメッセージングプラットフォームを通じてターゲットに接触しています。その目的は、潜在的な被害者に、アカウントへのアクセスを可能にするマイクロソフトの認証コードを提供するよう説得したり、ログインやワンタイムアクセスコードを収集する悪意のあるリンクをクリックさせたりすることだ。

サイバーセキュリティ企業のVolexityは、2月にVolexityと Microsoftによって報告された、Microsoft 365のアカウントを盗むためにデバイスコード認証フィッシングを使用する同様の操作の直後に、3月上旬からこの活動を観察した。

Volexityは、2つのキャンペーンを引き起こした脅威行為者をUTA0352とUTA0355として追跡しており、どちらもロシア人であると中程度の信頼度で評価しています。

攻撃の流れ

本日発表されたレポートの中で、研究者は攻撃がSignalまたはWhatsAppを介したメッセージから始まると説明している。Volexityは、あるケースでは侵害されたウクライナ政府のアカウントからの通信であったと指摘している。

Email sent to targets
ターゲットに送信された電子メール
Source:Volexity

攻撃者は欧州の政治関係者やウクライナの外交官になりすまし、ウクライナ関連の問題を話し合うプライベートなビデオ会議に招待してターゲットを誘い出す。

通信チャネルが確立されると、攻撃者はビデオ通話に参加するために必要であるという口実でOAuthフィッシングURLを送信します。

Messages sent to targets
ターゲットに送信されたメッセージ
Volexity

UTA0352は、Microsoft 365 OAuthワークフローを使用するMicrosoftやサードパーティのアプリにユーザーをログインさせるために細工された悪意のあるURLとともに、PDFファイルの形式で会議に参加するための指示を共有する可能性があります。

ターゲットが認証した後、「insiders.vscode.devでホストされているVisual Studio Codeのブラウザ内バージョンにリダイレクトされる」と研究者は説明している。

ランディングページは、OAuthを含むMicrosoft 365からログインパラメンターを受け取ることができ、ターゲットには以下のダイアログが表示される:

Landing page providing the OAuth 2.0 authorization code
OAuth 2.0の認証コードを提供するランディングページ
Source:Volexity

ソーシャルエンジニアリングを使って、攻撃者は被害者を騙し、会議に参加するために必要であるかのように見せかけて、上記のコードを返送させようとします。

しかし、この文字列は60日間有効な認証コードであり、”ユーザーが通常利用できるすべてのリソース “のアクセストークンを取得するために使用できる。

“このコードは、アドレスバーのURIの一部としても表示されていたことに注意すべきである。Visual Studio Codeは、このコードを抽出して共有しやすいように設定されているようです。他のほとんどのケースでは、空白のページが表示されるだけです」とVolexityは 言う

研究者は、Visual Studio Codeのファーストパーティアプリケーションに依存することで、ユーザーを標的にした攻撃の流れを以下の図に簡略化した:

Complete attack flow
完全な攻撃の流れ
ソースはこちら:出典:Volexity

最近のフィッシング攻撃には古いバリエーションがあり、攻撃者はv2.0ではなくAzureAD v1.0のフォーマットを使用している。

UTA0355に起因する4月のキャンペーンは、UTA0352のものと類似しているが、最初の通信は侵害されたウクライナ政府の電子メールアカウントから来ており、攻撃者は “被害者のMicrosoft Entra ID(旧Azure Active Directory)に新しいデバイスを登録するために盗まれたOAuth認証コード “を使用した。

Volexityの研究者によると、デバイスが登録されると、被害者の電子メールにアクセスできるようにするために、ターゲットに二要素認証(2FA)の要求を承認するよう説得する必要があった。

それを達成するために、脅威者は2FAコードが “会議に関連するSharePointインスタンスにアクセスする “ために必要であると言うことで、ソーシャルエンジニアリングで彼らの方法を作った。

この最終ステップにより、攻撃者は被害者の情報や電子メールにアクセスするためのトークンを得るだけでなく、不正なアクセスを長期間維持するために新たに登録されたデバイスを得ることができる。

「Volexityが確認したログでは、攻撃者とやり取りした直後に最初のデバイス登録が成功しています。Volexityの研究者は、「UTA0355が2FAリクエストが承認されるような状況を作り出したのは、翌日に発生した電子メールデータへのアクセスでした」と述べている。

このような攻撃から保護するために、Volexity社はVisual Studio Codeのclient_idを使用したログインにアラートを設定し、’insiders.vscode.dev‘と’vscode-redirect.azurewebsites.net‘へのアクセスをブロックすることを勧めている。

また、条件付きアクセスポリシーを設定し、承認されたデバイスのみにアクセスを制限することも推奨している。