
AzureGoat : Eine verdammt verwundbare Azure-Infrastruktur

Das Kompromittieren der Cloud-Infrastruktur einer Organisation ist für Angreifer wie das Sitzen auf einer Goldmine. Und manchmal reicht eine einfache Fehlkonfiguration oder eine Schwachstelle in Webanwendungen aus, damit ein Angreifer die gesamte Infrastruktur kompromittieren kann. Da die Cloud relativ neu ist, sind sich viele Entwickler der Bedrohungslandschaft nicht vollständig bewusst und setzen am Ende eine verwundbare Cloud-Infrastruktur ein. Microsoft Azure Cloud ist zum zweitgrößten Anbieter nach Marktanteil bei den Cloud-Infrastrukturanbietern geworden (laut mehreren Berichten), direkt hinter AWS. Es gibt zahlreiche Tools und verwundbare Anwendungen für AWS, mit denen Sicherheitsexperten Angriffs-/Verteidigungspraktiken durchführen können, aber bei Azure ist das nicht der Fall. Der Community stehen weitaus weniger Optionen zur Verfügung.
AzureGoat ist eine absichtlich verwundbare Infrastruktur auf Azure, die die neuesten OWASP Top 10 Webanwendungssicherheitsrisiken (2021) und andere Fehlkonfigurationen basierend auf Diensten wie App Functions, CosmosDB, Storage Accounts, Automation und Identities umfasst. AzureGoat ahmt reale Infrastruktur nach, jedoch mit zusätzlichen Schwachstellen. Es bietet mehrere Eskalationspfade und konzentriert sich auf einen Black-Box-Ansatz.
AzureGoat verwendet IaC (Terraform), um die verwundbare Cloud-Infrastruktur auf dem Azure-Konto des Benutzers bereitzustellen. Dies gibt dem Benutzer die vollständige Kontrolle über Code, Infrastruktur und Umgebung. Mit AzureGoat kann der Benutzer Folgendes lernen/üben:
Das Projekt ist in Module unterteilt, und jedes Modul ist eine separate Webanwendung, die auf verschiedenen Technologie-Stacks und Entwicklungspraktiken basiert.
Vorgestellt auf
Das Projekt ist darauf ausgelegt, alle wesentlichen Schwachstellen einschließlich der OWASP TOP 10 2021 und häufiger Cloud-Fehlkonfigurationen abzudecken. Derzeit enthält das Projekt die folgenden Schwachstellen/Fehlkonfigurationen.
Um den Bereitstellungsprozess zu vereinfachen, muss der Benutzer lediglich dieses Repository klonen, sich in der Azure CLI anmelden und dann die Terraform-Datei initialisieren und anwenden. Dieser Workflow stellt die gesamte Infrastruktur bereit und gibt die URL der gehosteten Anwendung aus.
Hier sind die Schritte:
Schritt 1. Repository klonen
git clone https://github.com/ine-labs/AzureGoat
Schritt 2. Bei der Azure CLI anmelden
az login
Und den Anweisungen zur Anmeldung folgen.
Schritt 3. Eine Ressourcengruppe mit dem Namen "azuregoat_app" erstellen.
Schritt 4. Terraform verwenden, um AzureGoat bereitzustellen
terraform init
terraform apply --auto-approve
Das erste Modul enthält eine serverlose Blog-Anwendung, die Azure App Functions, Storage Accounts, CosmosDB und Azure Automation nutzt. Es umfasst verschiedene Webanwendungsschwachstellen und erleichtert die Ausnutzung falsch konfigurierter Azure-Ressourcen.
Übersicht der Eskalationspfade für Modul 1

Nishant Sharma, Direktor der Lab-Plattform, INE [email protected]
Jeswin Mathai, Chefarchitekt der Lab-Plattform, INE [email protected]
Rachna Umaraniya, Cloud-Entwicklerin, INE [email protected]
Sherin Stephen, Softwareentwickler (Cloud), INE [email protected]
Shantanu Kale, Cloud-Entwickler, INE [email protected]
Sanjeev Mahunta, Softwareentwickler (Cloud), INE [email protected]
D Yashwanth Babu, Softwareentwickler (Cloud), INE [email protected]
Die Angriffshandbücher befinden sich im Verzeichnis attack-manuals und die Verteidigungshandbücher im Verzeichnis defence-manuals.
Videos zur Ausnutzung von Modul 1: https://www.youtube.com/playlist?list=PLcIpBb4raSZGdYHKpqIu5Boc2ziga4oGY
Weitere Details finden Sie in der PDF-Datei "AzureGoat.pdf". Diese Datei enthält die für Präsentationen verwendete Folienpräsentation.
Startseite der Blog-Anwendung

Anmeldeportal der Blog-Anwendung

Registrierungsseite der Blog-Anwendung

Angemeldetes Dashboard der Blog-Anwendung

Benutzerprofil der Blog-Anwendung

modules/module-<Number>/src; dies kann verwendet werden, um den vorhandenen Anwendungscode zu ändern.Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License v2, wie von der Free Software Foundation veröffentlicht, weiterverbreiten und/oder modifizieren.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; ohne die stillschweigende Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Details finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe http://www.gnu.org/licenses/.