PR 本記事には広告(Amazonアソシエイト・もしもアフィリエイト・A8.net等)が含まれます。掲載情報の正確性には努めていますが、商品の詳細は必ずリンク先で最新情報をご確認ください。

【クラウド資産偵察編】S3・ECR・メタデータの覗き穴|CTF思考フレームワーク R09

【クラウド資産偵察編】S3・ECR・メタデータの覗き穴|CTF思考フレームワーク R09 アイキャッチ画像
安全に生きたい編集部

クラウド資産の偵察って、S3バケットを覗くやつ?☁️

それも一部。S3・GCS・Azure Blob の公開バケット、Docker Hub の社内イメージ、Kubernetes etcd の露出、AWS メタデータエンドポイント――クラウド固有の偵察対象は無数にあります。Capital One事件もここから始まりました。

クラウド資産偵察は、AWS・GCP・Azure の設定ミスを狙う偵察。S3 公開バケット(s3-buckets-list・bucketstream)、Docker Hub の社内イメージ、Kubernetes 公開エンドポイント、ECR/GCR の認証情報――クラウド固有の落とし穴は、新しいツールとともに次々発見されます。

広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・在庫・キャンペーン内容はリンク先で最新情報を確認してください。

S3バケットが公開されてる事件、ニュースでよく見るな…

この記事は、CTF思考フレームワーク Recon編 R09。クラウド資産偵察(S3 公開バケット・Docker Hub・Kubernetes endpoints・ECR/GCR)と、自社クラウド設定の点検手順、CSPM ツールの活用を整理します。

クラウド時代の偵察は「IPとドメイン」だけでは終わりません。S3バケット、ECRイメージ、IAMロール、Cloud Storage、Container Registry…クラウドプロバイダ固有の覗き穴があり、設定ミスひとつで全社データが世界中に公開されます☁️

クラウドの「初期設定の甘さ」と「権限管理の難しさ」が、攻撃者にとっての主戦場になっています。

この記事で出てくる言葉

先に意味を押さえておくと読みやすい用語です。

  • CTF: セキュリティの練習問題を解く競技。必ず許可された環境だけで試します。
  • コンテナ: アプリを隔離された軽い実行環境で動かす仕組みです。
この記事の難易度

難易度:★★☆(中級) / この枝ルートの記事は、必要な回だけ選んで読めます。

👀 観察フェーズ:まず何を見る?

クラウドリソースは命名規則が漏れやすい。組織名+環境+用途のパターンで総当たりが効きます。

🤔 仮説フェーズ:攻撃者は何を考える?

攻撃者はまず「この組織はどのクラウドを主に使っているか」を仮説立てします。WHOIS の NS レコードや MX レコードが AWS Route53・GCP・Microsoft 365 を指していれば、対応する S3/GCS/Azure Blob を探しに行く動機が生まれます。次に立てるのは命名規則の仮説で、`{org}-prod-logs`・`{org}-backup-2024`・`{org}-terraform-state` のような既知パターンを辞書化してバケット列挙をかけます。さらに「IaC を Git で管理している組織なら、tfstate や docker-compose.yml が GitHub に紛れ込んでいるはず」「EC2 のメタデータエンドポイントが SSRF 経由で叩けるのでは」といった、クラウド固有の構造的弱点を順番に検証していきます。

クラウドは「設定の集大成」。設定ミス1つで世界中からアクセスされる怖さがあります。

🔬 検証フェーズ:どうやって確かめる?

検証は静的なヒント集めから入ります。まず cloud_enum で対象組織名・略称・買収先名を投入し、S3・GCS・Azure Blob の存在有無を一気に確認します。次に GitHub Code Search や grep.app で `{org}` と `AKIA`・`amazonaws.com`・`gcr.io/{org}` を組み合わせ、漏えい済みのアクセスキーやプライベートレジストリ参照を探します。発見した S3 バケットは `aws s3 ls –no-sign-request` で匿名アクセスを試し、ECR・GCR のイメージは pull できれば dive や trivy でレイヤを掘り、ENV や ARG に残った認証情報を抽出します。最後に、対象 Web アプリから `169.254.169.254` へ SSRF が刺さるかを確認すれば、IMDSv1 経由で IAM ロールの一時クレデンシャルが取れるかが見えてきます。

⚔️ 攻撃フェーズ:実際の手口

実戦の典型は Capital One 事件型の連鎖です。攻撃者はまず WAF 配下の Web アプリで SSRF を見つけ、`http://169.254.169.254/latest/meta-data/iam/security-credentials/` から EC2 にアタッチされた IAM ロールの一時クレデンシャルを奪取します。続いてその鍵で `aws s3 ls` を打ち、機微情報を含む S3 バケットを一覧化し、`s3 sync` で丸ごとダンプ。並行して GitHub に漏れていた tfstate から RDS のエンドポイントとパスワードを取得し、VPC ピアリング越しに内部サービスへ横展開します。CTF の Cloud カテゴリでも、SSRF → IMDS → S3 → tfstate → DB という同じ流れが頻出し、設定ミスがどう連鎖して全社侵害になるかを追体験できます。

CTF{cloud_misconfigurations_are_the_modern_open_share}

クラウドは「権限のデフォルト設定」と「公開範囲の理解」が肝。1チェックボックスで全公開になります。

🛡️ 防御フェーズ:どう守る?

守備側の出発点は Block Public Access をアカウント単位で強制し、新規 S3 バケットが公開設定で作れない状態にすることです。次に Prowler や ScoutSuite を月次で回し、IAM の `*:*` ポリシーや公開バケット、IMDSv1 のまま残っている EC2 を洗い出します。IaC 段階では Checkov や tfsec を CI に組み込み、`acl = public-read` や `metadata_options.http_tokens != required` を PR でブロックします。さらに GuardDuty・Security Hub・CloudTrail のログを SIEM に集約し、`GetCallerIdentity` の異常呼び出しや短命クレデンシャルの広域使用を検知できるようにしておくと、偵察段階で兆候を掴めます。

🧪 自分で検証ラボを作る

Reconコマンドを安全に試すには、自分専用の検証ラボが一番。🏗️ ConoHa VPSなら月額数百円からLinux環境を立てられ、nmapやgobusterなどのツールを「自分のサーバ」に打ち込んで安全に試せます。

PR / 広告

ConoHa VPS

※ 上記は他社サービスへのリンクです。購入は各自でご判断ください。

⚠️ よくある落とし穴

クラウド資産で起きるミスは、技術というより「思い込み」に根があります。バケット名が長いランダム文字列だから安全と思っても、cloud_enum は数万通りの辞書を秒で叩くので意味がありません。tfstate を Git に push してしまう事故、Dockerfile の ARG にシークレットを渡してイメージ履歴に永久保存してしまう事故、IMDSv1 が無効化されないまま放置される事故は、いずれも「設定したつもり」で止まっているのが共通点です。さらに、子会社や買収先のアカウントが本体の CSPM スコープから抜けて、攻撃者の踏み台になるパターンも頻発します。

  1. 「Bucket名はランダムだから推測されない」と過信(クラウド列挙ツールで簡単に発見)。
  2. tfstateファイルをGit管理して、sensitive変数を平文公開。
  3. Dockerイメージビルド時に環境変数を ARG で渡し、history に残す。
  4. EC2のメタデータをIMDSv1のままにして、SSRFで一発奪取される。
  5. 社員個人のAWSアカウントで本番資料を扱い、組織管理外でリスク蓄積。
  6. クロスアカウントRoleを「便利だから」と広範に許可し、攻撃者の踏み台になる。

🧰 ツール早見表

クラウド偵察で押さえておきたいのは、列挙系・監査系・解析系の三層です。列挙系では cloud_enum と s3-buckets-list がパブリックバケット発見の入口になります。監査系では ScoutSuite・Prowler が AWS/GCP/Azure 横断で CIS ベンチマークをチェックでき、自社の現状把握に最適です。IaC は Checkov と tfsec を PR フックに、コンテナは dive で履歴を、trivy で CVE を見ます。攻撃模擬の Pacu は学習価値が高い反面、本番環境への投入は厳禁で、必ず分離された検証アカウントで動かすのが鉄則です。

ツール用途ひと言
cloud_enumS3/Azure/GCP横断列挙偵察の入口
ScoutSuite / ProwlerCSPMスキャナ(OSS)設定ミス検出の定番
Checkov / tfsecIaC静的解析PR時に必須
dive / trivyコンテナ解析レイヤと脆弱性両方見れる
PacuAWS攻撃模擬防御訓練用、実環境で実行注意

🎓 本気で学びたい人へ

Recon・OSINTを絵空事だけで終わらせず、セキュリティエンジニアをキャリアとして目指したい方に。🎓 ササエルは現場で使えるスキルを体系的に学べるスクールです。

PR / 広告

ササエル

📚 もっと深く学びたい人へ

体系的に攻撃と防御の両面を学びたいなら『ホワイトハッカー入門 第2版』が分かりやすい入口です📚

📚 次に読みたい

✍️ 学んだことを発信する

セキュリティブログを自分で始めたい方へ。🌐 ConoHa WINGなら初期費用無料でWordPressを起こせ、学んだことをアウトプットしていけます。

PR / 広告

ConoHa WING

⚖️ 大事なお約束

記事URLをコピーしました