
ConsentFix」と名付けられたClickFix攻撃の新たなバリエーションが、Azure CLI OAuthアプリを悪用して、パスワード不要でMicrosoftアカウントを乗っ取ったり、多要素認証(MFA)の検証をバイパスしたりする。
クリックフィックス攻撃は、ユーザーを騙してコンピュータ上でコマンドを実行させ、マルウェアのインストールやデータの窃取を試みるソーシャルエンジニアリングの手法です。一般的には、エラーを修正するように見せかけたり、ボットではなく人間であることを確認するような偽の指示を使用します。
この新しいConsentFixの亜種は、サイバーセキュリティ企業のPush Security社によって発見されたもので、ConsentFixの手口は、Azure CLIのアクセストークンを取得するために使用できるOAuth 2.0の認証コードを盗むと説明している。
Azure CLIは、OAuthフローを使用して、ユーザーがローカルマシンからAzureおよびMicrosoft 365リソースを認証および管理できるようにするMicrosoftコマンドラインアプリケーションです。このキャンペーンでは、攻撃者は被害者を騙してAzure CLIのOAuthフローを完了させ、その結果得られる認証コードを盗み、ユーザーのパスワードやMFAを必要としない完全なアカウントアクセスと交換します。
ConsentFix攻撃
ConsentFix攻撃は、被害者が特定の用語でGoogle検索結果の上位にランクされている、侵害された正規のウェブサイトにランディングすることから始まります。
訪問者には、有効なビジネスEメールアドレスの入力を求める偽のCloudflare Turnstile CAPTCHAウィジェットが表示されます。攻撃者のスクリプトは、このアドレスをターゲットリストと照合し、ボットやアナリスト、ターゲットリストにない人物をフィルタリングします。

ソースはこちら:プッシュ・セキュリティ
このチェックを通過したユーザーには、ClickFixのインタラクションパターンに似たページが表示され、被害者が人間であることを確認するための指示が出されます。
これらの指示は、ページ上の「サインイン」ボタンをクリックし、新しいタブで正規のマイクロソフトのURLを開くというものです。

ソースはこちら:プッシュ・セキュリティ
しかし、これは典型的なMicrosoftログインプロンプトではなく、Azure CLI OAuthアクセスコードを生成するために使用されるAzureログインページです。

出典 :Push Security:
ユーザーがすでにMicrosoftアカウントにログインしている場合は、アカウントを選択するだけでよい。そうでない場合は、Microsoftの実際のログインページで普通に認証する。
そうすると、Microsoftはユーザーをlocalhostページにリダイレクトし、ブラウザのアドレスバーには、ユーザーのアカウントに紐付けられたAzure CLI OAuth認証コードを含むURLが表示される。
このフィッシング・プロセスは、ユーザーが提供された指示に従ってURLを悪意のあるページに貼り付けると完了し、攻撃者はAzure CLI OAuthアプリを介してMicrosoftアカウントにアクセスできるようになる。
「この手順が完了すると、被害者はAzure CLI経由で攻撃者にMicrosoftアカウントへのアクセスを事実上許可したことになります。
「この時点で、攻撃者は被害者のマイクロソフト・アカウントを効果的にコントロールすることができますが、パスワードをフィッシングしたり、MFAチェックをパスしたりする必要はありません。
「実際、ユーザーがすでにMicrosoftアカウントにログインしていた(つまり、アクティブなセッションを持っていた)場合、ログインはまったく必要ない。
Push氏によると、この攻撃は被害者のIPアドレス1つにつき1回しか発動しないため、有効なターゲットが同じフィッシングページに戻ったとしても、Cloudflare Turnstileのチェックを受けることはないという。
研究者は、新しいIPアドレスからのログインなど、通常とは異なるAzure CLIのログインアクティビティを探し、攻撃者が意図的に検出を回避するために活用するレガシーGraphスコープを監視することを防御者に示唆している。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments