
GCPGoat : Eine absichtlich verwundbare GCP-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 gefährden kann. Da die Cloud relativ neu ist, sind sich viele Entwickler der Bedrohungslandschaft nicht vollständig bewusst und stellen letztendlich eine verwundbare Cloud-Infrastruktur bereit.
GCPGoat ist eine absichtlich verwundbare Infrastruktur auf GCP, die die neuesten OWASP Top 10 Webanwendungssicherheitsrisiken (2021) und andere Fehlkonfigurationen basierend auf Diensten wie IAM, Storage Bucket, Cloud Functions und Compute Engine beinhaltet. GCPGoat ahmt reale Infrastrukturen nach, jedoch mit zusätzlichen Schwachstellen. Es bietet mehrere Eskalationspfade und ist auf einen Black-Box-Ansatz ausgerichtet.
GCPGoat verwendet IaC (Terraform), um die verwundbare Cloud-Infrastruktur auf dem GCP-Konto des Benutzers bereitzustellen. Dies gibt dem Benutzer die vollständige Kontrolle über Code, Infrastruktur und Umgebung. Mit GCPGoat kann der Benutzer Folgendes lernen/üben:
Das Projekt wird in Module unterteilt, und jedes Modul wird eine separate Webanwendung sein, die auf verschiedenen Technologie-Stacks und Entwicklungspraktiken basiert. Es nutzt IaC durch Terraform, um den Bereitstellungsprozess zu vereinfachen.
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.
Die manuelle Installation von GCPGoat erfordert die folgenden Schritte:
(Hinweis: Dies erfordert eine Linux-Maschine mit verfügbarer /bin/bash-Shell)
Schritt 1. Repository klonen
git clone https://github.com/ine-labs/GCPGoat
Schritt 2. Konfigurieren der GCP-Benutzerkontenanmeldeinformationen mit der gcloud CLI
gcloud auth application-default login
Schritt 3. Fügen Sie den Namen des Abrechnungskontos in die Datei main.tf ein
data "google_billing_account" "acct" {
display_name = "<Ihr Abrechnungskontoname>"
}
Schritt 4. Verwenden Sie im selben Arbeitsverzeichnis Terraform, um GCPGoat bereitzustellen.
terraform init
terraform apply --auto-approve
Das erste Modul enthält eine serverlose Blog-Anwendung, die Cloud Functions, Cloud Storage Buckets, Compute Engine und Firestore nutzt. Es besteht aus verschiedenen Webanwendungsschwachstellen und ermöglicht die Ausnutzung von fehlkonfigurierten GCP-Ressourcen.
Eskalationspfad:
Empfohlener Browser: Google Chrome
Die durch die Bereitstellung von GCPGoat erstellten Ressourcen verursachen keine Kosten, wenn das GCP-Konto unter der kostenlosen Testversion/testversion liegt. Nach Erschöpfung/Nichtberechtigung der kostenlosen Testversion/ Testzeitraums fallen jedoch die folgenden Gebühren für die Region US-East an:
Modul 1: 0,03 $/Stunde
Nishant Sharma, Director, Lab Platform, INE [email protected]
Jeswin Mathai, Chief Architect, Lab Platform, INE [email protected]
Sherin Stephen, Software Engineer (Cloud), INE [email protected]
Divya Nain, Software Engineer (Cloud), INE [email protected]
Rishappreet Singh Moon, Software Engineer (Cloud), INE [email protected]
Litesh Ghute, Software Engineer (Cloud), INE [email protected]
Sanjeev Mahunta, Software Engineer (Cloud), INE [email protected]
Die Offensiv-Handbücher sind im Verzeichnis attack-manuals verfügbar, und die Defensiv-Handbücher im Verzeichnis defence-manuals.
Modul 1:
modules/module-<Nummer>/src; dies 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 zusammen mit diesem Programm eine Kopie der MIT-Lizenz erhalten haben. Falls nicht, siehe https://opensource.org/licenses/MIT.