クラウドの攻撃対象領域
AWS、Azure、GCP
「クラウドの攻撃対象領域」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
クラウドの攻撃対象領域とは
クラウドの攻撃対象領域とは、攻撃者がクラウド環境への侵入や、そこからのデータ抽出を試みられるすべての箇所を指します。オンプレミスのネットワークとは異なり、クラウドの攻撃対象領域は物理的な境界ではなく、主に設定とアイデンティティによって決まります。
- インターネットに公開されたAPIと管理コンソール
- アイデンティティとアクセス管理(IAM)
- ストレージバケット、データベース、サーバーレス関数
- ネットワークへの露出(セキュリティグループ、ロードバランサー)
1つの設定ミスで、アカウント全体が公開される可能性があります。
三大クラウド:AWS、Azure、GCP
クラウドペネトレーションテストの多くは、3大プロバイダーのいずれかを対象にします。それぞれに独自のアイデンティティモデルと用語がありますが、攻撃パターンには共通点があります。
- AWS — IAMユーザー/ロール、S3、EC2、Lambda
- Azure — Entra ID(Azure AD)、Blob Storage、VM、Functions
- GCP — IAMサービスアカウント、Cloud Storage、Compute Engine
1つを深く学ぶと、他の2つも理解しやすくなります。中核概念(アイデンティティ、コンピュート、ストレージ、ネットワーク)がすべて共通しているためです。
共有責任モデル
クラウドプロバイダーはインフラストラクチャを保護し、顧客はその中に配置するものを保護します。これが共有責任モデルであり、クラウド侵害のほとんどは顧客側で発生します。
- プロバイダー:物理データセンター、ハイパーバイザー、マネージドサービスのパッチ適用
- 顧客:IAMポリシー、データ、OSのパッチ適用(IaaS)、ネットワーク設定
ペネトレーションテスターは顧客の責任範囲に注目します。悪用可能なミスはそこに存在するためです。
クラウドアイデンティティの列挙
クラウド評価の最初の作業は、自分が誰であるか、そして手元の認証情報で何ができるかを把握することです。AWS CLIを使えば、呼び出し元のアイデンティティをすぐに確認できます。
キーに過剰な権限が付与されている場合、この1つのアイデンティティを足掛かりにアカウント全体へ横展開できる可能性があります。
# Confirm which AWS identity a credential belongs to
aws sts get-caller-identity
# Example output
# {
# "UserId": "AIDA...",
# "Account": "123456789012",
# "Arn": "arn:aws:iam::123456789012:user/devuser"
# }公開領域とプライベート領域
クラウドリソースには、インターネットから公開アクセスできるものと、仮想ネットワーク内部からのみアクセスできるものがあります。公開設定の誤りは、最も一般的な指摘事項の1つです。
- セキュリティグループ/NSGが
0.0.0.0/0に対して開放されている - ストレージバケットがパブリック読み取りに設定されている
- データベースでパブリックエンドポイントが有効になっている
- 管理ポート(22、3389、5432)が公開されている
どのリソースが公開されているかを把握することが、クラウド偵察の基礎です。
外部からのリソース発見
認証情報がなくても、攻撃者は対象のクラウドフットプリントを列挙します。予測しやすい命名規則やDNSから、驚くほど多くの情報が漏えいします。
ツールは、企業名や一般的なパターンに基づいてバケット名やストレージ名を総当たりします。
# Resolve a cloud-hosted hostname to map provider/region
nslookup assets.example.com
# Probe a guessed S3 bucket name
curl -s -o /dev/null -w '%{http_code}\n' https://example-backups.s3.amazonaws.com/管理プレーンとデータプレーン
すべてのクラウドアカウントには、明確に異なる2つの攻撃層があります。
- 管理/コントロールプレーン — リソースを作成、変更、削除するAPI(例:
iam:CreateUser、ec2:RunInstances) - データプレーン — リソース内のデータへのアクセス(S3オブジェクトの読み取り、DBへのクエリなど)
管理プレーンを侵害されると、通常はゲームオーバーです。攻撃者が望むデータプレーンへのアクセス権を、自分自身に付与できるためです。
ログ記録と検知対象
クラウド上のアクションは一元的にログに記録されます。ペネトレーションテスターとして、これらが存在することを把握しておく必要があります。防御側が監視しているためであり、無効化されていること自体も検出事項になります。
- AWS CloudTrail — すべてのAPI呼び出しを記録します
- Azure Activity Log / Monitor
- GCP Cloud Audit Logs
ログ記録が無効になっている、または監視されていないアカウントは、悪用する前の段階でも高リスクの検出事項です。
# Check whether CloudTrail logging is active
aws cloudtrail describe-trails
aws cloudtrail get-trail-status --name my-trailクラウドへの一般的な侵入口
クラウドの侵害の多くは、いくつかの限られた足掛かりから始まります。
- Gitリポジトリ、CIログ、モバイルアプリに漏えいしたアクセスキー
- 侵害されたサーバーに割り当てられた、過剰に許可されたIAMロール
- インスタンスメタデータサービスに到達するSSRF
- 秘密情報やバックアップを公開しているパブリックストレージバケット
こうしたパターンを認識できれば、最初に調査すべき場所の優先順位を付けられます。
体系的なアタックサーフェスのマッピング
体系的なアプローチにより、クラウド評価を漏れなく実施できます。認証情報を取得すると、自動化ツールでアカウント全体を列挙できます。
ScoutSuiteやProwlerなどのツールは、サービス全体の設定を監査し、リスクを自動的に検出します。
# Audit an AWS account for misconfigurations (read-only)
prowler aws
# Multi-cloud configuration review
scout awsまずスコープと認可を確認
クラウドテストは、契約で認可された範囲内に収める必要があります。プロバイダーにも実施ルールがあります。
- 対象となるアカウント、サブスクリプション、プロジェクトを正確に確認します
- 他のテナントや共有インフラに影響するアクションは避けます
- 明示的な書面による承認なしに、DoS攻撃に類するテストを実行してはいけません
無許可のクラウドテストは、プロバイダーの規約や現地法に違反する可能性があります。
クイックチェック
共有責任モデルでは、IAMポリシーとデータ設定の責任はどちらにありますか?
まとめ:クラウドのアタックサーフェス
クラウドのアタックサーフェスを定義する要素と、従来のネットワークとの違いについて学びました。
- アタックサーフェスは物理的な境界ではなく、アイデンティティと設定によって形成されます
- AWS、Azure、GCPには、アイデンティティ、コンピュート、ストレージ、ネットワークという共通の基本概念があります
- 共有責任モデルでは、設定とデータは顧客の責任です
- 管理プレーンとデータプレーンを区別します
- テストの前に、必ずスコープと認可を確認します
次は、クラウド攻撃の中心であるIAMの設定ミスについて詳しく見ていきます。
よくある質問
「クラウドの攻撃対象領域」レッスンは無料ですか?
はい。「クラウドの攻撃対象領域」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「クラウドの攻撃対象領域」で何を学びますか?
AWS、Azure、GCP ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「クラウドの攻撃対象領域」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラウドの攻撃対象領域
- IAMの設定ミス
- S3とストレージの露出
- メタデータとSSRF