
AWSGoat : Une infrastructure AWS volontairement 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 suffit à un attaquant pour compromettre l'ensemble de l'infrastructure. Comme le cloud est relativement nouveau, de nombreux développeurs ne sont pas pleinement conscients des menaces et finissent par déployer une infrastructure cloud vulnérable.
AWSGoat est une infrastructure volontairement vulnérable sur AWS, mettant en avant les dernières menaces de sécurité des applications web du OWASP Top 10 (2021) et d'autres mauvaises configurations basées sur des services tels que IAM, S3, API Gateway, Lambda, EC2 et ECS. AWSGoat imite une infrastructure réelle mais avec des vulnérabilités ajoutées. Il propose de multiples chemins d'escalade et se concentre sur une approche en boîte noire.
AWSGoat utilise 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. En utilisant AWSGoat, l'utilisateur peut apprendre/pratiquer :
Le projet sera divisé en modules, et chaque module sera une application web distincte, reposant sur différentes piles technologiques et pratiques de développement. Il exploitera l'IaC via Terraform et GitHub Actions pour faciliter le déploiement.
Présenté à
Le projet prévoit d'inclure toutes les vulnérabilités importantes, y compris le OWASP TOP 10 2021, et les mauvaises configurations cloud courantes. 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, puis exécuter le workflow 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 Action :
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
Étape 3. Dans l'onglet Actions du dépôt, sélectionnez le module à déployer et exécutez le workflow Terraform Apply.
Étape 4. Trouvez l'URL de l'application dans la section de sortie 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. Cloner 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. Se déplacer dans le répertoire du module concerné et utiliser Terraform pour déployer AWSGoat
cd modules/module-<Numéro>
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 contient 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 contient 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'engendreront aucun frais si le compte AWS est en période d'essai gratuit. Cependant, après épuisement ou inéligibilité de l'offre gratuite, les frais suivants s'appliqueront pour la région US-East :
Module 1 : 0,0125 $/heure
Module 2 : 0,0505 $/heure
Jeswin Mathai, Architecte en chef, Plateforme de laboratoire, INE [email protected]
Nishant Sharma, Directeur, Plateforme de laboratoire, INE [email protected]
Sanjeev Mahunta, Ingénieur logiciel (Cloud), INE [email protected]
Shantanu Kale, Développeur Cloud, INE [email protected]
Govind Krishna Lal Balaji, Développeur Cloud, INE [email protected]
Litesh Ghute, Ingénieur logiciel, INE [email protected]
Les manuels offensifs sont disponibles dans le répertoire attack-manuals, et les manuels défensifs 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, référez-vous au fichier PDF "AWSGoat.pdf". Ce fichier contient le diaporama utilisé pour les présentations.
Module 1 :
Module 2 :
modules/module-<Numéro>/src ; il 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.