
クラウド侵入テストにおける状況認識の自動化。
CloudFoxは、未知のクラウド環境での状況認識を支援します。これは、ペネトレーションテスターやその他の攻撃的セキュリティ専門家がクラウドインフラストラクチャ内の悪用可能な攻撃経路を見つけるのを支援するために作成されたオープンソースのコマンドラインツールです。
CLOUDFOX アップデート必須: (2025年12月):
cloudfoxを使用している場合、v1.17.0 以上を使用する必要があります。それ以前のバージョンはすべて、AWSの公開サービスマッピングファイルのフォーマット変更後、動作しなくなりました。
概要
RedSec Discordサーバーに参加してください。
CloudFoxはモジュール式です(一度に1つのコマンドを実行できます)が、aws all-checksコマンドを使用すると、適切なデフォルト設定で他のawsコマンドをまとめて実行できます:
cloudfox aws --profile [profile-name] all-checks

CloudFoxは、限られた読み取り専用権限を持つプリンシパルによって実行されるように設計されていますが、その目的は、シミュレートされた侵害シナリオ(別名、目標ベースのペネトレーションテスト)で悪用可能な攻撃経路を見つけるのを支援することです。
CloudFoxは、「発見された」認証情報で使用できます。これは、weirdAALやenumerate-iamを使用する方法と同様です。失敗したチェックは静かに失敗するため、返されたデータは、あなたの「発見された」認証情報がそれを取得するために必要なアクセス権を持っていることを意味します。
完全なドキュメントについては、wikiを参照してください。
| プロバイダ | CloudFoxコマンド |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | サポート予定 |
オプション1: お使いのプラットフォーム向けの最新のバイナリリリースをダウンロードしてください。
オプション2: Homebrewを使用している場合: brew install cloudfox
オプション3: Goをインストールし、go install github.com/BishopFox/cloudfox@latestを使用してリモートソースからインストールします
オプション4: 開発者モード:
Goをインストールし、CloudFoxリポジトリをクローンしてソースからコンパイルします ```
**オプション5:** バグ修正のテスト ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-lフラグを使用して改行区切りでプロファイル名のリストが記述されたファイルへのパスを指定するか、-aフラグを使用して保存されているすべてのプロファイルを渡します。SecurityAudit + CloudFoxカスタムポリシー追加のポリシーノート(2022年9月時点):
| ポリシー | 備考 |
|---|---|
| CloudFoxカスタムポリシー | cloudfoxが使用するすべての権限を完全にリストしており、それ以外は含まれない |
arn:aws:iam::aws:policy/SecurityAudit | ほとんどのcloudfoxチェックをカバーするが、apprunner:*、grafana:*、lambda:GetFunctionURL、lightsail:GetContainerServicesなどの新しいサービスや権限が不足している |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | ほとんどのcloudfoxチェックをカバーするが、AppRunner:*、grafana:*、lambda:GetFunctionURL、lightsail:GetContainerServicesなどの新しいサービスや権限が不足しており、さらにiam:SimulatePrincipalPolicyも欠けている。 |
arn:aws:iam::aws:policy/ReadOnlyAccess | AppRunnerのみ不足しているが、s3:Get*など過度に寛容になり得る権限も付与する。 |
arn:aws:iam::aws:policy/AdministratorAccess | CloudFoxでは問題なく動作しますが、ペネトレーションテスターとしてこのレベルのアクセス権を付与された場合、それ自体が脆弱性発見対象となる可能性があります :) |
gcloud auth application-default login)最小限の権限(単一プロジェクト):
単一プロジェクトの基本的な列挙には、roles/viewer ロールでほとんどのリソースへの読み取りアクセスが提供されます(ログ、モニタリング、コンピュート/ネットワークの表示を含む)。
包括的な権限(組織全体):
組織全体にわたる徹底的なセキュリティ評価を行う場合:
| スコープ | ロール | 目的 |
|---|---|---|
| 組織 | roles/resourcemanager.organizationViewer | 組織構造とメタデータを表示 |
| 組織 | roles/iam.securityReviewer | 組織全体のIAMポリシーをレビュー |
| 組織 | roles/cloudasset.viewer | Cloud Asset Inventoryですべてのリソースをクエリ |
| 組織 | roles/cloudidentity.groupsViewer | Googleグループとメンバーシップを列挙 |
| フォルダ | roles/resourcemanager.folderViewer | フォルダ階層とメタデータを表示 |
| プロジェクト | roles/viewer | ほとんどのプロジェクトリソースへの読み取りアクセス(logging.viewer、monitoring.viewer、compute.viewerを含む) |
| ツーリングプロジェクト | roles/serviceusage.serviceUsageAdmin | (オプション)CloudFox操作用のAPI割り当てを管理 |
注: 基本的な
roles/viewerロールにはroles/logging.viewer、roles/monitoring.viewer、roles/compute.networkViewerの権限が含まれているため、これらを個別に付与する必要はありません。
評価する各プロジェクトでAPIを有効にする必要があります。 GCP APIはプロジェクトスコープです。
| API | サービス名 | 目的 |
|---|---|---|
| Cloud Identity API | cloudidentity.googleapis.com | グループ列挙、継承ロール分析 |
| Cloud Asset API | cloudasset.googleapis.com | プロジェクト間のリソース探索 |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | 組織マッピング、IAM列挙 |
| IAM API | iam.googleapis.com | IAM分析、権限昇格の検出 |
| Compute Engine API | compute.googleapis.com | インスタンス列挙、ネットワークセキュリティ |
| Secret Manager API | secretmanager.googleapis.com | シークレット列挙 |
| Cloud Functions API | cloudfunctions.googleapis.com | サーバーレス列挙 |
| Cloud Run API | run.googleapis.com | サーバーレス列挙 |
| Kubernetes Engine API | container.googleapis.com | コンテナセキュリティ分析 |
| BigQuery API | bigquery.googleapis.com | データセキュリティ分析 |
詳細な設定手順については、GCPセットアップガイドを参照してください。