John Hammond 氏が動画を出していて、興味深かったので記事として簡潔にまとめることを目標に作ってみました。
元となる記事はこちらとなります。
https://pushsecurity.com/blog/consentfix
概要
Push Security にて発表された新しいフィッシング手法で、 OAuth consent phishing と ClickFix の要素を組み合わせ、Microsoft 365 アカウントの乗っ取りを目的とします。
被害者がウェブページ上で「メールアドレスの入力」「URL のコピー & ペースト」という非常に簡単な操作で OAuth Token の奪取が出来てしまいます。
ClickFix とは
上記の記事が非常に読みやすいかと思われます。
上記は Trend Micro 社のページ から引用させていただいております。
このような画面が表示された際には既にクリップボードに攻撃者が実行したいコマンド(PowerShell スクリプト)がコピーされており、指示通りに操作を行うと、攻撃者の指定したコマンドが「ファイル名を指定して実行」ダイアログから実行されてしまう、というものです。
OAuth consent phishing とは
Microsoft から記事が出ております。
X のアプリ連携などでもそうですが、権限を必要としているものに対して、その内容をよく読まずに同意してしまい、結果として非常に強い権限をアプリケーションに渡してしまう、という内容です。
攻撃者が他の利用者がいるサイトの改ざんを行ってこの手法を絡めると、そのサイトの利用者は「普段使っているサイトだし...」と権限要求に同意してしまう点が問題です。
ConsentFix の詳細
上記を組み合わせて、このような手法が観測されました。なお、画像は Push Security による下記の記事よりお借りしております。
https://pushsecurity.com/blog/consentfix
メールアドレスの入力
他のサイトを表示して、このような画面を表示させる。例えばブログサイトのコメント欄や、ECサイトのお問い合わせフォームが(同じページ内でメールアドレスを別途入れているという観点で)惑わされやすいな、と個人的に思っています。
この際、学校や職場のドメインであるかを確認し、そうでないならエラーを出すことで後続の攻撃を確実に成立させることが出来ます。
ポップアップ画面での認証
この箇所は OAuth consent phishing と同等のものとなります。ただし、ここで要求しているのは CLI ツールAzure CLIで利用するための権限です。
実質フルの権限で、リダイレクト先が localhost となります。
結果の受け取り
localhost のリダイレクト URL を元の「最初にメールアドレスを入力する画面」にてコピペします。これ、結構ユーザーに求める操作としては難しめだと思うのですが、「URL の左にある ⓘ からボックスへドラッグアンドドロップして!」であれば簡単な気がします。
このリダイレクト URL にはトークンに関する重要な情報があり、OAuth においては絶対に流出させてはならないものです。
上記の指示に従ってしまった結果として、セッション情報が漏洩し、アカウント上の任意の操作が出来るようになってしまいます。
実際にやってみる
流石にコードは共有できないので、スクリーンショットのものになります(localhost:3000 は外部サイトの想定です)
認証を進めた結果、こうなりました。
この指示に従ってコピペを行うと、フォーム側で change イベントが発火し、自動で攻撃者サーバー(not localhost:3000)に通信を行います。これにより、こんな感じで認証情報が漏洩します。
まとめ
ClickFix のような形でセッション情報を奪取するフィッシング手法が話題になっているよ、という紹介でした。
元の記事では「人間であると証明するため、ビジネスアカウントのメールアドレスを入力しろ」というコンテキストになっています。
「このようなフォームは存在しない」ということも含めて、ちょっとした注意喚起になればいいなと思います。




