
CNAPPgoat est un projet open source conçu pour provisionner de manière modulaire des composants vulnérables par conception dans des environnements cloud.
CNAPPgoat est un outil de déploiement d'environnements volontairement vulnérables multi-cloud – spécialement conçu pour créer des aires d'entraînement pour les défenseurs et les pentesteurs. Sa fonction principale est de déployer des environnements intentionnellement vulnérables sur plusieurs fournisseurs de services cloud, afin de vous aider à perfectionner vos compétences en matière d'exploitation, de détection et de prévention de ces vulnérabilités.

Avertissement : CNAPPgoat déploie des environnements vulnérables. Utilisez-le uniquement dans des bacs à sable sécurisés et contrôlés.
CNAPPgoat fonctionne comme un outil en ligne de commande (CLI), capable de déployer des environnements vulnérables sur une multitude de fournisseurs de services cloud. Construit avec Go et utilisant Pulumi ainsi que l'API d'automatisation Pulumi, il garantit un déploiement fluide des environnements. L'une de ses caractéristiques uniques est sa conception modulaire, qui permet une extension sans effort pour prendre en charge un éventail de fournisseurs de services cloud et de nouveaux environnements vulnérables. Actuellement, CNAPPgoat prend en charge AWS, Azure et GCP.
Les dépendances et plugins Pulumi s'installeront à la demande selon les besoins de chaque scénario lorsque vous provisionnerez votre premier environnement. Cela signifie que la première mise en service peut prendre un peu plus de temps que les suivantes.
CNAPPgoat peut être facilement installé pour les utilisateurs macOS à l'aide du gestionnaire de paquets Homebrew.
brew tap ermetic-research/cnappgoat
brew install cnappgoat
Téléchargez la dernière version depuis ici.
tar -xvf cnappgoat-<version>.tar.gz
cd cnappgoat-<version>
(Facultatif) Si vous souhaitez ajouter le binaire extrait au PATH de votre système (ce n'est pas obligatoire, vous pouvez simplement l'exécuter depuis le répertoire local avec ./cnappgoat) :
Option A : Déplacer vers un répertoire dans votre PATH (par exemple /usr/local/bin pour macOS et Linux)
mv cnappgoat /usr/local/bin/
Option B : Ajouter le répertoire contenant le binaire à votre PATH
Pour bash :
echo 'export PATH=$PATH:<chemin_vers_le_répertoire_contenant_cnappgoat>' >> ~/.bashrc
source ~/.bashrc
Pour zsh :
echo 'export PATH=$PATH:<chemin_vers_le_répertoire_contenant_cnappgoat>' >> ~/.zshrc
source ~/.zshrc
Remplacez <chemin_vers_le_répertoire_contenant_cnappgoat> par le chemin absolu du répertoire où se trouve le binaire cnappgoat.
NAME:
cnappgoat - Un outil open-source multicloud pour déployer des ressources cloud volontairement vulnérables
USAGE:
cnappgoat [options globales] commande [options de commande] [arguments...]
VERSION:
0.1.0-beta, date: 2023-08-02T13:02:46Z, commit: 6bef61857d9f3cf88215269df8976f96317711dc
COMMANDS:
clean nettoyer et supprimer toutes les ressources créées, ainsi que tous les scénarios et fichiers associés
describe décrire un scénario
destroy Détruire les scénarios du module CNAPPgoat
list Lister les scénarios du module CNAPPgoat
provision Provisionner les scénarios du module CNAPPgoat
help, h Affiche une liste des commandes ou de l'aide pour une commande
GLOBAL OPTIONS:
--debug Activer le mode débogage (par défaut : false)
--help, -h afficher l'aide
--version, -v afficher la version
Vous pouvez utiliser plusieurs arguments séparés par des espaces. Par exemple :
cnappgoat provision <scénario-1> <scénario-2> <scénario-N>
--module - Filtre les scénarios par module (ex. CSPM, CIEM, CWPP, DSPM, KSPM, etc.)--platform - Filtre les scénarios par plateforme (ex. AWS, Azure, GCP)--force - Active le mode forcé (déverrouiller les piles verrouillées avec pulumi cancel)--debug - Active la journalisation de débogage.Ces options sont des options de commande et doivent être placées après la commande. Par exemple :
cnappgoat provision --module CSPM --platform AWS
Cette commande provisionnera tous les scénarios CSPM AWS.
CNAPPgoat télécharge les scénarios depuis le dépôt cnappgoat-scenarios lors de sa première exécution de chaque jour. Ces scénarios sont automatiquement téléchargés lorsque vous exécutez CNAPPgoat et sont stockés dans le répertoire ~/.cnappgoat/scenarios.
Avant de pouvoir utiliser CNAPPgoat, vous devez configurer vos identifiants cloud pour AWS, Azure et GCP. CNAPPgoat utilise les identifiants par défaut de chaque fournisseur. Suivez les étapes ci-dessous pour configurer vos identifiants :
Installez l'AWS CLI en suivant les instructions ici.
Configurez vos identifiants AWS en exécutant :
aws configure
Vous serez invité à saisir votre identifiant de clé d'accès, votre clé d'accès secrète et le nom de la région par défaut.
Installez l'Azure CLI en suivant les instructions ici.
Connectez-vous à votre compte Azure en exécutant :
az login
Un nouvel onglet de navigateur s'ouvrira pour vous permettre de vous connecter. Après connexion, vos identifiants seront stockés pour une utilisation ultérieure.
Installez le Google Cloud SDK en suivant les instructions ici.
Authentifiez-vous auprès de Google Cloud en exécutant :
gcloud auth login
Un nouvel onglet de navigateur s'ouvrira pour vous permettre de vous connecter. Après connexion, vos identifiants seront stockés pour une utilisation ultérieure.
En configurant ces identifiants, vous pourrez déployer des scénarios sur AWS, Azure et GCP à l'aide de CNAPPgoat. Si vous prévoyez d'utiliser CNAPPgoat avec un autre fournisseur, assurez-vous de configurer les identifiants en conséquence.
Pour en savoir plus sur CNAPPgoat, consultez l'article sur le blog Ermetic : https://ermetic.com/blog/cloud/cnappgoat-multicloud-open-source-tool-for-deploying-vulnerable-by-design-cloud-resources/
CNAPPgoat fournit un large éventail de scénarios vulnérables sur plusieurs clouds pour tester les capacités de détection et de prévention. Il existe d'autres excellents projets pour les environnements cloud vulnérables, axés sur différents domaines tels que l'exploitation, la détection, les scénarios CTF (capture de drapeau), etc. Nous avons été inspirés par ces outils et projets, et nous vous recommandons de les consulter :
D'autres défis et outils peuvent être trouvés dans le dépôt Awesome Cloud Security Challenges par Mike Privitte, notre liste étant spécifiquement axée sur les environnements cloud vulnérables par conception déployés par les utilisateurs dans leur propre bac à sable.
Pour envoyer un e-mail à l'équipe du projet, contactez [email protected]
| Commande | Description | Utilisation |
|---|
list | Liste tous les scénarios disponibles pour le provisionnement. | cnappgoat list |
describe | Fournit des informations détaillées sur le scénario spécifié. | cnappgoat describe <nom du scénario> |
provision | Provisionne le scénario spécifié par son nom. Pour provisionner tous les scénarios, utilisez simplement cnappgoat provision | cnappgoat provision <nom du scénario> |
destroy | Détruit le scénario spécifié par son nom. Pour détruire tous les scénarios, utilisez simplement cnappgoat destroy | cnappgoat destroy <nom du scénario> |
clean | Nettoie tous les scénarios et supprime le répertoire local .cnappgoat. | cnappgoat clean |
--version, -v | Affiche la version actuelle de CNAPPgoat. | cnappgoat --version |
--help, -h | Affiche le menu d'aide. | cnappgoat --help |