
GCPGoat : Un'infrastruttura GCP dannatamente vulnerabile
Compromettere l'infrastruttura cloud di un'organizzazione è come sedersi su una miniera d'oro per gli attaccanti. E a volte, una semplice configurazione errata o una vulnerabilità nelle applicazioni web è tutto ciò di cui un attaccante ha bisogno per compromettere l'intera infrastruttura. Poiché il cloud è relativamente nuovo, molti sviluppatori non sono pienamente consapevoli del panorama delle minacce e finiscono per distribuire un'infrastruttura cloud vulnerabile.
GCPGoat è un'infrastruttura vulnerabile by design su GCP, che presenta gli ultimi rischi di sicurezza delle applicazioni web OWASP Top 10 (2021) e altre configurazioni errate basate su servizi come IAM, Storage Bucket, Cloud Functions e Compute Engine. GCPGoat replica un'infrastruttura reale ma con vulnerabilità aggiunte. Presenta molteplici percorsi di escalation ed è focalizzato su un approccio black-box.
GCPGoat utilizza IaC (Terraform) per distribuire l'infrastruttura cloud vulnerabile sull'account GCP dell'utente. Questo dà all'utente il controllo completo sul codice, l'infrastruttura e l'ambiente. Usando GCPGoat, l'utente può imparare/praticare:
Il progetto sarà suddiviso in moduli e ogni modulo sarà un'applicazione web separata, basata su vari stack tecnologici e pratiche di sviluppo. Sfrutterà IaC tramite terraform per semplificare il processo di distribuzione.
Il progetto è pianificato per coprire tutte le vulnerabilità significative, inclusi l'OWASP TOP 10 2021 e le configurazioni errate cloud più comuni. Attualmente, il progetto contiene le seguenti vulnerabilità/configurazioni errate.
L'installazione manuale di GCPGoat richiede di seguire questi passaggi:
(Nota: richiede una macchina Linux, con shell /bin/bash disponibile)
Passaggio 1. Clonare il repository
git clone https://github.com/ine-labs/GCPGoat
Passaggio 2. Configurare le credenziali dell'account utente GCP utilizzando gcloud CLI
gcloud auth application-default login
Passaggio 3. Inserire il nome dell'account di fatturazione nel file main.tf
data "google_billing_account" "acct" {
display_name = "<Your Billing Account Name>"
}
Passaggio 4. Nella stessa directory di lavoro, utilizzare terraform per distribuire GCPGoat.
terraform init
terraform apply --auto-approve
Il primo modulo presenta un'applicazione blog serverless che utilizza Cloud Functions, Cloud Storage Bucket, Compute Engine e Firestore. Consiste in varie vulnerabilità delle applicazioni web e facilita lo sfruttamento di risorse GCP configurate in modo errato.
Percorso di escalation:
Browser consigliato: Google Chrome
Le risorse create con la distribuzione di GCPGoat non comporteranno alcun costo se l'account GCP è sotto il periodo di prova gratuito. Tuttavia, al termine/alla non idoneità del periodo di prova, si applicheranno i seguenti costi per la regione US-East:
Modulo 1: $0,03/ora
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]
I manuali offensivi sono disponibili nella directory attack-manuals e i manuali difensivi nella directory defence-manuals.
Modulo 1:
modules/module-<Numero>/src; può essere utilizzato per modificare il codice dell'applicazione esistente.This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.
You should have received a copy of the MIT License along with this program. If not, see https://opensource.org/licenses/MIT.