GWS - Google Platforms Phishing
AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングの学習と練習:
HackTricks Training GCP Red Team Expert (GRTE)
一般的なフィッシング手法
Google Groups フィッシング
見たところ、デフォルトでは、ワークスペースのメンバーはグループを作成 し、人々を招待することができます。その後、ユーザーに送信されるメールを変更して、いくつかのリンクを追加できます。メールはGoogleアドレスから送信されるため、正規に見え、人々はリンクをクリックするかもしれません。
また、FROMアドレスをGoogleグループのメールアドレスとして設定して、グループのメンバー全員にメールを送信することも可能です。次の画像のように、グループ**google--support@googlegroups.com
**が作成され、グループのメンバー全員にメールが送信されました(同意なしに追加されたメンバー)。
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-bf87460b343690fef9d63e847f2f42fb2e561c0e%252Fimage%2520%285%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5af6ce13&sv=1)
Google Chat フィッシング
電子メールアドレスを持っている人とチャットを開始するか、トークの招待を送信することができるかもしれません。さらに、任意の名前(例:「Googleサポート」)を持つスペースを作成し、メンバーを招待することが可能です。彼らが承諾すれば、Googleサポートと話していると思うかもしれません。
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-ffcaa54f4027ca7faf14ed606b973f0e80336bee%252Fimage%2520%286%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=84f55d23&sv=1)
ただし、私のテストでは招待されたメンバーは招待状を受け取らなかった。
これが過去にどのように機能したかを確認できます:https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
Google Doc フィッシング
過去には、見かけ上正当なドキュメントを作成し、コメントで**@user@gmail.com**のような電子メールを言及することが可能でした。Googleはその電子メールアドレスにメールを送信して、そのドキュメントで言及されたことを通知しました。 現在はこれは機能しませんが、被害者にドキュメントへのアクセス権を与えると、Googleはそのことを通知するメールを送信します。これは、誰かを言及するときに表示されるメッセージです:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-181e9b5e8a87846c85b40473f4bc95a4e2fc5876%252Fimage%2520%287%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f5afa951&sv=1)
被害者は、外部ドキュメントが共有されたことを示すメールが届かないようにする保護メカニズムを持っているかもしれません。
Google Calendar フィッシング
企業の電子メールアドレスを持っているだけで、カレンダーイベントを作成し、現在の時間から5分または15分後にそのカレンダーイベントをスケジュールすることができます。イベントを正規に見せ、コメントとタイトルを追加して、何かを読む必要があることを示す(フィッシングリンクを含む)。
これは、ブラウザに表示される「人員削減」という会議タイトルのアラートです。したがって、よりフィッシングらしいタイトルを設定できます(電子メールに関連付けられた名前を変更することさえできます)。
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-89120cf88c4e56b1bfa760e922e30c72044c727f%252Fimage%2520%288%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8adec87c&sv=1)
疑わしいと思われないようにするためには:
受信者が招待された他の招待状を見ることができないように設定してください
イベントに関してメール通知を送信しないようにしてください。そのため、人々は5分後の会議についての警告と、そのリンクを読む必要があることだけを見ることになります。
APIを使用して、人々がイベントを受け入れたことをTrueに設定し、彼らの代わりにコメントを作成することさえできるようです。
App Scripts リダイレクトフィッシング
https://script.google.com/でスクリプトを作成し、誰でもアクセスできるWebアプリケーションとして公開し、**script.google.com
**の正規ドメインを使用することが可能です。
次のようなコードを使用すると、攻撃者はこのページで任意のコンテンツを読み込むスクリプトを作成できます。
たとえば、https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec にアクセスすると、次のようになります:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-e363ea97e9916b17afafabc46676a445e81832bd%252Fimage%2520%284%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=51df9c05&sv=1)
コンテンツがiframe内に読み込まれるため、警告が表示されることに注意してください。
アプリスクリプトOAuthフィッシング
被害者のOAuthトークンにアクセスしようとするために、文書にアタッチされたアプリスクリプトを作成することが可能です。詳細については、次を確認してください:
GWS - App ScriptsOAuthアプリケーションフィッシング
前述のいずれかのテクニックを使用して、ユーザーにGoogle OAuthアプリケーションにアクセスさせ、ユーザーにいくつかのアクセスを要求することができます。ユーザーがソースを信頼すると、そのアプリケーションを信頼するかもしれません(たとえ高い権限が求められていても)。
Googleは、アプリケーションが信頼されていないことを警告する不格好なプロンプトを表示し、ワークスペース管理者は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アプリを作成する
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 ボタンをクリックしてください。次のようなメッセージが表示されます:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-1dc59dd7d9cecb3b8364b3075c3ba567aeec5b29%252Fimage%2520%28333%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8a3e2d04&sv=1)
アプリケーションは簡単に使用できる アクセスとリフレッシュトークン を表示します。これらのトークンの使用方法についての詳細は次を確認してください:
GCP - Non-svc Persistanceglcoud
を使用する
glcoud
を使用するWeb コンソールの代わりに gcloud を使用して何かを行うことが可能です。次を確認してください:
GCP - ClientAuthConfig Privesc参考文献
https://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)
Last updated