CloudConquerorは、ExaForceによるオープンソースのPythonツールで、通常はクラウド管理や自動化に使用されるAWS CloudControl APIが、攻撃的なオペレーションにどのように再利用できるかを示します。リソースの列挙、名前のブルートフォース、CloudControl専用ポリシーによる永続化メカニズムの作成を行います。これにより、従来のIAM(Identity and Access Management)ベクトルを超えた検知範囲をテストするレッドチームオペレーターや、監視が不十分なAPIを攻撃者がどのように悪用するかを理解したいディフェンダーにとって、貴重なユーティリティとなります。

なぜ重要か
クラウド管理APIは、自動化やInfrastructure-as-Codeワークフローをサポートするために急速に拡大しています。この領域が広がるにつれ、攻撃の可能性も増大します。多くのディフェンダーは依然としてIAMやCloudFormationイベントの検知・監視に主眼を置いており、CloudControlのようなAPIは十分に監視されていません。CloudConquerorは、攻撃者がこのギャップを悪用して資産を列挙し、権限昇格やCloudControl特有の経路を通じた永続化を行い、多くの標準的なログ記録やアラートメカニズムを回避できることを示しています。
主な機能
- リソース一覧 —
cloudcontrol:ListResourcesおよびcloudcontrol:GetResourceを通じてAWSリソースを列挙します。 - リソース名ブルートフォース — CloudControlクエリを使用して隠された、またはリストされていないリソース名を特定します。
- 永続化の作成 — CloudControl操作に制限されたインラインポリシー付きのIAMユーザーまたはロールを作成し、ステルス性の高い永続化を実現します。
- 検知テスト — CloudTrailを通じてCloudControlのアクティビティを一覧表示し、ディフェンダーがカバレッジを検証できるようにします。
インストール方法
CloudConquerorはPython 3上で動作し、依存関係管理用のrequirements.txtファイルが含まれています。ローカルにインストールするか、Dockerで実行できます。以下の手順は公式リポジトリからの抜粋です。
|
# クローンして環境をセットアップ git clonehttps://github.com/ExaForce/CloudConqueror.git cd CloudConqueror python3–mvenv venv source venv/bin/activate pip install–rrequirements.txt |
または、Dockerでビルド・実行します:
|
docker build–tcloudconqueror. docker run—rm–it cloudconqueror |
使い方
以下の--help出力はリポジトリからそのまま引用したもので、サポートされているコマンドとパラメータを示しています:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
————————————————————————————————————————– ______ _ _____ /____|| ||/____| || ||___ _ _ __||| ___ ___ ____ _ ______ ___ ___ || ||/_\||||/_`|| /_\|‘_ \ / _` | | | |/ _ \ ‘__/_\|‘__| ||____||(_)||_||(_|||___|(_)||||(_|||_|| __/||(_)|| \_____|_|\___/\__,_|\__,_|\_____\___/|_||_|___/\__,|\__,_|\___|_| \___/|_| || |_| ————————————————————————————————————————– by gl4ssesbo1@Exaforce ————————————————————————————————————————– usage:CloudConqueror.py[-h] {LISTRESOURCES,BRUTEFORCERESOURCES,IAMPERSISTENCE,CHECKUSAGE} … CloudConqueror positional arguments: {LISTRESOURCES,BRUTEFORCERESOURCES,IAMPERSISTENCE,CHECKUSAGE} LISTRESOURCES Enumerate AWS resources via cloudcontrol:ListResources andGetResource BRUTEFORCERESOURCES Brute–force AWS resource names through CloudControl IAMPERSISTENCE Create IAM persistence paths limited toCloudControl API CHECKUSAGE Scan CloudTrail forevidence of CloudControl activity options: –h,—help Show thishelp message andexit |
攻撃シナリオ例
目的: CloudControlが利用可能だが監視が不十分なAWS環境で、権限昇格または永続化のシナリオをシミュレートします。
- 初期侵入: オペレーターがCloudControlの読み取り権限を持つ開発者の認証情報を取得します。
- 探索:
LISTRESOURCESを実行して、アクセス可能なすべてのリソースタイプを列挙し、設定ミスのあるオブジェクトを特定します。 - 列挙:
BRUTEFORCERESOURCESを使用して、機密ポリシーやロールを含む可能性のある未公開リソース名を明らかにします。 - 永続化:
IAMPERSISTENCEを展開し、CloudControlに限定された操作のみ許可するIAMユーザーまたはロールを作成し、従来のIAM制限を実質的に回避します。 - 検知検証:
CHECKUSAGEを実行してCloudTrailイベントを監査し、検知ルールが発動するかを確認します。
免責事項: これらの手順は許可されたテスト環境でのみ実施してください。決して本番クラウドアカウントで攻撃ツールを実行しないでください。
防御のためのガイダンス
クラウドディフェンダーはCloudControlのアクティビティを最重要データソースとして扱うべきです。主な防御戦略は以下の通りです:
- アカウント全体で
cloudcontrol:GetResourceやListResourcesAPIコールの異常なスパイクを監視します。 - CloudControlの操作のみに制限されたIAMプリンシパルやポリシーにアラートを設定します。これらは永続化テストや侵害の兆候である可能性があります。
- CloudTrailイベントをIAMのCreateRoleやCreatePolicy操作と相関させ、永続化チェーンをエンドツーエンドでマッピングします。
- 認可された自動化ツール向けにCloudControl APIの許可リストを導入し、人間のユーザーにはMFAを強制します。
他ツールとの比較
PyRITのような汎用的なリコンツールが広範なクラウド攻撃対象領域のマッピングに焦点を当てているのに対し、CloudConquerorはAWS CloudControl APIを特化してターゲットにしています。単一の管理インターフェースに特化することで、従来のリコンツールが見落としがちな権限永続化経路のテストに最適です。より深い検知エンジニアリングカバレッジを求める場合は、CFRipperと組み合わせることで、同様の永続化機会につながるCloudFormationテンプレートの設定ミスも特定できます。
まとめ
CloudConquerorは、APIの悪用に関する学術研究と実践的なクラウドエクスプロイト技術のギャップを埋めます。レッドチームにとっては、あまり知られていないAWS APIを通じた制御された権限昇格や永続化テストを可能にします。ディフェンダーにとっては、監視や最小権限ポリシーがしばしば失敗するポイントを明らかにします。すべての強力なユーティリティと同様、責任を持って、書面による許可のもとでのみ使用してください。
詳細やCloudConquerorのダウンロードはこちらから:https://github.com/ExaForce/CloudConqueror
読者とのやりとり