Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
GCPBucketBrute — Google Storage バケットを列挙し、それらに対するアクセス権を特定し、特権昇格が可能かどうかを判断するスクリプト。 | Kitploit
ツール/GitHubGitHub/rhinosecuritylabs/gcpbucketbrute
特権昇格偵察脆弱性分析情報収集クラウドセキュリティ
GitHubrhinosecuritylabs/gcpbucketbrute

GCPBucketBrute

Google Storage バケットを列挙し、それらに対するアクセス権を特定し、特権昇格が可能かどうかを判断するスクリプト。

リポジトリを見る
571903年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GCPBucketBrute

Google Storageバケットを列挙し、それらに対するアクセス権を特定し、権限昇格が可能かどうかを判断するスクリプトです。

  • このスクリプトは(オプションで)GCPユーザー/サービスアカウントの認証情報とキーワードを受け取ります。
  • そのキーワードから生成された順列のリストを使用して、それらの名前を持つGoogle Storageバケットの存在をスキャンします。
  • 認証情報が提供された場合、列挙の大部分は非認証で実行されますが、非認証列挙で発見されたバケットについては、提供された認証情報を使用してTestIamPermissions APIでバケット権限を列挙しようとします。これにより、非認証時にはアクセスできないが、認証時にはアクセス可能なバケットを見つけることができます。
  • 認証情報が提供されているかどうかに関わらず、スクリプトは非認証でTestIamPermissions APIを使用してバケット権限を列挙しようとします。つまり、認証情報を入力しない場合は、非認証ユーザーが持つ権限のみが表示されますが、認証情報を入力した場合は、認証ユーザーが非認証ユーザーと比較してどのようなアクセス権を持つかが表示されます。
  • 警告: 認証情報が提供された場合、発見したバケットのアクセスログにユーザー名が記録される可能性があります。

TL;DR サマリー

  • キーワードを指定して、そのキーワードから生成された複数の順列に基づいてGoogle Storageバケットを列挙します。
  • その後、発見されたバケットが出力されます。
  • 次に、発見されたバケットに対して(もしあれば)付与されている権限が出力されます。
  • その後、スクリプトはそれらの権限で権限昇格(storage.buckets.setIamPolicy)が可能かどうかをチェックし、興味深い内容(公開リスト可能、公開書き込み可能、認証済みリスト可能、権限昇格など)があれば出力します。

必要条件

  • Linux/OS X
    • Windowsは非認証スキャンのみ動作します。スクリプトがsubprocessモジュールを使用する際に、認証済みGoogleクライアントを使用すると正常に動作しない問題があります。
  • Python3
  • Pip3

インストール

  1. git clone https://github.com/RhinoSecurityLabs/GCPBucketBrute.git
  2. cd GCPBucketBrute/
  3. pip3 install -r requirements.txt または python3 -m pip install -r requirements.txt

使用方法

まず、ユーザーアカウント、サービスアカウント、または非認証のいずれの認証方式で列挙を行うかを決定します。サービスアカウントを使用する場合は、-f/--service-account-credential-file-path 引数で秘密鍵のファイルパスを指定します。ユーザーアカウントを使用する場合は認証引数を指定せず、GCP APIにアクセスするためのユーザーアカウントのアクセストークンを入力するよう求められます。完全に非認証でスキャンする場合は、-u/--unauthenticated 引数を使用して認証プロンプトを非表示にします。

  • 完全に非認証でキーワード "test" を使用してバケットをスキャン:
root@kitploit:~
python3 gcpbucketbrute.py -k test -u
  • サービスアカウント(秘密鍵は ../sa-priv-key.pem)で認証し、キーワード "test" を使用してバケットをスキャン、結果をカレントディレクトリの out.txt に出力:
root@kitploit:~
python3 gcpbucketbrute.py -k test -f ../sa-priv-key.pem -o ./out.txt
  • ユーザーアカウントアクセストークンを使用し、キーワード "test" でバケットをスキャン、サブプロセス数を10(デフォルトは5)に設定:
root@kitploit:~
python3 gcpbucketbrute.py -k test -s 10

利用可能な引数

  • -k/--keyword
    • この引数は、順列生成に使用するキーワードを指定します。生成された順列がGoogle Storage内で検索されます。
  • --check
    • この引数は -k/--keyword と相互排他的で、単一の文字列を受け取ります。キーワードに基づく順列リストを生成する代わりに、特定のバケットに対する権限を確認できます。複数回指定して複数のバケットをチェックすることも可能です。クレジット: @BBerastegui
  • --check-list
    • この引数は -k/--keyword および --check と相互排他的です。ファイル内のバケットリストの権限を確認できます。バケットはテキストファイルに1行につき1つずつ記述します。標準入力から読み込む場合は、ファイル名として - を指定します。
  • -s/--subprocesses
    • この引数はバケット列挙に使用するサブプロセス数を指定します。デフォルトは5で、値を大きくすると列挙が高速になりますが、Googleへのリクエスト数が増加します。実質的にはスレッドのようなものですが、スクリプトでは並列実行にスレッドではなくサブプロセスを使用しています。
  • /
ツールをダウンロード
-f
--service-account-credential-file-path
  • この引数は、Google Storageへの認証に使用するGCPサービスアカウントの秘密鍵ファイルのパスを指定します。これはオプションです。代わりにアクセストークンを使用する場合は、この引数を省略するとトークンの入力を求められます。これにより、コマンドライン履歴にトークンが保存されません。詳細はこちら: https://google-auth.readthedocs.io/en/latest/user-guide.html#service-account-private-key-files および https://google-auth.readthedocs.io/en/latest/user-guide.html#user-credentials
  • -u/--unauthenticated
    • この引数は非認証列挙を強制します。このフラグを指定すると、認証情報の入力を求められず、発見されたバケットに対して認証済み権限のチェックは行われません。
  • -o/--out-file
    • この引数は結果を出力するログファイルの(相対または絶対)パスを指定します。ファイルが存在しない場合は作成され、存在する場合は追記されます。
  • -w/--wordlist
    • この引数は入力ワードリストファイルを指定します。