OAuth エンドポイント MultiLogin:Google 認証クッキー復元の PoC もリリース

Malware abuses Google OAuth endpoint to ‘revive’ cookies, hijack accounts

2023/12/29 BleepingComputer — 複数の情報窃取型マルウェア・ファミリーが、情報が文書化されていない MultiLogin という、Google OAuth エンドポイントを悪用していることが判明した。このエンドポイントを悪用することで、たとえアカウントのパスワードがリセットされた後でも、期限切れの認証クッキーを復元して、ユーザーのアカウントにログインすることが可能になる。セッション・クッキーとは、認証情報を含む特殊なブラウザ・クッキーであり、認証情報を入力することなく、Web サイトやサービスに自動的にログインできるようにするものだ。この種のクッキーは有効期間が限られているため、脅威アクターがクッキーを盗んだとしても、アカウントへのログインのために無期限に使用することはできないのが通常である。

しかし、2023年11月下旬の時点で、2人の情報スティラー (Lumma/Rhadamanthys) について、BleepingComputer は報告している。彼らは、攻撃で盗み出した期限切れの Google 認証クッキーを、復元できると主張していた。

この脅威アクターは、一連のクッキーを使用することで、標的とするアカウントでログアウト/パスワードリセットが実行されていても、また、セッションの有効期限が切れた後においても、Google アカウントへの不正アクセスを可能にしていた。

BleepingComputer は1ヶ月以上にわたって、これらの主張と問題について、繰り返して Google に問い合わせた。具体的には、予定される対処法や軽減策などについてだが、何の回答も得られていない。

Google OAuth エンドポイントの悪用

12月29日に CloudSEK の研究者たちが発表したレポートでは、このゼロデイ・エクスプロイトの仕組みが明らかにされ、その悪用の規模の拡大が危惧されている。

このエクスプロイトは、2023年10月20日に PRISMA という脅威アクターが、初めて明らかにしたものだ。PRISMA は Telegram への投稿で、期限切れの Google 認証クッキーを復元する方法を発見したと述べていた。

CloudSEK が、このエクスプロイトをリバース・エンジニアリングしたところ、そこで使用されている、MultiLogin という文書化されていない Google OAuth エンドポイントの存在が判明した。

Google Chrome のソースコードにある API エンドポイントの説明には、「このリクエストは、Youtube などの Google Webサイトにおいて、Google 認証クッキーに対してブラウザの Chrome アカウントを設定するために使用される。このリクエストは Gaia Auth API の一部であり、クッキー内のアカウントとブラウザ内のアカウントが一致しない場合にトリガーされる」と記されている。

CloudSEK によると、このエンドポイントを悪用する情報窃取マルウェアは、Google アカウントにログインしている Chrome プロファイルの、トークンとアカウント ID を抽出するという。そして、この盗まれた情報には、サービス (GAIA ID) と encrypted_token という2つの重要なデータが含まれている。

暗号化されたトークンは、Chrome の Local State ファイルに保存されている暗号化キーで復号化される。この暗号化キーは、ブラウザに保存されたパスワードの復号化にも使用される。

つまり、脅威アクターたちは、盗み出した token:GAIA と MultiLogin エンドポイントのペアを使用することで、期限切れの Google サービスクッキーを再生成して、侵害したアカウントへの永続的なアクセスの維持を可能にしている。

Using token:GAIA pairs read from a text file to generate requests to MultiLogin
テキストファイルから読み取った token:GAIA ペアを使用して、MultiLogin へのリクエストが生成される
Source: CloudSEK

CloudSEK の研究者である Pavan Karthick と、BleepingComputer と間でのディスカッションでは、このエクスプロイトのリバース・エンジニアリングが完了し、期限切れの Google 認証クッキーの再生成が、以下のように成功したことが明かされた。

Successful cookie regeneration following password reset
パスワードリセットの後、クッキーの再生成に成功した
Source: CloudSEK

ユーザーが Google のパスワードをリセットした場合に、認証クッキーは一度だけ再生成されると、Karthick は述べている。しかし、それ以外の場合では、何度も再生成さ行われ、対象アカウントへの永続的なアクセスが提供されるという。

悪用の追加を急ぐマルウェア開発者たち

このエクスプロイトを初めて採用したのは、Lumma スティーラーである。11月14日の時点で Lumma の開発者たちは、競合する脅威アクターから仕組みを隠し、機能の複製を防ぐために、token:GAIA のペアを秘密鍵で暗号化するなどの、ブラックボックス化技術を適用した。

しかし、その努力も無駄になった、他の脅威アクターたちは、その機能をコピーし、PRISMA の脆弱性を自分たちのスティーラーに組み込むことに成功した。そして 11月17日の時点では Rhadamanthys が、クッキーの復元の提供について発表している。

それに続くかたちで、12月1日 Stealc/12月11日 Medusa/12月12日 RisePro/12月26日 Whitesnake などの情報スティーラーたちが、このエクスプロイトを採用している。つまり、現時点において、少なくとも6つの情報スティーラーが、この API エンドポイントを使用して Google クッキーを再生成する機能を提供しているということになる。

脅威インテリジェンス企業の Hudson Rock は、クッキーの復元エクスプロイトが機能する方式を証明するために、YouTube で動画を公開している。

その後の、Lumma によるリリースでは、Google の緩和策を打ち消すように、エクスプロイトが更新されている。つまり、このゼロデイ脆弱性の活発な悪用を、Google が認識していることが示唆される。

具体的に言うと、Lumma は SOCKS プロキシを使用して Google の検出対策を回避し、マルウェアと MultiLogin エンドポイント間の暗号化通信を実装している。