
AzureGoat : Une infrastructure Azure vulnérable à souhait

Compromettre l’infrastructure cloud d’une organisation, c’est comme s’asseoir sur une mine d’or pour un attaquant. Et parfois, une simple mauvaise configuration ou une vulnérabilité dans les applications web suffit à un attaquant pour compromettre l’intégralité de l’infrastructure. Comme le cloud est relativement récent, de nombreux développeurs n’ont pas pleinement conscience du paysage des menaces et finissent par déployer une infrastructure cloud vulnérable. Microsoft Azure est devenu le deuxième fournisseur en parts de marché parmi les fournisseurs d’infrastructure cloud (selon de multiples rapports), juste derrière AWS. Il existe de nombreux outils et applications vulnérables pour AWS destinés aux professionnels de la sécurité pour pratiquer l’attaque/la défense, mais ce n’est pas le cas pour Azure. Les options disponibles pour la communauté y sont bien moins nombreuses.
AzureGoat est une infrastructure volontairement vulnérable sur Azure qui intègre les risques de sécurité des applications web du dernier OWASP Top 10 (2021) ainsi que d’autres mauvaises configurations basées sur des services tels que App Functions, CosmosDB, Storage Accounts, Automation et Identités. AzureGoat imite une infrastructure réelle tout en ajoutant des vulnérabilités. Il propose plusieurs chemins d’escalade et se concentre sur une approche en boîte noire.
AzureGoat utilise l’IaC (Terraform) pour déployer l’infrastructure cloud vulnérable sur le compte Azure de l’utilisateur. Cela donne à l’utilisateur un contrôle total sur le code, l’infrastructure et l’environnement. Avec AzureGoat, l’utilisateur peut apprendre/pratiquer :
Le projet est divisé en modules, chaque module étant une application web distincte, reposant sur des piles technologiques et des pratiques de développement variées.
Présenté à
Le projet est prévu pour couvrir toutes les vulnérabilités importantes, y compris l’OWASP TOP 10 2021 et les mauvaises configurations cloud courantes. Actuellement, le projet contient les vulnérabilités/mauvaises configurations suivantes.
Pour faciliter le déploiement, l’utilisateur n’a qu’à cloner ce dépôt, se connecter à l’interface de ligne de commande Azure, puis initialiser et appliquer le fichier Terraform. Ce flux de travail déploiera l’intégralité de l’infrastructure et renverra l’URL de l’application hébergée.
Voici les étapes à suivre :
Étape 1. Clonez le dépôt
git clone https://github.com/ine-labs/AzureGoat
Étape 2. Connectez-vous à Azure CLI
az login
Et suivez les étapes pour vous connecter.
Étape 3. Créez un groupe de ressources nommé « azuregoat_app ».
Étape 4. Utilisez Terraform pour déployer AzureGoat
terraform init
terraform apply --auto-approve
Le premier module propose une application de blog serverless utilisant Azure App Functions, Storage Accounts, CosmosDB et Azure Automation. Il contient diverses vulnérabilités d’applications web et facilite l’exploitation de ressources Azure mal configurées.
Aperçu des chemins d’escalade pour le module 1

Nishant Sharma, Directeur, Plateforme de laboratoire, INE [email protected]
Jeswin Mathai, Architecte en chef, Plateforme de laboratoire, INE [email protected]
Rachna Umaraniya, Développeuse Cloud, INE [email protected]
Sherin Stephen, Ingénieur logiciel (Cloud), INE [email protected]
Shantanu Kale, Développeur Cloud, INE [email protected]
Sanjeev Mahunta, Ingénieur logiciel (Cloud), INE [email protected]
D Yashwanth Babu, Ingénieur logiciel (Cloud), 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=PLcIpBb4raSZGdYHKpqIu5Boc2ziga4oGY
Pour plus de détails, reportez-vous au fichier PDF « AzureGoat.pdf ». Ce fichier contient le jeu de diapositives utilisé pour les présentations.
Page d’accueil de l’application Blog

Portail de connexion de l’application Blog

Page d’inscription de l’application Blog

Tableau de bord connecté de l’application Blog

Profil utilisateur de l’application Blog

modules/module-<Numéro>/src ; il peut être utilisé pour modifier le code existant de l’application.Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU version 2 telle que publiée par la Free Software Foundation.
Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D’ADAPTATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme. Sinon, consultez http://www.gnu.org/licenses/.