
GCPGoat : Une infrastructure GCP délibérément vulnérable
Compromettre l'infrastructure cloud d'une organisation, c'est comme s'asseoir sur une mine d'or pour les attaquants. Et parfois, une simple mauvaise configuration ou une vulnérabilité dans les applications web est tout ce dont un attaquant a besoin pour compromettre l'ensemble de l'infrastructure. Comme le cloud est relativement nouveau, de nombreux développeurs ne sont pas pleinement conscients du paysage des menaces et finissent par déployer une infrastructure cloud vulnérable.
GCPGoat est une infrastructure vulnérable par conception sur GCP, mettant en vedette les derniers risques de sécurité des applications web du OWASP Top 10 (2021) ainsi que d'autres mauvaises configurations basées sur des services tels que IAM, Storage Bucket, Cloud Functions et Compute Engine. GCPGoat imite une infrastructure réelle mais avec des vulnérabilités ajoutées. Il propose plusieurs chemins d'escalade et est axé sur une approche boîte noire.
GCPGoat utilise l'IaC (Terraform) pour déployer l'infrastructure cloud vulnérable sur le compte GCP de l'utilisateur. Cela donne à l'utilisateur un contrôle total sur le code, l'infrastructure et l'environnement. En utilisant GCPGoat, l'utilisateur peut apprendre/pratiquer :
Le projet sera divisé en modules, chaque module étant une application web distincte, alimentée par diverses piles technologiques et pratiques de développement. Il exploitera l'IaC via Terraform pour faciliter le processus de déploiement.
Le projet est prévu pour englober toutes les vulnérabilités significatives, y compris le OWASP TOP 10 2021, et les mauvaises configurations cloud courantes. Actuellement, le projet contient les vulnérabilités/mauvaises configurations suivantes.
L'installation manuelle de GCPGoat nécessite de suivre ces étapes :
(Remarque : Ceci nécessite une machine Linux avec le shell /bin/bash disponible.)
Étape 1. Clonez le dépôt
git clone https://github.com/ine-labs/GCPGoat
Étape 2. Configurez les identifiants du compte utilisateur GCP à l'aide de gcloud CLI
gcloud auth application-default login
Étape 3. Insérez le nom du compte de facturation dans le fichier main.tf
data "google_billing_account" "acct" {
display_name = "<Votre nom de compte de facturation>"
}
Étape 4. Dans le même répertoire de travail, utilisez terraform pour déployer GCPGoat.
terraform init
terraform apply --auto-approve
Le premier module présente une application de blog serverless utilisant Cloud Functions, Cloud Storage Buckets, Compute Engine et Firestore. Il contient diverses vulnérabilités d'applications web et facilite l'exploitation de ressources GCP mal configurées.
Chemin d'escalade :
Navigateur recommandé : Google Chrome
Les ressources créées avec le déploiement de GCPGoat n'entraîneront aucun frais si le compte GCP est en période d'essai/offre gratuite. Cependant, après épuisement/inéligibilité de l'offre gratuite/essai, les frais suivants s'appliqueront pour la région US-East :
Module 1 : 0,03 $/heure
Nishant Sharma, Directeur, Plateforme de laboratoire, INE [email protected]
Jeswin Mathai, Architecte en chef, Plateforme de laboratoire, INE [email protected]
Sherin Stephen, Ingénieur logiciel (Cloud), INE [email protected]
Divya Nain, Ingénieur logiciel (Cloud), INE [email protected]
Rishappreet Singh Moon, Ingénieur logiciel (Cloud), INE [email protected]
Litesh Ghute, Ingénieur logiciel (Cloud), INE [email protected]
Sanjeev Mahunta, Ingénieur logiciel (Cloud), INE [email protected]
Les manuels offensifs sont disponibles dans le répertoire attack-manuals, et les manuels défensifs sont disponibles dans le répertoire defence-manuals.
Module 1 :
modules/module-<Numéro>/src, cela peut être utilisé pour modifier le code de l'application existante.Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence MIT.
Vous devriez avoir reçu une copie de la licence MIT avec ce programme. Sinon, consultez https://opensource.org/licenses/MIT.