microsoftアカウントにログインさせて、取得したOAuth認証コードを入力させる。
攻撃者側では、入力されたOAuth認証コードをAzure CLIとかで使用していると思われる。
microsoftアカウントにログインする画面は本物のmicrosoftログイン画面。
OAuth認証コードの取得も公式の基本仕様。
OAuth認証コードの入力するところが、攻撃者の作った画面。

OAuth認証コードの取得
OAuth認証コードの取得フローはMicrosoft公式の資料を確認していただきたい。
公式より、例えばこんな感じのリクエストを飛ばすことでOAuth認証コードを取得するためのアクセスとなる。
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&response_type=code
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=query
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&state=12345
&code_challenge=YTFjNjI1OWYzMzA3MTI4ZDY2Njg5M2RkNmVjNDE5YmEyZGRhOGYyM2IzNjdmZWFhMTQ1ODg3NDcxY2Nl
&code_challenge_method=S256
# https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#request-an-authorization-codeより
push securityの記事にも同じようなリクエストの記録がある。
おそらく、先ほどの画像の「Sign in」が上記のようなリクエストを飛ばすものなのだろう。これはブラウザ上では、正規のmicrosoftにログインする画面になっている。
ログインに成功すると例えば以下のようなページに遷移する。
http://localhost? code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq... &state=12345
localhostに遷移するのは公式の基本仕様。別に攻撃者がどうこうしたわけではない。
「Consentfix」では、このlocalhostのURLを全てコピーしろという指示。
ここでは、code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...の部分が認証コードとなる。
認証コードが取られてしまうと、アクセストークンをリクエストされ、Office 365のコンテンツが根こそぎ盗まれる可能性がある。
認証コードを盗まれたアカウントによっては、Azure関連サービスが根こそぎやられる可能性も、VMとかSQLとかストレージとか。
ところで、OAuthトークンをlocalhostに飛ばすんじゃなくて、自分で作ったアプリと連携させれば良いんじゃねとか思った。それならば、localhostのURLをコピペさせなくとも「許可」ボタンを押してもらえばいいだけ。
しかし、それだとサードパーティアプリとの連携になるので管理者許可が必要だったり、セキュリティ機能に検知されたりするらしい。
だから、localhostに来たものを全部コピペさせているとのこと。
たぶん、このレベルのフィッシングに引っかかる人にとっては、ハードルが高い
いやでも、たぶんこのレベルのフィッシング引っかかる方々には、こんな高度なことできないのでは?
サポート詐欺で支払いのときに2段階認証ができなくて、攻撃者がキレまくって、最終的に支払えず詐欺を逃れた人達も居るぐらいだし。
「ClickFix」とかに比べて逆に中途半端に高度な所為で、あんまり引っかからないのでは?