
自動化された敵対的エミュレーションプラットフォーム
Caldera™ は、敵対者エミュレーションを簡単に自動化し、手動レッドチームを支援し、インシデント対応を自動化するために設計されたサイバーセキュリティプラットフォームです。
これは MITRE ATT&CK™ フレームワーク に基づいて構築されており、MITRE における活発な研究プロジェクトです。
このフレームワークは 2 つのコンポーネントで構成されています:
⭐ 独自のプラグインを作成しましょう!プラグインジェネレーター: Skeleton ⭐
これらのプラグインは Caldera チームによってサポートおよび保守されています。
これらのプラグインはすぐに使用できますが、デフォルトでは含まれておらず、Caldera チームによって保守されていません。
これらの要件は、コアフレームワークを実行するコンピューター向けです:
注: pip パッケージの問題を避けるため、Caldera を Python 仮想環境にインストールすることを強く推奨します。既存の環境を使用するか、新規にゼロから作成することができます:
python3 -m venv .calderavenv
source .calderavenv/bin/activate
インストール手順の概要:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
完全な手順: まず、このリポジトリを再帰的にクローンし、希望するバージョン/リリースを x.x.x 形式で指定します。これにより、利用可能なすべてのプラグインが取得されます。
git clone https://github.com/apache/caldera.git --recursive --tag x.x.x
次に、PIPの要件をインストールします:
pip3 install -r requirements.txt
最後に、サーバーを起動します。
python3 server.py --insecure --build
--build フラグは、VueJS UI の依存関係を自動的にインストールし、UI を dist ディレクトリにバンドルして、Caldera サーバーから配信します。プラグインを追加したり UI に変更を加えたりした場合にのみ、再度 --build フラグを使用する必要があります。起動したら、デフォルトの認証情報 red/admin を使用して http://localhost:8888 にログインします。その後、Plugins -> Training に進み、キャプチャーザフラッグ形式のトレーニングコースを完了して Caldera の使用方法を学んでください。
新しい VueJS UI を使用したくない場合は、Caldera v4.2.0 に戻してください。同様に、以前のバージョンでは必要ないため、--build フラグを使用しないでください。
さらに、Caldera をデプロイする際のセキュリティに関する推奨事項にご注意ください。
ローカルビルド:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
docker build --build-arg VARIANT=full -t caldera .
docker run -it -p 8888:8888 caldera
ポートフォワーディング(-p)とビルド引数(--build-arg)を必要に応じて調整し、ポートにアクセスできるようにするか、Caldera のバリアントを変更してください。公開するポートは、使用する予定のコンタクトによって異なります(参考として Dockerfile と docker-compose.yml を参照してください)。
ビルド済みイメージ(GitHub Container Registry から):
docker run -p 8888:8888 ghcr.io/apache/caldera:latest
このコンテナは若干古くなっている可能性があるため、コンテナを自分でビルドすることを推奨します。
Docker コンテナを正常に終了するには、次の手順を実行します:
# Find the container ID for your docker container running Caldera
docker ps
# Stop the container
docker stop <container ID>
full と slim の 2 つのバリアントがあります。slim バリアントには emu および atomic プラグインに必要なファイルが含まれておらず、これらのプラグインが有効化された際にオンデマンドでダウンロードされます。full バリアントはインターネット接続のない環境での運用に適しています。GHCR 上の slim イメージには "slim" というプレフィックスが付きます。
Docker コンテナに関する注意事項
-v <your_path>/conf.yml:/usr/src/app/conf/local.yml フラグを使って独自の設定ファイルをバインドマウントすることを検討してください。-v <path_to_your_data_or_volume_name>:/usr/src/app/data/) を使用してください。Caldera はサブディレクトリが存在しない場合、それらの作成を拒否するため、ディレクトリ構造が GitHub 上の data/ ディレクトリと同じであることを確認してください。最後に、暗号化キーに関する問題を防ぐため、設定ファイルも永続化されるようにしてください。builder プラグインは Docker 内では動作しません。atomic プラグインが使用するデータを変更したい場合は、コンテナ外で Atomic Red Team リポジトリをクローンし、変更を加えたうえで、コンテナ内の /usr/src/app/plugins/atomic/data/atomic-red-team にバインドマウント (-v) してください。emu が使用するデータを変更したい場合は、adversary_emulation_library リポジトリをローカルにクローンし、/usr/src/app/plugins/emu/data/adversary-emulation-plans にバインドマウント (-v) してください。さらに、Caldera をデプロイする際のセキュリティ推奨事項にご注意ください。
UI を開発する場合は、追加のインストール手順がいくつかあります。
要件
セットアップ
git submodule add https://github.com/mitre/magmacd plugins/magma && npm install && cd ..python3 server.py --uidev localhostCaldera サーバーは通常どおり http://localhost:8888 で利用可能ですが、VueJS フロントエンド用のホットリロード開発サーバーが http://localhost:3000 で利用可能になります。サーバーとフロントエンドの両方のログが、サーバーを起動したターミナルに表示されます。
Caldera チームは、Caldera サーバーを安全な環境/ネットワーク上に構築し、インターネットに公開しないことを強く推奨します。Caldera サーバーには堅牢化され徹底的にペネトレーションテストされた Web アプリケーションインターフェースはなく、基本的な認証とセキュリティ機能のみが備わっています。MITRE および MITRE の米国政府スポンサーは、ほぼ例外なく安全な環境でのみ Caldera を使用しており、適切なサイバーセキュリティのために Caldera 自体のセキュリティプロトコルに依存していません。
バグの報告については、脆弱性開示ドキュメントを参照してください。
🚨セキュリティ通知🚨: (2025 年 2 月 17 日 10:00 EST) CVE-2025-27364 の最近のセキュリティパッチについては v5.1.0 以降をプルしてください。特に Caldera を公開ネットワーク上でホストしている場合は、Caldera インスタンスを更新してください。脆弱性の解説。
コントリビューター向けドキュメントを参照してください。
MITRE Caldera™ のオープンソース機能のサポート、維持、進化を支援するパートナーシップに関心がある場合は、[email protected] までお問い合わせください。