0Pricing
Cyber Security Academy · レッスン

クラウドリソースの列挙

設定ミスを発見します。

「クラウドリソースの列挙」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

クラウド列挙の目的

列挙によって、1 つの認証情報や匿名の足がかりから、環境全体のマップを作成できます。自分がどの ID を持ち、何を実行でき、どのリソースが存在するのかを把握することが目的です。

  • プリンシパルを特定します(自分は誰か)。
  • リソースを一覧化します(何が存在するか)。
  • 権限と信頼関係の経路を見つけます(何に到達できるか)。

自分の ID を特定する

まず、現在アクティブなプリンシパルを必ず確認してください。これにより、アカウント、ID の種類、次に調べるべき場所が分かります。

# AWS
aws sts get-caller-identity

# Azure
az account show

# GCP
gcloud auth list
gcloud config list

未認証状態での探索

認証情報を手に入れる前に、外部からの列挙によって公開された資産を見つけます。

  • 予測しやすいバケット名やストレージ名を総当たりで調べます。
  • Certificate Transparency と DNS を使って、公開エンドポイントを列挙します。
  • 公開されたスナップショット、AMI、コンテナレジストリを確認します。
# Discover and probe buckets by org keyword
cloud_enum -k targetcorp

# Check a storage account for anonymous access (Azure)
curl https://targetcorp.blob.core.windows.net/?comp=list

権限の列挙

プリンシパルが実行できる操作を正確に把握することが、エンゲージメント全体の方針を決めます。プロバイダーによっては自分のポリシーを読み取れます。そうでなければ、無害な呼び出しを試して権限を総当たりで確認します。

# AWS: list attached policies for your user
aws iam list-attached-user-policies --user-name me

# Brute-force allowed actions without side effects
enumerate-iam --access-key AKIA... --secret-key ...

ネイティブツールによるリソース一覧化

プロバイダーの CLI と集約ビューを使うと、リソースをすばやく列挙できます。

  • AWS Resource Groups Tagging API または describe-* 呼び出し
  • サブスクリプション全体を対象にした Azure Resource Graph クエリ
  • GCP のアセットインベントリ
# AWS: enumerate EC2 instances
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name]'

# Azure Resource Graph
az graph query -q 'Resources | project name, type, location'

自動監査ツール

専用ツールを使うと、アカウント全体の設定ミスを効率よく発見できます。

  • ScoutSuite は、複数サービスを対象にした HTML 形式のリスクレポートを生成します。
  • Prowler は、CIS ベンチマークのチェックを数百件実行します。
  • CloudMapper / Cartography は、関係をグラフ化します。
# ScoutSuite
scout aws

# Prowler CIS checks
prowler aws --compliance cis_2.0_aws

IAM 関係のマッピング

列挙で得られる最も価値の高い出力は IAM グラフです。つまり、誰がどのロールを引き受けられ、どのポリシーが権限昇格を可能にするかを示すものです。グラフツールを使うと、平面的なポリシーレビューでは見落とす経路が明らかになります。

# PMapper: build and query the IAM authorization graph
pmapper graph create
pmapper query 'who can do iam:PutUserPolicy with *'

ストレージとデータの列挙

ストレージを一覧化できるようになったら、シークレットや PII を探すために内容を列挙します。

  • バケットやコンテナを一覧化し、続けてオブジェクトを列挙します。
  • バックアップ、.env ファイル、Terraform の state、データベースダンプを探します。
  • Terraform の state には、平文のシークレットが含まれていることがよくあります。
# Recursively list and pull interesting objects
aws s3 ls s3://target-bucket --recursive
aws s3 sync s3://target-bucket ./loot --exclude '*' --include '*.tfstate'

ネットワークとコンピュートの列挙

ピボットポイントを見つけるために、ネットワークと稼働中のワークロードをマッピングします。

  • Security Groups や NSGs から、公開されているポートが分かります。
  • 稼働中のインスタンスとそのロールは、横展開の標的になります。
  • マネージドデータベースとそのアクセスルールから、データストアの場所が分かります。
# Find security groups open to the internet
aws ec2 describe-security-groups \
  --filters Name=ip-permission.cidr,Values=0.0.0.0/0

静かに規約を守って進める

列挙によって、コントロールプレーンのログエントリが生成されます。ノイズを減らし、倫理的に進めるために、次の点を守ってください。

  • 読み取り専用の describe、list、get 呼び出しを優先します。
  • レート制限のアラートを避けるため、リクエストを抑制します。
  • 調査中は、破壊的な操作や課金が発生する操作を避けます。
  • 後でブルーチームが関連付けられるよう、すべての呼び出しを記録します。

インベントリから攻撃計画へ

適切な列挙によって、優先順位を付けた標的リストが得られます。これには、過剰な権限を持つロール、公開ストレージ、公開サービス、引き受け可能なクロスアカウントロールなどが含まれます。このリストを悪用フェーズにつなげます。

調査結果は、再現可能かつ監査可能になるよう、使用した正確な API 呼び出しとともに記録してください。

確認テスト

クラウド列挙の基本を理解できているか確認してください。

まとめ

クラウド環境を体系的に列挙する方法を学びました。

  • まず自分のプリンシパルを特定し、次にリソースと権限を一覧化します。
  • 未認証状態での探索によって、公開バケットやエンドポイントを見つけられます。
  • ScoutSuite、Prowler、PMapper によって、監査と IAM グラフ化を自動化できます。
  • 読み取り専用の呼び出しを優先し、すべての操作を記録します。

次は、IAM の設定ミスを悪用して権限を昇格させます。

よくある質問

「クラウドリソースの列挙」レッスンは無料ですか?

はい。「クラウドリソースの列挙」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「クラウドリソースの列挙」で何を学びますか?

設定ミスを発見します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「クラウドリソースの列挙」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラウドの攻撃対象領域
  2. クラウドリソースの列挙
  3. IAM設定ミスの悪用
  4. 永続化とラテラルムーブメント
← Cyber Security Academyに戻る