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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
s3-account-search — S3 アカウント検索 | Kitploit
ツール/GitHubGitHub/wearecloudar/s3-account-search
クラウドインフラストラクチャセキュリティ偵察情報収集クラウドセキュリティ
GitHubwearecloudar/s3-account-search

s3-account-search

S3 アカウント検索

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

人気

すべて見る →

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

すべてのツールを探索

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

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

S3 アカウント検索

このツールを使うと、S3バケットが属するアカウントIDを見つけることができます。

このツールを動作させるには、以下の少なくとも1つの権限が必要です:

  • バケットから既知のファイルをダウンロードする権限(s3:getObject)。
  • バケットの内容を一覧表示する権限(s3:ListBucket)。

さらに、調査対象のバケットに対して(これらの)権限のいずれかを持つ、引き受けることができるロールが必要です。

詳細な背景については、Cloudar Blogをご覧ください。

インストール

このパッケージはpypiで入手可能です。例えば、以下のコマンドのいずれかを使用できます(pipxを推奨)

root@kitploit:~
pipx install s3-account-search
pip install s3-account-search

使用例

root@kitploit:~
# バケットの場合
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket

# オブジェクトの場合
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext

# s3:// を省略することもできます
s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket

# 指定したソースプロファイルから開始する場合
s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket

動作の仕組み

IAMポリシーの条件としてs3:ResourceAccountがあります。これは特定のアカウント(群)のS3へのアクセスを許可するために使用されますが、ワイルドカードもサポートしています。適切なパターンを構築し、どれがDenyまたはAllowになるかを確認することで、アカウントIDを1桁ずつ発見して特定できます。

  1. 提供されたロールでオブジェクトまたはバケットにアクセスできることを確認します。
  2. 同じロールを再度引き受けますが、今回は0で始まるアカウントに存在するS3バケットへのアクセスを制限するポリシーを追加します。アクセスが許可されれば、アカウントIDが0で始まる必要があることがわかります。リクエストが拒否された場合は、最初の桁として1で再試行します。リクエストが許可されるまでインクリメントを続け、最初の桁を見つけます。
  3. このプロセスをすべての桁について繰り返します。すでに発見された桁をプレフィックスとして使用します。例:最初の桁が8だった場合、80、81、82などで始まるアカウントIDをテストします。

開発

このプロジェクトの管理にはpoetryを使用しています。

  1. このリポジトリをクローンします。
  2. poetry install を実行します。
  3. poetry shell で仮想環境をアクティブにします(poetry run $command を使用することもできます)。

pypiへの新しいバージョンのリリース

  1. pyproject.tomlを編集してバージョン番号を更新します。
  2. バージョン番号の変更をコミットします。
  3. poetry publish --build を実行します。
  4. GitHubにプッシュします。
  5. GitHubで新しいリリースを作成します。

考えられる改善点

  • 1桁ずつ確認する代わりに、二分探索のようなアルゴリズムを使用できます。例えば、次の条件はs3:ResourceAccount < 500000000000と同等です。
    root@kitploit:~
    "Condition": {
      "StringLike": {"s3:ResourceAccount": [
        "0*", "1*", "2*", "3*", "4*",
      ]},
    },
    
  • 同様に、各桁を並行して複数チェックすることで速度向上が可能です(このアプローチを使用すると、STSによるレート制限を受けるリスクがわずかにあります)。

実際には、このツールはほとんどの場合で十分に高速です。

ツールをダウンロード