GWS - Google Platforms Phishing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
デフォルトでは、workspaceのメンバーはグループを作成でき 、人を招待できます。その後、ユーザーに送信されるメールをリンクを追加して修正できます。メールはGoogleのアドレスから送信されるため、正当なものに見え、人々はリンクをクリックするかもしれません。
FROMアドレスをGoogleグループのメールとして設定し、グループ内のユーザーにさらにメールを送信することも可能です。以下の画像のように、グループ**google--support@googlegroups.com
が作成され、グループのすべてのメンバーにメールが送信されました**(同意なしに追加されたメンバー)。
メールアドレスを持っている人とチャットを開始するか、会話の招待を送信することができるかもしれません。さらに、任意の名前(例:"Google Support")を持つスペースを作成し、メンバーを招待することが可能です。彼らが受け入れれば、Googleサポートと話していると思うかもしれません:
私のテストでは、招待されたメンバーは招待状すら受け取らなかった。
過去にこれがどのように機能したかは、https://www.youtube.com/watch?v=KTVHLolz6cE&t=904sで確認できます。
過去には、見た目上正当な文書を作成し、コメントでいくつかのメール(例:@user@gmail.com)を言及することが可能でした。Googleは、そのメールアドレスに文書で言及されたことを通知するメールを送信しました。 現在では、これは機能しませんが、被害者に文書へのアクセスを与えると、Googleはその旨を示すメールを送信します。これが誰かを言及したときに表示されるメッセージです:
被害者は、外部文書が共有されたことを示すメールが彼らのメールに届かないようにする保護メカニズムを持っているかもしれません。
カレンダーイベントを作成し、攻撃している会社のメールアドレスをできるだけ多く追加できます。このカレンダーイベントを現在の時間から5分または15分後にスケジュールします。イベントを正当なものに見せ、何かを読む必要があることを示すコメントとタイトルを付けます(フィッシングリンク付き)。
これは、会議のタイトル「人を解雇する」という警告がブラウザに表示されるアラートです。したがって、よりフィッシングのようなタイトルを設定することができます(メールに関連付けられた名前を変更することさえできます)。
それをあまり疑わしく見せないために:
受信者が他の招待された人を見えないように設定する
イベントについての通知メールを送信しない。そうすれば、人々は5分後の会議についての警告と、そのリンクを読む必要があることだけを見ることになります。
APIを使用すると、人々がイベントを受け入れたことをTrueに設定し、彼らの代わりにコメントを作成することができるようです。
https://script.google.com/でスクリプトを作成し、誰でもアクセスできるウェブアプリケーションとして公開することが可能です。これは正当なドメイン**script.google.com
**を使用します。
次のようなコードを使用すると、攻撃者はこのページに任意のコンテンツを読み込むスクリプトを作成し、ドメインへのアクセスを停止することなく実行できます:
例えば、https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec にアクセスすると、次のようになります:
コンテンツがiframe内に読み込まれると、警告が表示されることに注意してください。
ドキュメントに添付されたApp Scriptsを作成して、被害者のOAuthトークンへのアクセスを試みることが可能です。詳細については、次を確認してください:
GWS - App Scripts前述の技術のいずれかを使用して、ユーザーにGoogle OAuthアプリケーションにアクセスさせ、ユーザーにアクセスを要求することができます。ユーザーがソースを信頼すれば、アプリケーションを信頼するかもしれません(たとえそれが高い権限の要求をしていても)。
Googleは、アプリケーションが信頼されていないことを警告する醜いプロンプトをいくつかのケースで表示し、Workspace管理者はOAuthアプリケーションの受け入れを防ぐことさえできます。
Googleは、ユーザーの代わりにさまざまなGoogleサービス(Gmail、Drive、GCPなど)と対話できるアプリケーションを作成することを許可しています。
他のユーザーの代わりに行動するアプリケーションを作成する際、開発者はGCP内にOAuthアプリを作成し、アプリがユーザーデータにアクセスするために必要なスコープ(権限)を指定する必要があります。 ユーザーがそのアプリケーションを使用したい場合、彼らはスコープで指定されたデータへのアクセスをアプリケーションが持つことを受け入れるように促されます。
これは、非技術的なユーザーをフィッシングして機密情報にアクセスするアプリケーションを使用させる非常に魅力的な方法です。彼らは結果を理解していないかもしれません。しかし、組織のアカウントでは、これを防ぐ方法があります。
前述のように、Googleは常にユーザーに対してアプリケーションに与える権限を受け入れるように促すプロンプトを表示します。しかし、アプリケーションが危険と見なされる場合、Googleは最初にそれが危険であることを示すプロンプトを表示し、ユーザーがアプリに権限を付与するのをより困難にします。
このプロンプトは、次のようなアプリで表示されます:
プライベートデータにアクセスできるスコープを使用する(Gmail、Drive、GCP、BigQueryなど)
ユーザーが100人未満のアプリ(100人以上のアプリは、未確認プロンプトを表示しないためにレビューが必要です)
こちらで、すべてのGoogle OAuthスコープのリストを見つけることができます。
cloud-platform: Google Cloud Platformサービス全体でデータを表示および管理します。GCPでユーザーを偽装できます。
admin.directory.user.readonly: 組織のGSuiteディレクトリを表示およびダウンロードします。すべてのユーザーの名前、電話番号、カレンダーURLを取得します。
OAuthクライアントIDの作成を開始します
https://console.cloud.google.com/apis/credentials/oauthclient に移動し、同意画面を設定するをクリックします。
次に、ユーザータイプが内部(組織内の人のみ)か外部かを尋ねられます。ニーズに合った方を選択してください。
内部は、すでに組織のユーザーを侵害しており、別のユーザーをフィッシングするためにこのアプリを作成している場合に興味深いかもしれません。
アプリに名前、サポートメール(匿名性を高めるためにgooglegroupメールを設定できることに注意)、ロゴ、承認されたドメイン、および更新用の別のメールを付けます。
OAuthスコープを選択します。
このページは、非機密の権限、機密の権限、および制限された権限に分かれています。新しい権限を追加するたびに、そのカテゴリに追加されます。要求された権限に応じて、ユーザーに対してこれらの権限がどれほど機密であるかを示す異なるプロンプトが表示されます。
admin.directory.user.readonly
と cloud-platform
は機密の権限です。
テストユーザーを追加します。 アプリのステータスがテスト中の間、これらのユーザーのみがアプリにアクセスできるため、フィッシングするメールを追加することを確認してください。
次に、以前に作成したOAuthクライアントIDを使用してWebアプリケーションの資格情報を取得します:
https://console.cloud.google.com/apis/credentials/oauthclient に戻ると、今回は異なるオプションが表示されます。
Webアプリケーションの資格情報を作成するを選択します。
必要なJavaScriptオリジンとリダイレクトURIを設定します。
テスト用に**http://localhost:8000/callback
**のようなものを両方に設定できます。
アプリケーションの資格情報を取得します。
最後に、OAuthアプリケーションの資格情報を使用するWebアプリケーションを実行します。例はhttps://github.com/carlospolop/gcp_oauth_phishing_exampleで見つけることができます。
http://localhost:8000
に移動し、Googleでログインボタンをクリックすると、次のようなメッセージが表示されます:
アプリケーションは、簡単に使用できるアクセストークンとリフレッシュトークンを表示します。これらのトークンの使用方法についての詳細は以下を確認してください:
GCP - Token Persistanceglcoud
の使用ウェブコンソールの代わりにgcloudを使用して何かを行うことが可能です。以下を確認してください:
GCP - ClientAuthConfig Priveschttps://www.youtube-nocookie.com/embed/6AsVUS79gLw - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
https://www.youtube.com/watch?v=KTVHLolz6cE - Mike Felch and Beau Bullock - OK Google, How do I Red Team GSuite?
AWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、練習する:HackTricks Training GCP Red Team Expert (GRTE)