コンテンツにスキップするには Enter キーを押してください

Googleのバグにより、任意のユーザーの電話番号をブルートフォース攻撃で取得可能に

キーボードに貼られた青い付箋に「My password 123456」と書かれている

出典: Designer 491 via Alamy Stock Photo

Googleは、アカウント詳細を回復するページにおけるセキュリティ脆弱性を修正しました。この脆弱性により、誰でもページにアクセスして任意のユーザーのプライベートな電話番号をブルートフォース攻撃することが可能でした。この欠陥は、Googleユーザーをフィッシングやその他の攻撃のリスクにさらす重大な危険をもたらしました。

オンライン名「Brutecat」で知られるセキュリティ研究者は、JavaScriptなしでパスワードを回復するページがどのように機能するかを自身のウェブサイトで詳述しました。これは、悪意のあるボット、自動攻撃、クローラー、スクレーパーからウェブサイトとウェブアプリケーションを保護するためのクラウドベースのサイバーセキュリティ提供であるBotGuardからの保護も欠いていることを意味していました。

「このことに驚きました。というのも、これらのアカウント回復フォームは2018年以来JavaScriptを必要とすると思っていたからです。これらは、濃縮された証明作業JavaScriptコードから生成されたBotGuardソリューションに依存していたため、乱用防止のために」Brutecatは発見を詳述した投稿で書いています。

BotGuardはJavaScriptなしのウェブサイトでは機能しません。なぜなら、その多くの高度な検出技術は、訪問者のブラウザでJavaScriptを実行してクライアントサイドデータを収集することに依存しているからです、とMalwarebytesの研究者Pieter Arntzは欠陥を分析した投稿で説明しました。

「ウェブサイトがJavaScriptを提供しない場合、またはユーザーやボットがJavaScriptを無効にした場合、BotGuardはフィンガープリンティングや行動分析に必要な情報を収集できません」と彼は書いています。

関連:MiraiボットネットがWazuhセキュリティプラットフォームの脆弱性を悪用

BrutecatはGoogleにこの欠陥を報告し、その後修正されました。研究者はこの発見に対してGoogleのバグ報奨金プログラムを通じて5,000ドルを授与されました。

Googleのブルートフォース欠陥がどのように機能したか

パスワード回復ページでBotGuardが機能していなかったため、Brutecatは特定の表示名に関連付けられた回復用メールまたは電話番号があるかどうかを確認するために2つのHTTP POSTリクエストを作成することができました。最初のリクエストは、次のHTTPリクエストで使用できる回復用電話番号に関連付けられた「ess」値を提供しました。

2番目のリクエストでは、その電話番号と表示名でGoogleアカウントが存在するかどうかを確認でき、アカウントが見つかったという応答が返ってきました。研究者はその後、回復ページで電話番号を使用してアカウントにブルートフォースで侵入しようとしましたが、IPアドレスのレート制限と数回のリクエスト後にCAPTCHAが表示されるため、失敗しました。

その後、研究者はプロキシとIPv6を使用し、リクエストごとに使用するIPアドレスを回転させてレート制限を回避することを思いつき、概念実証(PoC)を開発しました。しかし、常にCAPTCHAがブルートフォース攻撃の障害となりました。

関連:Stealth Falcon APTが中東でMicrosoft RCEゼロデイを悪用

最終的に、Brutecatはjs_disabledをJavaScript対応のパスワードリクエストフォームからのBotGuardトークンに置き換えることで障害を回避する方法を開発しました。「BotguardトークンはNo-JSフォームでリクエスト制限がないように見えました」とBrutecatは説明しました。

最終調整が成功につながった

これによりPoC作業の道が開かれましたが、研究者は被害者の電話番号の国コードを見つけたり、被害者のGoogleアカウントの表示名を発見したりするなどの問題に対処するためにいくつかの調整を行う必要がありました。

「Brutecatはまた、回転するIPアドレスと時折のCAPTCHAを回避するトリックを使用し、毎秒40,000件のリクエストを管理することができました」とArtnzはMalwarebytesの投稿で説明しました。「その速度で、攻撃者が電話番号の国コードを知っていれば、米国では回復用電話番号を見つけるのに約20分、英国では電話番号が短いため4分で済むでしょう。」

アカウントの完全な表示名を取得するために、BrutecatはLooker Studio(旧Google Data Studio)の機能を悪用してGoogleアカウントの表示名を漏洩させる方法を発見しました。研究者はGoogleのLooker Studioツールでレポート/ドキュメントを作成し、そのドキュメントの所有者を被害者のGoogleアカウントに変更し、被害者のメールアドレスを使用しました。

関連:United Natural Foodの運営がサイバーセキュリティインシデントを乗り越える

「所有権を移転した後、被害者がドキュメントを開いたり、操作したり、知っていたりしなくても、被害者のフルネームがLooker Studioのホームページの「最近のドキュメント」リストに自動的に表示されました」とArtnzは説明しました。「この鍵は、Looker Studioのインターフェースが、他のGoogleサービスとは異なり、被害者からの事前の操作を必要とせずに、ドキュメント転送のために名前を表示し続けたことにあります。」

緩和策と潜在的影響

Brutecatは4月14日にGoogleにこの欠陥について報告し、すぐに対応を受け、Googleは4月25日までにそれが良い発見であり、欠陥が実際に存在することを認めました。6月6日までに、欠陥は完全に緩和されました。Googleは、Brutecatによると、No-JSユーザー名回復フォームを世界中のエンドポイントに完全に廃止することで欠陥を修正しました。

「私たちは常に、脆弱性報奨プログラムを通じてセキュリティ研究コミュニティと協力することの重要性を強調してきました。この問題を指摘してくれた研究者に感謝したいと思います」とGoogleはメールでの声明で述べました。「研究者からの提出物は、ユーザーの安全のために問題を迅速に発見し修正するための多くの方法の一つです。」

現時点では、この欠陥が悪用されたことはないと会社は考えています。しかし、Malwarebytesによると、Googleのパスワード回復フォームにおけるこのような弱点は、もし悪用されていた場合、ユーザーに対して様々なフィッシングやその他の攻撃の脅威をもたらしていたでしょう。実際、誰かの個人番号やその他のプライベートな詳細を持つことは、電話で始まる社会工学的なビッシング攻撃に特に役立ちます。

「このようにして攻撃者が電話番号をGoogleアカウントに追跡できるようにすることは、フィッシングやSIMスワッピング攻撃の大きなリスクを生み出します。特に、ユーザーの大多数がアカウント回復番号として主要な電話番号を持っているためです」とArtnzは書いています。

翻訳元: https://www.darkreading.com/vulnerabilities-threats/google-bug-brute-forcing-phone-number

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です