
AWSGoat : Eine bewusst verwundbare AWS-Infrastruktur

Die Kompromittierung 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 stellen am Ende eine verwundbare Cloud-Infrastruktur bereit.
AWSGoat ist eine absichtlich verwundbare Infrastruktur auf AWS, die die neuesten OWASP Top 10 Web Application Security Risks (2021) und andere Fehlkonfigurationen auf Basis von Diensten wie IAM, S3, API Gateway, Lambda, EC2 und ECS umfasst. AWSGoat ahmt reale Infrastruktur nach, jedoch mit zusätzlichen Schwachstellen. Es bietet mehrere Eskalationspfade und konzentriert sich auf einen Black-Box-Ansatz.
AWSGoat verwendet IaC (Terraform), um die verwundbare Cloud-Infrastruktur auf dem AWS-Konto des Benutzers bereitzustellen. Dies gibt dem Benutzer die vollständige Kontrolle über Code, Infrastruktur und Umgebung. Mit AWSGoat kann der Benutzer Folgendes lernen/üben:
Das Projekt wird in Module unterteilt, und jedes Modul wird eine separate Webanwendung sein, die von unterschiedlichen Tech-Stacks und Entwicklungspraktiken unterstützt wird. Es wird IaC durch Terraform und GitHub Actions nutzen, um den Bereitstellungsprozess zu vereinfachen.
Vorgestellt bei
Das Projekt soll alle wesentlichen Schwachstellen umfassen, einschließlich der OWASP TOP 10 2021 und gängiger Cloud-Fehlkonfigurationen. Derzeit enthält das Projekt die folgenden Schwachstellen/Fehlkonfigurationen.
Um den Bereitstellungsprozess zu vereinfachen, muss der Benutzer lediglich dieses Repository forken, seine AWS-Kontoanmeldeinformationen zu den GitHub-Secrets hinzufügen und den Terraform Apply-Workflow ausführen. Dieser Workflow stellt die gesamte Infrastruktur bereit und gibt die URL der gehosteten Anwendung aus.
Hier sind die Schritte:
Schritt 1. Forken Sie das Repository
Schritt 2. Legen Sie die GitHub Action Secrets fest:
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
Schritt 3. Wählen Sie auf der Registerkarte "Repository-Aktionen" das zu deployende Modul aus und führen Sie den Workflow Terraform Apply aus.
Schritt 4. Finden Sie die Anwendungs-URL im Terraform-Output-Abschnitt.
Die manuelle Installation von AWSGoat erfordert die folgenden Schritte:
(Hinweis: Dies erfordert einen Linux-Rechner mit verfügbarer /bin/bash-Shell)
Schritt 1. Klonen Sie das Repository
git clone https://github.com/ine-labs/AWSGoat
Schritt 2. Konfigurieren Sie die AWS-Benutzerkontenanmeldeinformationen
aws configure
Schritt 3. Navigieren Sie in das entsprechende Modulverzeichnis und verwenden Sie Terraform, um AWSGoat bereitzustellen
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
Das erste Modul beinhaltet eine serverlose Blog-Anwendung, die AWS Lambda, S3, API Gateway und DynamoDB nutzt. Es enthält verschiedene Schwachstellen in Webanwendungen und ermöglicht die Ausnutzung fehlkonfigurierter AWS-Ressourcen.
Eskalationspfad:
Das zweite Modul beinhaltet eine interne HR-Payroll-Anwendung, die die AWS ECS-Infrastruktur nutzt. Es enthält verschiedene Schwachstellen in Webanwendungen und ermöglicht die Ausnutzung fehlkonfigurierter AWS-Ressourcen.
Eskalationspfad:
Empfohlener Browser: Google Chrome
Bei der Bereitstellung von AWSGoat erstellte Ressourcen verursachen keine Kosten, wenn sich das AWS-Konto in der kostenlosen Testphase befindet. Bei Erschöpfung/Nichtberechtigung der kostenlosen Testphase fallen jedoch in der Region US-East folgende Kosten an:
Modul 1: $0,0125/Stunde
Modul 2: $0,0505/Stunde
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, Software Engineer, INE [email protected]
Die offensiven Handbücher sind im Verzeichnis attack-manuals und die defensiven Handbücher im Verzeichnis defence-manuals verfügbar.
Exploitationsvideos zu Modul 1: https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
Weitere Details finden Sie in der PDF-Datei "AWSGoat.pdf". Diese Datei enthält den Foliensatz, der für Präsentationen verwendet wird.
Modul 1:
Modul 2:
modules/module-<Number>/src; dieser kann verwendet werden, um den vorhandenen Anwendungscode zu ändern.Dieses Programm ist freie Software: Sie können es unter den Bedingungen der MIT-Lizenz weiterverbreiten und/oder modifizieren.
Sie sollten eine Kopie der MIT-Lizenz zusammen mit diesem Programm erhalten haben. Falls nicht, siehe https://opensource.org/licenses/MIT.