
AWSGoat : Un'infrastruttura AWS dannatamente vulnerabile

Compromettere l'infrastruttura cloud di un'organizzazione è come sedersi su una miniera d'oro per gli aggressori. 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.
AWSGoat è un'infrastruttura vulnerabile di progettazione su AWS che presenta gli ultimi rischi per la sicurezza delle applicazioni web OWASP Top 10 (2021) e altre configurazioni errate basate su servizi come IAM, S3, API Gateway, Lambda, EC2 e ECS. AWSGoat replica un'infrastruttura reale ma con vulnerabilità aggiunte. Presenta molteplici percorsi di escalation ed è focalizzato su un approccio black-box.
AWSGoat utilizza IaC (Terraform) per distribuire l'infrastruttura cloud vulnerabile sull'account AWS dell'utente. Questo dà all'utente il controllo completo su codice, infrastruttura e ambiente. Usando AWSGoat, 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 e GitHub Actions per semplificare il processo di distribuzione.
Presentato a
Il progetto è programmato per includere tutte le vulnerabilità significative, tra cui OWASP TOP 10 2021 e le configurazioni errate cloud più comuni. Attualmente, il progetto contiene le seguenti vulnerabilità/configurazioni errate.
Per semplificare il processo di distribuzione, l'utente deve solo fare il fork di questo repo, aggiungere le proprie credenziali dell'account AWS ai segreti di GitHub ed eseguire il workflow Terraform Apply. Questo workflow distribuirà l'intera infrastruttura e restituirà l'URL dell'applicazione ospitata.
Ecco i passaggi da seguire:
Passo 1. Fai il fork del repo
Passo 2. Imposta i segreti delle azioni GitHub:
AWS_ACCESS_KEY
AWS_SECRET_ACCESS_KEY
Passo 3. Dalla scheda delle azioni del repository, seleziona il modulo da distribuire ed esegui il workflow Terraform Apply.
Passo 4. Trova l'URL dell'applicazione nella sezione di output di Terraform.
L'installazione manuale di AWSGoat richiede di seguire questi passaggi:
(Nota: Richiede una macchina Linux, con la shell /bin/bash disponibile)
Passo 1. Clona il repo
git clone https://github.com/ine-labs/AWSGoat
Passo 2. Configura le credenziali dell'account utente AWS
aws configure
Passo 3. Spostati nella directory del rispettivo modulo e usa terraform per distribuire AWSGoat
cd modules/module-<Number>
terraform init
terraform apply --auto-approve
Il primo modulo presenta un'applicazione blog serverless che utilizza AWS Lambda, S3, API Gateway e DynamoDB. Consiste di varie vulnerabilità delle applicazioni web e facilita lo sfruttamento di risorse AWS configurate erroneamente.
Percorso di escalation:
Il secondo modulo presenta un'applicazione interna per le buste paga HR, che utilizza l'infrastruttura AWS ECS. Consiste di varie vulnerabilità delle applicazioni web e facilita lo sfruttamento di risorse AWS configurate erroneamente.
Percorso di escalation:
Browser consigliato: Google Chrome
Le risorse create con la distribuzione di AWSGoat non comporteranno costi se l'account AWS è in periodo gratuito/trial. Tuttavia, dopo l'esaurimento/non idoneità del periodo gratuito/trial, verranno applicati i seguenti costi per la regione US-East:
Modulo 1: $0,0125/ora
Modulo 2: $0,0505/ora
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]
I manuali offensivi sono disponibili nella directory attack-manuals, e i manuali difensivi nella directory defence-manuals.
Video di sfruttamento del Modulo 1: https://www.youtube.com/playlist?list=PLcIpBb4raSZEMosUmY8KpxPWtjKRMSmNx
Per maggiori dettagli, fare riferimento al file PDF "AWSGoat.pdf". Questo file contiene la presentazione utilizzata per le presentazioni.
Modulo 1:
Modulo 2:
modules/module-<Number>/src e può essere utilizzato per modificare il codice dell'applicazione esistente.Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della licenza MIT.
Dovresti aver ricevuto una copia della licenza MIT insieme a questo programma. In caso contrario, consulta https://opensource.org/licenses/MIT.