
AWSGoat : Une infrastructure AWS volontairement vulnérable

Compromettre l'infrastructure cloud d'une organisation revient pour les attaquants à s'asseoir sur une mine d'or. Et parfois, une simple mauvaise configuration ou une vulnérabilité dans les applications web suffit à un attaquant pour compromettre toute l'infrastructure. Le cloud étant relativement récent, de nombreux développeurs ne sont pas pleinement conscients du paysage des menaces et finissent par déployer une infrastructure cloud vulnérable.
AWSGoat est une infrastructure vulnérable par conception sur AWS, intégrant les dernières versions des risques de sécurité des applications web du Top 10 OWASP (2021) ainsi que d'autres mauvaises configurations liées à des services tels que IAM, S3, API Gateway, Lambda, EC2 et ECS. AWSGoat reproduit une infrastructure du monde réel, mais avec des vulnérabilités ajoutées. Il propose plusieurs chemins d'escalade et se concentre sur une approche en boîte noire.
AWSGoat utilise l'IaC (Terraform) pour déployer l'infrastructure cloud vulnérable sur le compte AWS de l'utilisateur. Cela donne à l'utilisateur un contrôle total sur le code, l'infrastructure et l'environnement. Avec AWSGoat, l'utilisateur peut apprendre/s'entraîner à :
Le projet sera divisé en modules et chaque module sera une application web distincte, propulsée par des stacks technologiques et des pratiques de développement variées. Il s'appuiera sur l'IaC via Terraform et GitHub Actions pour faciliter le processus de déploiement.
Présenté à
Le projet est prévu pour englober toutes les vulnérabilités significatives, y compris le Top 10 OWASP 2021, ainsi que les mauvaises configurations cloud populaires. Actuellement, le projet contient les vulnérabilités/mauvaises configurations suivantes.
Pour faciliter le processus de déploiement, l'utilisateur doit simplement forker ce dépôt, ajouter ses identifiants de compte AWS aux secrets GitHub et exécuter l'action Terraform Apply. Ce workflow déploiera toute l'infrastructure et affichera l'URL de l'application hébergée.
Voici les étapes à suivre :
Étape 1. Forker le dépôt
Étape 2. Définir les secrets GitHub Actions :
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
Étape 3. Depuis l'onglet actions du dépôt, sélectionnez le module à déployer et exécutez le workflow Terraform Apply.
Étape 4. Recherchez l'URL de l'application dans la section de sortie de Terraform.
L'installation manuelle d'AWSGoat nécessite de suivre ces étapes :
(Remarque : cela 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/AWSGoat
Étape 2. Configurer les identifiants du compte utilisateur AWS
aws configure
Étape 3. Accédez au répertoire du module correspondant et utilisez terraform pour déployer AWSGoat
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
Le premier module présente une application de blog serverless utilisant AWS Lambda, S3, API Gateway et DynamoDB. Il comprend diverses vulnérabilités d'applications web et facilite l'exploitation de ressources AWS mal configurées.
Chemin d'escalade :
Le deuxième module présente une application interne de paie RH, utilisant l'infrastructure AWS ECS. Il comprend diverses vulnérabilités d'applications web et facilite l'exploitation de ressources AWS mal configurées.
Chemin d'escalade :
Navigateur recommandé : Google Chrome
Les ressources créées lors du déploiement d'AWSGoat n'entraîneront aucuns frais si le compte AWS se trouve dans le niveau gratuit/période d'essai. Toutefois, en cas d'épuisement ou d'inéligibilité au niveau gratuit/à la période d'essai, les frais suivants s'appliqueront pour la région US-East :
Module 1 : 0,0125 $/heure
Module 2 : 0,0505 $/heure
Jeswin Mathai, Chief Architect, Lab Platform, INE [email protected]
Nishant Sharma, Director, Lab Platform, INE [email protected]
Sanjeev Mahunta, Software Engineer (Cloud), INE [email protected]
Shantanu Kale, Cloud Developer, INE [email protected]
Govind Krishna Lal Balaji, Cloud Developer, INE [email protected]
Litesh Ghute, Senior Engineer, INE [email protected], LinkedIn
Les manuels offensifs sont disponibles dans le répertoire attack-manuals, et les manuels défensifs sont disponibles dans le répertoire defence-manuals.
Vidéos d'exploitation du module 1 : https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
Pour plus de détails, reportez-vous au fichier PDF « AWSGoat.pdf ». Ce fichier contient la présentation utilisée pour les exposés.
Module 1 :