Plateforme automatisée d'émulation d'adversaires
Caldera™ est une plateforme de cybersécurité conçue pour automatiser facilement l'émulation d'adversaires, assister les red teams manuelles et automatiser la réponse aux incidents.
Elle est construite sur le framework MITRE ATT&CK™ et constitue un projet de recherche actif chez MITRE.
Le framework se compose de deux éléments :
⭐ Créez votre propre plugin ! Générateur de plugins : Skeleton ⭐
Ces plugins sont pris en charge et maintenus par l'équipe Caldera.
Ces plugins sont prêts à l'emploi mais ne sont pas inclus par défaut et ne sont pas maintenus par l'équipe Caldera.
Ces prérequis concernent l'ordinateur exécutant le framework central :
Remarque : nous recommandons FORTEMENT d'installer Caldera dans un environnement virtuel Python afin d'éviter les problèmes liés aux paquets pip. Vous pouvez utiliser un environnement existant si vous le souhaitez ou en créer un nouveau à partir de zéro :
python3 -m venv .calderavenv
source .calderavenv/bin/activate
Étapes d'installation concises :
git clone https://github.com/apache/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
Commencez par cloner ce dépôt de manière récursive, en passant la version/release souhaitée au format x.x.x. Cela récupérera tous les plugins disponibles.
git clone https://github.com/apache/caldera.git --recursive --tag x.x.x
Ensuite, installez les dépendances PIP :
pip3 install -r requirements.txt
Enfin, démarrez le serveur.
python3 server.py --insecure --build
Le flag --build installe automatiquement toutes les dépendances de l'interface VueJS, regroupe l'interface dans un répertoire dist et est servi par le serveur Caldera. Vous ne devrez réutiliser le flag --build que si vous ajoutez des plugins ou apportez des modifications à l'interface. Une fois démarré, connectez-vous à http://localhost:8888 en utilisant les identifiants par défaut red/admin. Ensuite, allez dans Plugins -> Training et suivez le cours de formation de type capture-the-flag pour apprendre à utiliser Caldera.
Si vous préférez ne pas utiliser la nouvelle interface VueJS, revenez à Caldera v4.2.0. En conséquence, n'utilisez pas le flag --build pour les versions antérieures car il n'est pas nécessaire.
De plus, veuillez noter les recommandations de sécurité pour le déploiement de Caldera.
Build local :
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
Ajustez la redirection de ports (-p) et les arguments de build (--build-arg) selon vos besoins afin de rendre les ports accessibles ou de changer la variante de Caldera. Les ports que vous exposez dépendent des contacts que vous prévoyez d'utiliser (voir Dockerfile et docker-compose.yml pour référence).
Image préconstruite (depuis GitHub Container Registry) :
docker run -p 8888:8888 ghcr.io/apache/caldera:latest
Ce conteneur peut être légèrement obsolète, nous recommandons de construire le conteneur vous-même.
Pour arrêter proprement votre conteneur docker, procédez comme suit :
# Find the container ID for your docker container running Caldera
docker ps
# Stop the container
docker stop <container ID>
Deux variantes sont disponibles, full et slim. La variante slim n'inclut pas les fichiers nécessaires aux plugins emu et atomic, qui seront téléchargés à la demande si ces plugins sont activés. La variante full convient à une utilisation dans des environnements sans connexion internet. Les images slim sur GHCR sont préfixées par « slim ».